EDA原理 第1章-數(shù)字系統(tǒng)EDA設(shè)計(jì)概論_第1頁(yè)
EDA原理 第1章-數(shù)字系統(tǒng)EDA設(shè)計(jì)概論_第2頁(yè)
EDA原理 第1章-數(shù)字系統(tǒng)EDA設(shè)計(jì)概論_第3頁(yè)
EDA原理 第1章-數(shù)字系統(tǒng)EDA設(shè)計(jì)概論_第4頁(yè)
EDA原理 第1章-數(shù)字系統(tǒng)EDA設(shè)計(jì)概論_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、EDA原理及VHDL實(shí)現(xiàn)(該課程為校級(jí)精品課程)何賓2011.09課程內(nèi)容第1章 數(shù)字系統(tǒng)EDA設(shè)計(jì)概論第2章 可編程邏輯器件設(shè)計(jì)方法第3章 VHDL語(yǔ)言基礎(chǔ)第4章 數(shù)字邏輯單元設(shè)計(jì)第5章 數(shù)字系統(tǒng)高級(jí)設(shè)計(jì)技術(shù)(*)第6章 基于HDL設(shè)計(jì)輸入第7章 基于原理圖設(shè)計(jì)輸入第8章 設(shè)計(jì)綜合和行為仿真第9章 設(shè)計(jì)實(shí)現(xiàn)和時(shí)序仿真課程內(nèi)容第10章 設(shè)計(jì)下載和調(diào)試第11章 數(shù)字時(shí)鐘設(shè)計(jì)及實(shí)現(xiàn)(*)第12章 通用異步接收發(fā)送器設(shè)計(jì)及實(shí)現(xiàn)(*)第13章 數(shù)字電壓表設(shè)計(jì)及實(shí)現(xiàn)(*)第14章 軟核處理器PicoBlaze原理及應(yīng)用(*)注:帶*的內(nèi)容可根據(jù)課時(shí)的安排選講課程授課時(shí)間安排 該課程計(jì)劃總學(xué)時(shí):56 其中

2、: 理論教授課時(shí):40 實(shí)驗(yàn)課時(shí):16(大約安排實(shí)驗(yàn)6-7個(gè))課程教學(xué)用書 理論教學(xué)參考用書: 1.何賓編著,清華大學(xué)出版社。2011.09。實(shí)驗(yàn)教學(xué)參考用書: 1. 何賓編著,,清華大學(xué)出版社。2009.07 2. 何賓編著,清華大學(xué)出版社 課程網(wǎng)絡(luò)資源: http:/課程所要解決的問(wèn)題? 回憶大二所學(xué)數(shù)字電路課程,還留在你們心中的回憶:煩瑣的卡諾圖的化簡(jiǎn)(令你們和我一樣抓狂) 如果讓你手工化簡(jiǎn)多變量呢?估計(jì)你要崩潰想想在做電子課程設(shè)計(jì)中,你們要花大量的時(shí)間和精力把區(qū)區(qū)幾個(gè)74LSXX的門電路,用大量的導(dǎo)線連接在一起。這個(gè)過(guò)程估計(jì)你們誰(shuí)也頭疼。你們也一定也知道在你們教科書的末尾好象提到了一個(gè)

3、稱為硬件描述語(yǔ)言HDL的東西。老師沒(méi)講,忽略了,為什么啊?(這門課將要揭密)課程所要解決的問(wèn)題? 當(dāng)你們經(jīng)歷了以上的痛苦后,不知道你們想過(guò)下面的問(wèn)題沒(méi)有?能不能讓計(jì)算機(jī)幫助化簡(jiǎn)卡諾圖?而且是多個(gè) 變量? 能不能用一種芯片實(shí)現(xiàn)多個(gè)分離小規(guī)模數(shù)字IC的功能,并且在芯片內(nèi)部將這些功能連接?設(shè)計(jì)數(shù)字系統(tǒng)能不能象C語(yǔ)言那樣,只關(guān)心“如何描述”一個(gè)數(shù)字系統(tǒng),而不是“如何具體實(shí)現(xiàn)”數(shù)字系統(tǒng)。課程的重要性 該課程的學(xué)習(xí)對(duì)后續(xù)多門課程的學(xué)習(xí)起著重要的作用,比如微機(jī)原理、單片機(jī)、數(shù)字信號(hào)處理 、通信原理等和“數(shù)字”0和1有關(guān)課程。 該課程是從事電子系統(tǒng)設(shè)計(jì)相關(guān)專業(yè)學(xué)生必須掌握的內(nèi)容。 大學(xué)生電子設(shè)計(jì)競(jìng)賽也把該課程

