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

下載本文檔

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

文檔簡介

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

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

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

4、內(nèi)容作為參賽學(xué)生應(yīng)該掌握的內(nèi)容之一。 你們慢慢體會吧 數(shù)字系統(tǒng)EDA技術(shù)發(fā)展概述 電子設(shè)計自動化(Electronics Design Automation, EDA)技術(shù)是一門迅速發(fā)展的新技術(shù)。 EDA設(shè)計就是在計算機上通過特定功能的軟件開發(fā)工具,協(xié)助設(shè)計人員以全自動或半自動化方式完成所要求電子系統(tǒng)的設(shè)計。 數(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è)計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達方式,以計算機、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

23、1 m2=x & y1 10 如果關(guān)心輸出為1的行,可以發(fā)現(xiàn)當(dāng)m1或者m2為真時,輸出z為真。因此,可以寫z,通過簡單的OR上最小項(這些最小項輸出為1)。 輸出z可以表示為: z=m1|m2=(x&y) | (x&y) SOP表達式 POS表達式 現(xiàn)在關(guān)注的不是真值表輸出為1的行,而是關(guān)注的是真值表輸出為0的行。如圖1.4所示。 POS表達式 注意在這種情況下z是非NOT最小項 m0和非最小項m3,從前面的最小項的定義,使用德摩根De Morgan定理,得到: NOT m0=m0=(x & y)=(x|y)=x|y 稱NOT m0為最大項M0。 POS表達式x y最小項最大項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表達式為: z=M0 & M3=(x | y) & ( x | y)POS表達式傳統(tǒng)數(shù)字系統(tǒng)設(shè)計流程 傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計基于傳統(tǒng)的“人工”方式完成,當(dāng)設(shè)計目標(biāo)給定后,給出設(shè)計目標(biāo)的真值表描述,然后使用卡諾圖對真值表進行化簡,得到最小的表達式,然后使用TTL的LSI電路實現(xiàn)最小的表達式,最后使用調(diào)試工具和儀器,對系統(tǒng)進行調(diào)試。 傳統(tǒng)數(shù)字系統(tǒng)設(shè)計流程 下面將通過一個例子來說明這個傳統(tǒng)的設(shè)計過程。 1)設(shè)計目標(biāo):在一個共陽極的7段數(shù)碼管上顯示相對應(yīng)的0-F的值

25、。 2)設(shè)計目標(biāo)的真值表描述:圖1.2首先給出了七段數(shù)碼管的符號表示,當(dāng)其是共陽極時,只有相應(yīng)的段給低電平0時,該段亮,否則滅。傳統(tǒng)數(shù)字系統(tǒng)設(shè)計流程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è)計流程 3)使用卡諾圖對真值表進行化簡,圖 1.3給出對于7段數(shù)碼管e段的卡諾圖化 簡過程。 得到e段的最簡單的邏輯表達式:e=x3& x0 | x3&x2&x1 | x2&x1&x0。 按照步驟3的過程分別得到a,b,c,d,f,g的最簡邏輯表達式,這些最簡表達式使用積之和(Sum of Produ

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論