4、內(nèi)容作為參賽學(xué)生應(yīng)該掌握的內(nèi)容之一。 你們慢慢體會(huì)吧 數(shù)字系統(tǒng)EDA技術(shù)發(fā)展概述 電子設(shè)計(jì)自動(dòng)化(Electronics Design Automation, EDA)技術(shù)是一門迅速發(fā)展的新技術(shù)。 EDA設(shè)計(jì)就是在計(jì)算機(jī)上通過(guò)特定功能的軟件開(kāi)發(fā)工具,協(xié)助設(shè)計(jì)人員以全自動(dòng)或半自動(dòng)化方式完成所要求電子系統(tǒng)的設(shè)計(jì)。 數(shù)字系統(tǒng)EDA技術(shù)發(fā)展概述 EDA技術(shù)所涉及的領(lǐng)域相當(dāng)廣泛,業(yè)界一般將EDA技術(shù)分成: 狹義EDA技術(shù) 廣義EDA技術(shù)數(shù)字系統(tǒng)EDA技術(shù)發(fā)展概述 狹義EDA技術(shù),就是指以大規(guī)??删幊踢壿嬈骷樵O(shè)計(jì)載體,以硬件描述語(yǔ)言為系統(tǒng)邏輯描述的主要表達(dá)方式,以計(jì)算機(jī)、大規(guī)模可編程邏輯器件的開(kāi)發(fā)軟件及

5、實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)為設(shè)計(jì)工具,通過(guò)有關(guān)的開(kāi)發(fā)軟件,自動(dòng)完成用軟件方式設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的: 邏輯編譯、邏輯化簡(jiǎn)、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射、編程下載等工作 最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù),或稱為IES/ASIC自動(dòng)設(shè)計(jì)技術(shù)。 數(shù)字系統(tǒng)EDA技術(shù)發(fā)展概述 廣義EDA技術(shù),是通過(guò)計(jì)算機(jī)及其電子系統(tǒng)的輔助分析和設(shè)計(jì)軟件,完成電子系統(tǒng)某一部分的設(shè)計(jì)過(guò)程。因此,廣義EDA技術(shù)除了包含狹義的EDA技術(shù)外,還包括:計(jì)算機(jī)輔助分析CAA技術(shù)(如PSPICE,EWB,MATLAB等),印刷電路板計(jì)算機(jī)輔助設(shè)計(jì)PCB-CAD技術(shù)(如P

6、ROTEL,ORCAD等)其它高頻和射頻設(shè)計(jì)和分析的工具等 數(shù)字系統(tǒng)設(shè)計(jì)技術(shù)發(fā)展歷史 在過(guò)去的60年中,數(shù)字邏輯改變了整個(gè)世界,整個(gè)世界朝著數(shù)字化方向發(fā)展。今天我們所熟悉的計(jì)算機(jī)在第二次世界大戰(zhàn)后才出現(xiàn)在人類世界中。 表1.1給出了在計(jì)算機(jī)和數(shù)字邏輯發(fā)展歷史上的重大事件。 從該表可以看出數(shù)字邏輯設(shè)計(jì)技術(shù)經(jīng)過(guò)了近400年的逐步進(jìn)化的過(guò)程。數(shù)字系統(tǒng)設(shè)計(jì)技術(shù)發(fā)展歷史年代事件公元前3000年巴比倫王國(guó)開(kāi)發(fā)了算盤。這個(gè)裝置,它使用的線(棍子)上的一列珠子表示數(shù)字,今天仍然在遠(yuǎn)東地區(qū)的一些地方使用,用于執(zhí)行計(jì)算。1614-1617John Napier,蘇格蘭數(shù)學(xué)家,發(fā)明了對(duì)數(shù),允許通過(guò)加來(lái)進(jìn)行乘法和減進(jìn)

7、行除法。他發(fā)明了棒子或者數(shù)支,這樣可以通過(guò)一種特殊的方法移動(dòng)棍子來(lái)實(shí)現(xiàn)對(duì)大數(shù)的乘或者除。1623Wilhelm Schickard,德國(guó)教授,發(fā)明了第一個(gè)機(jī)械式計(jì)算器,稱為“計(jì)算鐘”。1630William Oughtred,英國(guó)數(shù)學(xué)家和牧師,發(fā)明了計(jì)算尺。1642-1644Blaise Pascal, 法國(guó)數(shù)學(xué)家,物理學(xué)家和宗教哲學(xué)家,發(fā)明了第一個(gè)機(jī)械計(jì)算器Pascaline.1672-1674Gottfried Wilhelm Von Leibniz,德國(guó)數(shù)學(xué)家,外交官,歷史學(xué)家,法學(xué)家和微分的發(fā)明家,發(fā)明了一個(gè)稱為步進(jìn)式計(jì)算器的機(jī)械計(jì)算器。計(jì)算器有一個(gè)獨(dú)一的齒輪-萊布尼茨輪,用于機(jī)械式的

8、乘法器。盡管沒(méi)有使用這個(gè)計(jì)算器,但是該設(shè)計(jì)對(duì)未來(lái)的機(jī)械式計(jì)算器的發(fā)展產(chǎn)生了深遠(yuǎn)的影響。1823-1839 Charles Babbage,英國(guó)數(shù)學(xué)家和發(fā)明家,開(kāi)始在他的差分機(jī)上工作,該機(jī)器設(shè)計(jì)用于自動(dòng)的處理對(duì)數(shù)計(jì)算。由于有大量來(lái)自政府的工作和資金,沒(méi)有完成差分機(jī)。1834年,Babbage開(kāi)始在一個(gè)功能更強(qiáng)的機(jī)器上工作,稱為分析機(jī),它被稱為第一個(gè)通用計(jì)算機(jī)。在這個(gè)時(shí)間前的100年,所要求的精確的機(jī)械齒輪,不能在時(shí)間上準(zhǔn)確的產(chǎn)生,因此沒(méi)有工作。所以,Babbage被認(rèn)為是“計(jì)算機(jī)之父”。數(shù)字系統(tǒng)設(shè)計(jì)技術(shù)發(fā)展歷史1854George Boole,英國(guó)邏輯學(xué)家和數(shù)學(xué)家,出版了,給出了邏輯的數(shù)學(xué)基礎(chǔ)。

9、1890Herman Hollerith,美國(guó)發(fā)明家,使用打孔卡片制表用于1890年的普查。1896年,他成立了打卡機(jī)公司,最終于1924年演變成了IBM公司。1906Lee De Forest,美國(guó)物理學(xué)家,發(fā)明了三極管(3個(gè)電極真空管)。直到1940年前,這些管子沒(méi)有用于計(jì)算機(jī)中。1936Alan M. Turing,英國(guó)邏輯學(xué)家,發(fā)表了一篇論文On Computable Numbers,說(shuō)明任意的計(jì)算都可以使用有限狀態(tài)機(jī)實(shí)現(xiàn)。Turing 在第二次世界大戰(zhàn)后的,英國(guó)早期的計(jì)算機(jī)研制中扮演了重要的角色。1937George Stibitz,貝爾電話實(shí)驗(yàn)室的一個(gè)物理學(xué)家,使用繼電器建立了二進(jìn)

10、制電路,能進(jìn)行加、減、乘和除。1938Konrad Zuse ,德國(guó)工程師,構(gòu)建了Z1-第一個(gè)二進(jìn)制計(jì)算機(jī)器。1941年,完成了Z3-通用的電子機(jī)械式計(jì)算機(jī)器。1938Claude Shannon,基于他在MIT的碩士論文,發(fā)表了A Symbolic Analysis of Relay and Switching Circuits,在該著作中,他說(shuō)明了符號(hào)邏輯和二進(jìn)制數(shù)學(xué)如何應(yīng)用到繼電器電路中。1942John V. Atanasoff , 愛(ài)荷華州立大學(xué)教授,完成了一個(gè)簡(jiǎn)單的電子計(jì)算機(jī)器。1943IBM-Harvard Mark I-一個(gè)大的可運(yùn)行的電子機(jī)械式計(jì)算器。1944-1945J.P

11、resper Eckert和John W.Mauchly,在賓夕法尼亞大學(xué)的電氣工程摩爾學(xué)院,設(shè)計(jì)和建立了EMIAC。它是首個(gè)全功能的電子電子計(jì)算器。數(shù)字系統(tǒng)設(shè)計(jì)技術(shù)發(fā)展歷史1946John von Neumann,ENIAC項(xiàng)目的顧問(wèn),在該工程后,寫了一個(gè)很有影響力的報(bào)告,之后,在普林斯頓高等研究院開(kāi)始他自己的計(jì)算機(jī)項(xiàng)目。1947Walter Brattain , John Bardeen和William Schockley在貝爾實(shí)驗(yàn)室發(fā)明了晶體管。1948在英國(guó),在Manchester Mark I電子計(jì)算機(jī)上運(yùn)行第一個(gè)存儲(chǔ)程序。1951發(fā)布-第一個(gè)商業(yè)制造的計(jì)算機(jī),F(xiàn)erranti Ma

12、rk I和UNIVAC。1953IBM發(fā)布了一個(gè)電子計(jì)算機(jī)-701。1958Kack kilby,德州儀器公司的一名工程師,建立一個(gè)可移相的振蕩器,作為第一個(gè)集成電路(Integrated Circuit, IC)。1959Robert Noyce, 1958年所建立的仙童半導(dǎo)體公司聯(lián)合創(chuàng)始人,生產(chǎn)了第一個(gè)集成電路平面工藝。這導(dǎo)致實(shí)際大規(guī)模的生產(chǎn)可靠的集成電路。1968年,Noyce成立了Intel公司。1963數(shù)字設(shè)備公司DEC生產(chǎn)了首個(gè)小型計(jì)算機(jī)。1964IBM生產(chǎn)了System/360系列電腦主機(jī)。數(shù)字系統(tǒng)設(shè)計(jì)技術(shù)發(fā)展歷史1965 在電子雜志上,Gordon Moore預(yù)測(cè)一個(gè)集成芯片上

13、的元件數(shù)量在每一年翻一倍。這就是著名的“摩爾定律”。在1975年,修改該定律,每?jī)赡攴槐丁?969IBM的研究人員開(kāi)發(fā)了第一個(gè)片上可編程邏輯陣列(Programmable logic array, PLA)。1971Marcian E. Hoff, Jr.,Intel公司的工程師,發(fā)明了第一個(gè)微處理器。1975Intersil生產(chǎn)了第一片現(xiàn)場(chǎng)可編程邏輯陣列(Field Programmable logic array, FPLA)。1978單片存儲(chǔ)器引入了可編程陣列邏輯(Programmable Array Logic,PLA)。1981IBM個(gè)人電腦誕生。美國(guó)國(guó)防部開(kāi)始開(kāi)發(fā)VHDL。VHD

14、L中的V表示VHSIC(Very High Speed Integrated Circuit,超高速集成電路),HDL代表(Hardware Description Language, HDL).1983Intermetric,IBM和TI授權(quán)開(kāi)發(fā)VHDL。1984Xilinx成立,并發(fā)明了現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array, FPGA)。Gateway設(shè)計(jì)自動(dòng)化公司,引入了硬件描述語(yǔ)言Verilog。1987VHDL成為IEEE標(biāo)準(zhǔn)(IEEE 1076)。1990Cadence Design System收購(gòu)Verilog。 1995Verilog成

15、為IEEE標(biāo)準(zhǔn)。摩爾定律-“統(tǒng)治半導(dǎo)體世界的法則” 在1965年戈登.摩爾給出了世界上著名的“摩爾定律”,并且于1975年進(jìn)行了修正,在過(guò)去的35年以來(lái),被證明是非常正確的。 該定律的內(nèi)容是:集成電路上可容納的晶體管數(shù)目,約每隔18個(gè)月便會(huì)增加一倍,性能也將提升一倍,當(dāng)價(jià)格不變時(shí);或者說(shuō),每一美元所能買到的電腦性能,將每隔18個(gè)月翻兩倍以上。這一定律成為半導(dǎo)體工藝不斷發(fā)展的指南。 摩爾定律-“統(tǒng)治半導(dǎo)體世界的法則”圖1.1 摩爾定律與集成電路的發(fā)展趨勢(shì)數(shù)字系統(tǒng)設(shè)計(jì)技術(shù)發(fā)展歷史 今天你們每個(gè)人都離不開(kāi)一樣?xùn)|西-“電腦”,也就是“微處理器”,但是以后在坐的各位,你們會(huì)發(fā)現(xiàn)你們也離不開(kāi)另一樣?xùn)|西-“

16、可編程邏輯器件”,我這門課程所介紹的東西。 你們也一定很好奇,別著急,聽(tīng)我后面慢慢介紹。現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)發(fā)展階段 現(xiàn)在數(shù)字系統(tǒng)設(shè)計(jì)的發(fā)展是隨著計(jì)算機(jī)的出現(xiàn)、集成電路制造水平和電子系統(tǒng)設(shè)計(jì)方法的發(fā)展而不斷發(fā)展的,主要經(jīng)歷了:計(jì)算機(jī)輔助設(shè)計(jì)(CAD,Computer Assist Design)計(jì)算機(jī)輔助工程設(shè)計(jì)(CAE,Computer Assist Engineering) 電子設(shè)計(jì)自動(dòng)化(EDA,Electronic Design Automation)這幾個(gè)階段的特點(diǎn)和標(biāo)志是什么?集成電路芯片的發(fā)展歷史集成電路的發(fā)展分為了四個(gè)主要的階段: 1)在上世紀(jì)六十年代早期出現(xiàn)了第一片集成電路,其集

17、成的晶體管數(shù)量少于100個(gè),該集成電路稱為小規(guī)模集成電路(Small-Scale Integrated Circuit, SSI)。 2)在上世紀(jì)六十年代后期出現(xiàn)了中規(guī)模集成電路(Medium-Scale Integrated Circuit, MSI),其集成的晶體管數(shù)量達(dá)到幾百個(gè)。 3)在上世紀(jì)70年代中期,出現(xiàn)了大規(guī)模集成電路(Large-Scale Integrated Circuit, LSI),其集成的晶體管數(shù)量達(dá)到幾千個(gè)。集成電路芯片的發(fā)展歷史 4)在上世紀(jì)80年代早期,出現(xiàn)了超大規(guī)模集成電路(Very-large-scale-integrated, VLSI),其集成的晶體管的

18、數(shù)量超過(guò)了100,000個(gè)。 到上世紀(jì)80年代后期,集成的晶體管數(shù)量超過(guò)了1,000,000個(gè)。 到上世紀(jì)90年代,集成的晶體管數(shù)量超過(guò)了10,000,000, 而到了2004年,這一數(shù)量已經(jīng)超過(guò)了100,000,000個(gè)?,F(xiàn)在這一數(shù)量突破1,000,000,000個(gè)??删幊踢壿嬈骷陌l(fā)展歷史 1第1階段 上世紀(jì)70年代,可編程器件只有簡(jiǎn)單的可編程只讀存儲(chǔ)器(PROM)、紫外線可擦除只讀存儲(chǔ)器(EPROM)和電可擦只讀存儲(chǔ)器(EEPROM)3種,由于結(jié)構(gòu)的限制,它們只能完成簡(jiǎn)單的數(shù)字邏輯功能??删幊踢壿嬈骷陌l(fā)展歷史 2第2階段 上世紀(jì)80年代,出現(xiàn)了結(jié)構(gòu)上稍微復(fù)雜的可編程陣列邏輯(PAL)和

19、通用陣列邏輯(GAL)器件,正式被稱為PLD,能夠完成各種邏輯運(yùn)算功能。 可編程邏輯器件的發(fā)展歷史 3第3階段 上世紀(jì)90年代,Xilinx和Altera分別推出了與標(biāo)準(zhǔn)門陣列類似的FPGA和類似于PAL結(jié)構(gòu)的擴(kuò)展性CPLD。 4.第4階段 本世紀(jì)初,在該階段出現(xiàn)了SOPC技術(shù),是PLD和ASIC技術(shù)融合的結(jié)果??删幊踢壿嬈骷S商也提供了SOPC解決方案。 典型的,Xilinx和Altera也推出了相應(yīng)SOPC FPGA產(chǎn)品,制造工藝達(dá)到65nm/40nm/28nm工藝水平,系統(tǒng)門數(shù)也超過(guò)百萬(wàn)門。 數(shù)字系統(tǒng)設(shè)計(jì)方法概論 傳統(tǒng)的數(shù)字系統(tǒng)的設(shè)計(jì)方法是畫出邏輯圖,這個(gè)圖包含SSI的門和MSI的邏輯功

20、能,然后人工通過(guò)真值表和通過(guò)卡諾圖進(jìn)行化簡(jiǎn),得到最小的表達(dá)式,然后在基于TTL的LSI芯片上實(shí)現(xiàn)數(shù)字邏輯的功能。數(shù)字系統(tǒng)設(shè)計(jì)方法概論 然而從圖1.1可以看出,到了上世紀(jì)80年代后期和90年代早期,這種設(shè)計(jì)方法遭遇了阻力。為什么呢? 問(wèn)題就是如何能畫一個(gè)原理圖,這個(gè)原理圖包含成千上萬(wàn)個(gè)門。正如在新的設(shè)計(jì)中可編程邏輯設(shè)備取代TTL芯片那樣,需要一種新的設(shè)計(jì)方法來(lái)設(shè)計(jì)數(shù)字電路。 今天,計(jì)算機(jī)輔助設(shè)計(jì)工具(Computer-aided Tools, CAD),也稱為EDA工具在當(dāng)今的數(shù)字電路設(shè)計(jì)中是必須的。 數(shù)字系統(tǒng)設(shè)計(jì)方法概論 在過(guò)去數(shù)十年越來(lái)越清楚的表明,今天的數(shù)字系統(tǒng)的設(shè)計(jì)人員是通過(guò)寫軟件來(lái)設(shè)計(jì)

21、數(shù)字電路的。這是最重要的例子,說(shuō)明了從傳統(tǒng)數(shù)字系統(tǒng)設(shè)計(jì)方法向現(xiàn)代的基于EDA工具的設(shè)計(jì)方法的轉(zhuǎn)變。數(shù)字系統(tǒng)設(shè)計(jì)方法概論 今天的數(shù)字系統(tǒng)設(shè)計(jì)工程師使用硬件描述語(yǔ)言(Hardware Description Language, HDL)來(lái)設(shè)計(jì)數(shù)字系統(tǒng)。 最廣泛使用的HDL語(yǔ)言是VHDL和Verilog HDL。這些語(yǔ)言允許設(shè)計(jì)人員通過(guò)寫程序描述邏輯電路的行為來(lái)設(shè)計(jì)數(shù)字系統(tǒng)。 程序能用來(lái)仿真電路的操作和在CPLD、FPGA或者專用集成電路ASIC上綜合出一個(gè)真正的實(shí)現(xiàn)。SOP和POS表達(dá)式 術(shù)語(yǔ)“乘積”和“和”來(lái)自數(shù)學(xué),用來(lái)描述與(AND)和或(OR)邏輯操作。 “乘積”定義為多個(gè)變量之間的AND關(guān)

22、系。 “和”定義為任意數(shù)量邏輯變量的OR關(guān)系。 任何邏輯系統(tǒng)能用兩種邏輯等效的方法表示,即積之和(Sum of Product, SOP)形式和和之積(Product of Sum, POS)形式。 SOP表達(dá)式 對(duì)于真值表的每一列,能生成一個(gè)乘積項(xiàng),稱為最小項(xiàng)。 最小項(xiàng)通過(guò)對(duì)輸入變量相關(guān)的值“相與”AND得到。如果真值表特定的一行的變量值為1,則包含變量的名字,比如x。如果真值表特定的一行的變量值為0,則包含變量名字的取反,比如x SOP表達(dá)式 x y最小項(xiàng)0 0m0=x&y0 1m1=x&y1 0m2=x&y1 1m3=x&y SOP表達(dá)式 x yz0 000 11 m1=x & y1 0

23、1 m2=x & y1 10 如果關(guān)心輸出為1的行,可以發(fā)現(xiàn)當(dāng)m1或者m2為真時(shí),輸出z為真。因此,可以寫z,通過(guò)簡(jiǎn)單的OR上最小項(xiàng)(這些最小項(xiàng)輸出為1)。 輸出z可以表示為: z=m1|m2=(x&y) | (x&y) SOP表達(dá)式 POS表達(dá)式 現(xiàn)在關(guān)注的不是真值表輸出為1的行,而是關(guān)注的是真值表輸出為0的行。如圖1.4所示。 POS表達(dá)式 注意在這種情況下z是非NOT最小項(xiàng) m0和非最小項(xiàng)m3,從前面的最小項(xiàng)的定義,使用德摩根De Morgan定理,得到: NOT m0=m0=(x & y)=(x|y)=x|y 稱NOT m0為最大項(xiàng)M0。 POS表達(dá)式x y最小項(xiàng)最大項(xiàng)0 0m0=x&

24、yM0=m0=x|y0 1m1=x&yM1=m1=x|y1 0m2=x&yM2=m2=x|y1 1m3=x&yM3=m3=x|y得到z的POS表達(dá)式為: z=M0 & M3=(x | y) & ( x | y)POS表達(dá)式傳統(tǒng)數(shù)字系統(tǒng)設(shè)計(jì)流程 傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)基于傳統(tǒng)的“人工”方式完成,當(dāng)設(shè)計(jì)目標(biāo)給定后,給出設(shè)計(jì)目標(biāo)的真值表描述,然后使用卡諾圖對(duì)真值表進(jìn)行化簡(jiǎn),得到最小的表達(dá)式,然后使用TTL的LSI電路實(shí)現(xiàn)最小的表達(dá)式,最后使用調(diào)試工具和儀器,對(duì)系統(tǒng)進(jìn)行調(diào)試。 傳統(tǒng)數(shù)字系統(tǒng)設(shè)計(jì)流程 下面將通過(guò)一個(gè)例子來(lái)說(shuō)明這個(gè)傳統(tǒng)的設(shè)計(jì)過(guò)程。 1)設(shè)計(jì)目標(biāo):在一個(gè)共陽(yáng)極的7段數(shù)碼管上顯示相對(duì)應(yīng)的0-F的值

25、。 2)設(shè)計(jì)目標(biāo)的真值表描述:圖1.2首先給出了七段數(shù)碼管的符號(hào)表示,當(dāng)其是共陽(yáng)極時(shí),只有相應(yīng)的段給低電平0時(shí),該段亮,否則滅。傳統(tǒng)數(shù)字系統(tǒng)設(shè)計(jì)流程x3 x2 x1 x0a b c d e f gx3 x2 x1 x0a b c d e f g0 0 0 00 0 0 0 0 0 11 0 0 00 0 0 0 0 0 00 0 0 11 0 0 1 1 1 11 0 0 10 0 0 0 1 0 00 0 1 00 0 1 0 0 1 01 0 1 00 0 0 1 0 0 00 0 1 10 0 0 0 1 1 01 0 1 11 1 0 0 0 0 00 1 0 01 0 0 1 1 0

26、 01 1 0 00 1 1 0 0 0 10 1 0 10 1 0 0 1 0 01 1 0 11 0 0 0 0 1 00 1 1 00 1 0 0 0 0 01 1 1 00 1 1 0 0 0 00 1 1 10 0 0 1 1 1 11 1 1 10 1 1 1 0 0 0傳統(tǒng)數(shù)字系統(tǒng)設(shè)計(jì)流程 3)使用卡諾圖對(duì)真值表進(jìn)行化簡(jiǎn),圖 1.3給出對(duì)于7段數(shù)碼管e段的卡諾圖化 簡(jiǎn)過(guò)程。 得到e段的最簡(jiǎn)單的邏輯表達(dá)式:e=x3& x0 | x3&x2&x1 | x2&x1&x0。 按照步驟3的過(guò)程分別得到a,b,c,d,f,g的最簡(jiǎn)邏輯表達(dá)式,這些最簡(jiǎn)表達(dá)式使用積之和(Sum of Produ

27、ct, SOP)和和之積(Product of Sum, POS)表示。傳統(tǒng)數(shù)字系統(tǒng)設(shè)計(jì)流程 4)使用相應(yīng)的TTL門電路來(lái)實(shí)現(xiàn)各段的最小表達(dá)式。 5)將這些門電路連接到7段數(shù)碼管的各段,并進(jìn)行調(diào)試。傳統(tǒng)數(shù)字系統(tǒng)設(shè)計(jì)流程 從上面的流程可以看出,所有的過(guò)程都需要人工完成,試想對(duì)于一個(gè)包含上百個(gè)邏輯門的多輸入變量的結(jié)構(gòu),根本無(wú)法使用人工化簡(jiǎn)卡諾圖實(shí)現(xiàn)。同時(shí)后續(xù)的電路調(diào)試和設(shè)計(jì)也需要很高的電路布局和布線的技巧,總而言之,這樣的設(shè)計(jì)對(duì)于復(fù)雜數(shù)字系統(tǒng)來(lái)講效率太低了。 我們需要進(jìn)一步考慮的問(wèn)題是,如何使用計(jì)算機(jī)幫助設(shè)計(jì)者簡(jiǎn)化設(shè)計(jì)過(guò)程,自動(dòng)地化簡(jiǎn)卡諾圖,并且在芯片內(nèi)部自動(dòng)實(shí)現(xiàn)布局布線。要實(shí)現(xiàn)這些要求,就必須使

28、用基于可編程邏輯器件的現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)流程。計(jì)算機(jī)最小化技術(shù) 從前面的數(shù)字系統(tǒng)設(shè)計(jì)流程中,可以看出使用卡諾圖很容易在不超過(guò)4個(gè)邏輯變量的布爾函數(shù)中找到最少數(shù)目的乘積項(xiàng)。 然而許多的實(shí)際問(wèn)題是,多于4個(gè)邏輯變量,并且卡諾圖并不能幫助進(jìn)行邏輯表達(dá)式的化簡(jiǎn)。 計(jì)算機(jī)軟件程序能夠幫助對(duì)多于4個(gè)邏輯變量的布爾函數(shù)進(jìn)行簡(jiǎn)化。這些計(jì)算機(jī)方法使用基于表格的技術(shù)。這些方法能自動(dòng)的用機(jī)器進(jìn)行計(jì)算。了解這些方法的工作原理,將提供額外的智慧來(lái)簡(jiǎn)化布爾函數(shù)。 在本節(jié)所介紹的方法叫做“奎因-麥克斯基(Quine-McCluskey)”方法。還有其它算法比這個(gè)算法的化簡(jiǎn)速度更快,但是不能保證生成最優(yōu)化的化簡(jiǎn)。計(jì)算機(jī)最小化技

29、術(shù) -表格表示 以乘積和形式出現(xiàn)的乘積項(xiàng),這個(gè)乘積項(xiàng)用于表示布爾函數(shù),稱之為蘊(yùn)含項(xiàng)。這是由于它暗示,如果任何乘積項(xiàng)為1時(shí),函數(shù)將為1。比如,對(duì)于這個(gè)函數(shù): f=x & y & z | x & z | x & y 其中:x & y & z,x & z和x & y三個(gè)乘積項(xiàng)稱為蘊(yùn)含項(xiàng)。在這種情況下,第一個(gè)乘積項(xiàng)是最小項(xiàng)m5。如果最小項(xiàng)5用二進(jìn)制數(shù)表示為101,這三個(gè)二進(jìn)制數(shù)字分別對(duì)應(yīng)三個(gè)變量xyz(其中1對(duì)應(yīng)的是變量的真值,0()對(duì)應(yīng)的是變量的假值)。這樣101是x & y & z的另一種描述方式。計(jì)算機(jī)最小化技術(shù) -表格表示 如果在一個(gè)乘積項(xiàng)中不包含一些變量時(shí),插入一個(gè)破折號(hào)“-”表示該變量,比

30、如對(duì)于x & z表示為0-0,x & y表示為01-。 因此稱這這些為表格表示或者表格形式的乘積項(xiàng)。 計(jì)算機(jī)最小化技術(shù) -表格表示 下面例子對(duì)圖1.4的卡羅圖用表格表示。該例子中在4個(gè)圈起來(lái)輸出為1的每個(gè)乘積項(xiàng)使用了表格進(jìn)行表示。這樣很容易對(duì)每個(gè)圈起來(lái)的集合的卡羅圖符號(hào)得到表格的表示。表格中最開(kāi)始的兩位是行標(biāo)號(hào),后兩位是列標(biāo)號(hào)。如果圈起來(lái)的集合覆蓋一個(gè)特殊位位置的0和1,該位位置變成-。 計(jì)算機(jī)最小化技術(shù) -表格表示 通過(guò)擴(kuò)展卡諾圖中所圈1的集合來(lái)產(chǎn)生乘積項(xiàng)是可能的。比如,任意擴(kuò)展它將覆蓋圖中的0,然后產(chǎn)生乘積項(xiàng)或者蘊(yùn)含項(xiàng),叫做本源蘊(yùn)含項(xiàng)。這樣的本源蘊(yùn)含項(xiàng)中不能從乘積項(xiàng)中去除變量,并且暗含著邏

31、輯功能。下面將研究如何通過(guò)計(jì)算機(jī)找到這些本源蘊(yùn)含項(xiàng)的方法。計(jì)算機(jī)最小化技術(shù) -本源蘊(yùn)含項(xiàng) 該圖中包含兩個(gè)本源蘊(yùn)含項(xiàng)x和y & z,其表格表示為1-和-10。下面將給出找到本源蘊(yùn)含項(xiàng)的方法。 計(jì)算機(jī)最小化技術(shù) -本源蘊(yùn)含項(xiàng) 1. 如表1.3所示下面首先列出函數(shù)中所有的最小項(xiàng)。這些最小項(xiàng)以遞增的順序排列。在第一欄中劃了一條線用來(lái)區(qū)分最小項(xiàng)里有1個(gè)1,兩個(gè)1和3個(gè)1 .計(jì)算機(jī)最小化技術(shù) -本源蘊(yùn)含項(xiàng) 下一步將比較第一欄中的每個(gè)最小項(xiàng),方法是每個(gè)最小項(xiàng)和該欄中其它最小項(xiàng)進(jìn)行比較,這個(gè)最小項(xiàng)和其它最小項(xiàng)只相差一個(gè)數(shù)字位。由于以遞增的順序排列最小項(xiàng),因此比較相鄰區(qū)域的最小項(xiàng)(用線分割)。 計(jì)算機(jī)最小化技術(shù)

32、 -本源蘊(yùn)含項(xiàng) 在這個(gè)例子中,所有的找到的本源蘊(yùn)含項(xiàng)用來(lái)產(chǎn)生最小項(xiàng)函數(shù)。但并不總是這種情況。有時(shí)存在冗余的本源蘊(yùn)含項(xiàng),這些蘊(yùn)含項(xiàng)不需要覆蓋函數(shù)中的所有最小項(xiàng)。下面將給出一個(gè)例子來(lái)說(shuō)明不需要使用所有的本源蘊(yùn)含項(xiàng)來(lái)生成最小項(xiàng)函數(shù)。計(jì)算機(jī)最小化技術(shù) -必要的本源蘊(yùn)含項(xiàng) 考慮圖1.6表示的布爾函數(shù)。下面通過(guò)Quine-McCluskey方法來(lái)化簡(jiǎn)這個(gè)函數(shù)。 計(jì)算機(jī)最小化技術(shù) -必要的本源蘊(yùn)含項(xiàng)計(jì)算機(jī)最小化技術(shù) -必要的本源蘊(yùn)含項(xiàng)表1.5 找到必要本源蘊(yùn)含項(xiàng)的步驟計(jì)算機(jī)最小化技術(shù) -必要的本源蘊(yùn)含項(xiàng) 只有那些有一個(gè)X的特殊的蘊(yùn)含項(xiàng),用于作為最終函數(shù)的一部分。稱這些本源蘊(yùn)含項(xiàng)稱為必要的本源蘊(yùn)含項(xiàng)。 注意在

33、表1.5中只有兩個(gè)最小項(xiàng)5和8,只有一個(gè)X。這些X對(duì)應(yīng)于兩個(gè)本源蘊(yùn)含項(xiàng)0-1和-0-0,這兩個(gè)蘊(yùn)含項(xiàng)畫“”,表示其作為必要的本源蘊(yùn)含項(xiàng) . 注意,覆蓋了除14和15外的所有最小項(xiàng),表中清楚表明了,本源蘊(yùn)含項(xiàng)111-將覆蓋最小項(xiàng)14和15,因此將這個(gè)本源蘊(yùn)含項(xiàng)添加到兩個(gè)本源蘊(yùn)含項(xiàng)中,得到最終的簡(jiǎn)化函數(shù)。計(jì)算機(jī)最小化技術(shù) -必要的本源蘊(yùn)含項(xiàng)該最簡(jiǎn)函數(shù)表示為: f=x & z | w & z | w & x & y 現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)流程 如圖1.7所示,其設(shè)計(jì)流程包括:設(shè)計(jì)目標(biāo)、設(shè)計(jì)輸入、功能仿真、綜合優(yōu)化、綜合后仿真、實(shí)現(xiàn)(FPGA設(shè)計(jì))或適配(CPLD設(shè)計(jì))、時(shí)序仿真、設(shè)計(jì)下載和系統(tǒng)調(diào)試與驗(yàn)證等

34、步驟 HDL硬件描述語(yǔ)言概念 硬件描述語(yǔ)言(Hardware Description Language)是硬件設(shè)計(jì)人員和電子設(shè)計(jì)自動(dòng)化(EDA)工具之間的界面,其主要目的是用來(lái)編寫設(shè)計(jì)文件,建立電子系統(tǒng)行為級(jí)的仿真模型。 即利用計(jì)算機(jī)的巨大能力對(duì)Verilog HDL或VHDL建模的復(fù)雜數(shù)字邏輯進(jìn)行仿真,然后再自動(dòng)綜合,生成符合要求且在電路結(jié)構(gòu)上可以實(shí)現(xiàn)的數(shù)字邏輯網(wǎng)表(Netlist),根據(jù)網(wǎng)表和某種工藝的器件自動(dòng)生成具體電路,最后生成該工藝條件下這種具體電路的時(shí)延模型。仿真驗(yàn)證無(wú)誤后,該模型可用于制造ASIC芯片或?qū)懭隒PLD和FPGA器件中。HDL硬件描述語(yǔ)言概念 在HDL語(yǔ)言出現(xiàn)之前,已

35、有了許多程序設(shè)計(jì)語(yǔ)言,如匯編、C、Pascal、Fortran、Prolog等。 它們適合于描述過(guò)程和算法,不適合作硬件描述。 這些高級(jí)語(yǔ)言和HDL語(yǔ)言的一個(gè)最重要的本質(zhì)區(qū)別: C語(yǔ)言是在CPU上運(yùn)行的, CPU的運(yùn)行是靠程序計(jì)數(shù)器推動(dòng)的,當(dāng)然也是串行執(zhí)行的。 HDL語(yǔ)言最終是要在芯片內(nèi)生成數(shù)字電路, 數(shù)字電路的工作是靠信號(hào)流推動(dòng)的, 信號(hào)流是可以并行存在的, 當(dāng)然也是并行執(zhí)行的. 所以, HDL生成的數(shù)字電路工作速度比C代碼快幾十倍甚至上百倍.(移位寄存器的C語(yǔ)言實(shí)現(xiàn)和HDL實(shí)現(xiàn)是最好的例子)HDL硬件描述語(yǔ)言概念 傳統(tǒng)的用原理圖設(shè)計(jì)電路的方法已逐漸消失,取而代之,HDL語(yǔ)言正被人們廣泛接受,出現(xiàn)這種情況有以下幾點(diǎn)原因: (1)電路設(shè)計(jì)將繼續(xù)保持向大規(guī)模和高復(fù)雜度發(fā)展的趨勢(shì)。 (2)電子領(lǐng)域的競(jìng)爭(zhēng)越來(lái)越激烈,剛剛涉入電子

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論