版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
會計學1EDA技術(shù)及應(yīng)用VHDL設(shè)計初步教學目的
通過簡單、完整而典型的VHDL設(shè)計示例,初步了解用VHDL表達和設(shè)計電路的方法。
第1頁/共57頁4.1多路選擇器的VHDL描述2選1多路選擇器的示意圖和真值表absyax0axb1babys01當s=0時,y=a當s=1時,y=b第2頁/共57頁4.1多路選擇器的VHDL描述2.2選1多路選擇器實現(xiàn)-原理圖形輸入法001y=a0a110y=bb0第3頁/共57頁4.1多路選擇器的VHDL描述2.2選1多路選擇器實現(xiàn)-VHDL文本輸入法1實體結(jié)構(gòu)體實體名稱端口名稱流動方向數(shù)據(jù)類型結(jié)構(gòu)體名功能描述第4頁/共57頁4.1多路選擇器的VHDL描述2.2選1多路選擇器實現(xiàn)-VHDL文本輸入法2實體結(jié)構(gòu)體第5頁/共57頁4.1多路選擇器的VHDL描述2.2選1多路選擇器實現(xiàn)-VHDL文本輸入法3實體結(jié)構(gòu)體第6頁/共57頁4.1多路選擇器的VHDL描述3.相關(guān)語句結(jié)構(gòu)和語法-實體表達結(jié)構(gòu)ENTITY、IS、PORT、END都是描述實體的關(guān)鍵詞,不分大寫小寫,但是為了便于閱讀,一般在設(shè)計中將關(guān)鍵詞使用大寫,自定義使用小寫。第7頁/共57頁4.1多路選擇器的VHDL描述3.相關(guān)語句結(jié)構(gòu)和語法-實體名稱實體名表達的是該設(shè)計電路的器件名,通常根據(jù)相應(yīng)電路的功能來確定。不能用數(shù)字或中文、不能與工具庫中已定義的元件名、不能數(shù)字開頭。第8頁/共57頁4.1多路選擇器的VHDL描述3.相關(guān)語句結(jié)構(gòu)和語法-實體名稱舉例mux4174LS04and2adder4bnot4輸入與門第9頁/共57頁4.1多路選擇器的VHDL描述3.相關(guān)語句結(jié)構(gòu)和語法-端口語句和名稱端口以PORT();來引導端口模式有:IN、OUT、INOUT、BUFFER數(shù)據(jù)類型有:BOOLEAN、BIT、INTEGER、CHAR型等第10頁/共57頁4.1多路選擇器的VHDL描述3.相關(guān)語句結(jié)構(gòu)和語法-結(jié)構(gòu)體表達結(jié)構(gòu)ARCHITECTURE、OF、IS、BEGIN、END都是描述結(jié)構(gòu)體的關(guān)鍵詞。功能描述語句:并行語句,順序語句
并行語句:WHEN_ELSE,邏輯操作賦值順序語句:IF_THEN_ELSE功能描述語句第11頁/共57頁4.1多路選擇器的VHDL描述3.相關(guān)語句結(jié)構(gòu)和語法-文件名稱使用VHDL語句編寫:后綴是.vhd使用VerilogHDL語句編寫:后綴是.v使用原理圖輸入設(shè)計:后綴是.gdf文件名稱建議和實體名稱相同第12頁/共57頁4.1多路選擇器的VHDL描述4.思考y=ab+c_思考1:畫出真值表abcyxx110x001b0b_第13頁/共57頁4.1多路選擇器的VHDL描述4.思考y=ab+c_思考2:使用原理圖方式實現(xiàn)上式功能第14頁/共57頁4.1多路選擇器的VHDL描述4.思考y=ab+c_思考3:使用VHDL實現(xiàn)上式功能第15頁/共57頁4.1多路選擇器的VHDL描述5.賦值符號Y<=(aAND(NOTs))or(bANDs)賦值符號第16頁/共57頁4.1多路選擇器的VHDL描述6.各種表達式的比較---布爾邏輯表達式y(tǒng)<=(aAND(NOTs))OR(bANDs)第17頁/共57頁4.1多路選擇器的VHDL描述6.各種表達式的比較---條件賦值表達式y(tǒng)<=aWHENs1=‘0’ELSE b;賦值目標<=表達式WHEN
賦值條件ELSE
表達式WHEN
賦值條件ELSE
表達式WHEN
賦值條件ELSE
表達式;第18頁/共57頁4.1多路選擇器的VHDL描述7.各種表達式的比較---IF_THEN_ELSE表達IF(s=‘0’)THENy<=a;ELSEy<=b;ENDIF;IF
條件表達式THEN
賦值語句;ELSIF
條件表達式THEN
賦值語句;ELSIF
條件表達式THEN
賦值語句;ELSE
條件表達式;ENDIF;第19頁/共57頁4.1多路選擇器的VHDL描述8.小結(jié) 4.1節(jié)中主要通過多路選擇器的實現(xiàn)過程,學習了VHDL描述的基本語言結(jié)構(gòu),以及組合邏輯電路的功能描述方法布爾邏輯表達式WHEN_ELSE條件表達式IF_THEN_ELSE表達式第20頁/共57頁4.2寄存器描述及其VHDL語言1.教學目的
通過D觸發(fā)器的VHDL實現(xiàn)過程,學習時序電路的VHDL描述方法。第21頁/共57頁4.2寄存器描述及其VHDL語言2.D觸發(fā)器的功能描述當CP=0時,觸發(fā)器不工作,處于維持狀態(tài)。
當CP=1時,它的功能如下:
當D=0時,次態(tài)=0,
當D=1時,次態(tài)=1。第22頁/共57頁4.2寄存器描述及其VHDL語言3.VHDL實現(xiàn)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdff1IS PORT( clk:INSTD_LOGIC; d:INSTD_LOGIC; q:OUTSTD_LOGIC );ENDdff1;ARCHITECTUREbhvOFdff1IS SIGNAL q1:STD_LOGIC;BEGINPROCESS(clk,q1)BEGIN IFCLK'EVENTANDCLK='1' THENq1<=d; ENDIF;ENDPROCESS;q<=q1;ENDbhv;引用庫數(shù)據(jù)類型內(nèi)部節(jié)點時鐘條件第23頁/共57頁4.2寄存器描述及其VHDL語言4.VHDL實現(xiàn)---引用庫LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;LIBRARY設(shè)計庫名稱;USE 設(shè)計庫.程序包名.ALL;數(shù)據(jù)類型、函數(shù)等放在設(shè)計庫中和程序包中。因為使用了STD_LOGIC的數(shù)據(jù)類型,而該數(shù)據(jù)類型放置在設(shè)計庫IEEE的STD_LOGIC_1164程序包中,所以在使用前需要先申明。第24頁/共57頁4.2寄存器描述及其VHDL語言4.VHDL實現(xiàn)---數(shù)據(jù)類型PORT(clk:INSTD_LOGIC; d:INSTD_LOGIC; q:OUTSTD_LOGIC);BIT的定義:TYPEBITIS(‘0’,‘1’);STD_LOGIC的定義:TYPESTD_LOGICIS(‘U’,’X’,’0’,’1’,’Z’,’W’,’L’,’H’,’-’)第25頁/共57頁4.2寄存器描述及其VHDL語言4.VHDL實現(xiàn)---信號定義(內(nèi)部節(jié)點)SIGNAL q1:STD_LOGIC;不必定義端口模式(如IN、OUT)目的是為了設(shè)計更大的時序電路qq1X1PORT(clk:INSTD_LOGIC; d:INSTD_LOGIC; q:OUTSTD_LOGIC); q<=q1;第26頁/共57頁4.2寄存器描述及其VHDL語言4.VHDL實現(xiàn)---時鐘表達式IFclk'EVENTANDclk='1‘檢測時鐘信號的上升沿表示clk信號有變化,并且變化后為1第27頁/共57頁4.2寄存器描述及其VHDL語言4.VHDL實現(xiàn)---存儲功能的產(chǎn)生不完整的條件語句實現(xiàn)存儲功能元件如果是完整的條件語句,則只能構(gòu)成邏輯電路IFclk'EVENTANDclk='1' THENq1<=d;ENDIF;第28頁/共57頁4.2寄存器描述及其VHDL語言5.實現(xiàn)時序電路的不同描述IF(clk‘EVENT)AND(clk='1‘)AND (clk’LAST_VALUE=‘0’)IF(clk='1‘)AND(clk’LAST_VALUE=‘0’)IFrising_edge(clk)--STD_LOGIC_1164定義Waituntilclk=‘1’;第29頁/共57頁4.2寄存器描述及其VHDL語言6.同步時序電路和異步時序電路移位寄存器二進制計數(shù)器只需一個時鐘進程需兩個時鐘進程第30頁/共57頁4.2寄存器描述及其VHDL語言6.同步時序電路和異步時序電路PROCESS(clk)BEGIN **********ENDPROCESS;PROCESS(q)BEGIN **********ENDPROCESS;第31頁/共57頁4.31位二進制全加器的VHDL描述1.半加器功能描述全加器可由兩個半加器和一個或門構(gòu)成半加器是最簡單的加法器,把2個1位二進制數(shù)相加,不考慮低位的進位,產(chǎn)生一個2位和,和的低位叫半加和,高位叫半加進位半加器由一個與門,一個或門和一個異或門構(gòu)成第32頁/共57頁4.31位二進制全加器的VHDL描述2.半加器真值表及電路圖abcoso0000010110011110co=aANDbso=aXORb第33頁/共57頁4.31位二進制全加器的VHDL描述3.半加器VHDL描述方法--布爾表達式LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_adderISPORT(a,b:INSTD_LOGIC; co,so:OUTSTD_LOGIC );ENDh_adder;ARCHITECTUREaOFh_adderISBEGIN co<=aANDb; so<=aXORb;ENDa;第34頁/共57頁4.31位二進制全加器的VHDL描述3.半加器VHDL描述方法--真值表表達方式abcoso0000010110011110第35頁/共57頁4.31位二進制全加器的VHDL描述4.全加器圖形輸入法考慮低位進位的情況下,2個輸入和第36頁/共57頁4.31位二進制全加器的VHDL描述5.全加器VHDL描述——或門通過頂層調(diào)用底層元件,實現(xiàn)全加器,下面使用VHDL描述實現(xiàn)或門邏輯。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYor2a ISPORT(a,b:INSTD_LOGIC; c:OUTSTD_LOGIC );ENDor2a ;ARCHITECTUREaOFor2a ISBEGIN c<=aorb;ENDa;第37頁/共57頁4.31位二進制全加器的VHDL描述5.全加器VHDL描述——頂層設(shè)計通過頂層調(diào)用底層元件,實現(xiàn)全加器def第38頁/共57頁4.31位二進制全加器的VHDL描述6.新學內(nèi)容總結(jié)a.標準邏輯矢量數(shù)據(jù)類型b.并置操作符c.CASE語句d.頂層描述及例化語句第39頁/共57頁4.31位二進制全加器的VHDL描述6.新學內(nèi)容總結(jié)--標準邏輯矢量數(shù)據(jù)類型STD_LOGIC_VECTOR標準一維數(shù)組,數(shù)組中每一位的數(shù)據(jù)類型都是STD_LOGICSTD_LOGIC標準位類型定義方法:
A:OUTSTD_LOGIC_VECTOR(7DOWNTO0) B:OUTSTD_LOGIC_VECTOR(1TO5)賦值方法:
A<=“01010101”; A(7DOWNTO4)<=“0101”;第40頁/共57頁4.31位二進制全加器的VHDL描述6.新學內(nèi)容總結(jié)--并置操作符并置操作符&的作用: 將操作數(shù)或者數(shù)組合并成新的數(shù)組操作符 舉例功能<=c<=aANDb賦值操作符=,>,<IF(s=‘0’)THEN比較操作符&abc<=a&b并置操作符使用方法: ‘0’&’1’&a&d(1)----定義信號注釋操作符第41頁/共57頁4.31位二進制全加器的VHDL描述6.新學內(nèi)容總結(jié)--CASE語句利用CASE語句可以直接表達電路的邏輯真值表,有效直觀功能表達語句功能c<=aANDb布爾表達方式IF_THEN_ELSEIF條件語句WHEN_ELSEWHEN條件語句CASE語句CASE語句第42頁/共57頁4.31位二進制全加器的VHDL描述6.新學內(nèi)容總結(jié)--頂層設(shè)計定義頂層設(shè)計端口申明調(diào)用元件,定義內(nèi)部信號使用端口映射語句連接元件第43頁/共57頁4.31位二進制全加器的VHDL描述6.新學內(nèi)容總結(jié)--COMPONENTCOMPONENTh_adder2PORT(a,b:INSTD_LOGIC; co,so:OUTSTD_LOGIC);ENDCOMPONENT;將現(xiàn)成的設(shè)計實體定義為一個元件,做出調(diào)用申明端口名表需要列出元件對外通信的各端口名,命名方式與實體中的PORT()一致(端口名可重新定義)。元件申明語句放置在ARCHITECTURE和BEGIN之間COMPONENT元件名PORT(
端口名表);ENDCOMPONENT;第44頁/共57頁4.31位二進制全加器的VHDL描述6.新學內(nèi)容總結(jié)--PORTMAPu1:h_adder2PORTMAP(a=>ain,b=>bin,co=>d,so=>e);u2:h_adder2PORTMAP(a=>e,b=>cin,co=>f,so=>sum);u3:or2a PORTMAP(a=>d,b=>f,c=>cout);例化名相當于電子電路里的標號元件名即調(diào)用的元件實體的名稱,相對于器件名稱PORTMAP表示端口映射,端口到外部引腳或引線的連接關(guān)系兩個例化元件之間不能直接連接
=>是連接符號例化名:元件名PORTMAP(端口名=>X,端口名=>Y,…)第45頁/共57頁4.31位二進制全加器的VHDL描述7.思考習題4-2
思考習題4-3
思考習題4-4第46頁/共57頁4.4計數(shù)器設(shè)計1.計數(shù)器的VHDL描述BUFFERINTEGERq<=q+1第47頁/共57頁4.4計數(shù)器設(shè)計1.計數(shù)器的VHDL描述——BUFFERBUFFERINOUTINOUT元件等效于在結(jié)構(gòu)體BEGIN之前定義了一個信號,供反饋使用第48頁/共57頁4.4計數(shù)器設(shè)計1.計數(shù)器的VHDL描述——INTEGERINTEGERBITSTD_LOGICSTD_LOGIC_VECTORINTEGER類型可用32位有符號的二進制數(shù)表示,取值范圍:-2147483647~+2147483647INTEGER必須有RANGE限定范圍,否則無法綜合VHDL規(guī)定加、減等算術(shù)符對應(yīng)的操作數(shù)的數(shù)據(jù)類型只能是INTEGER型(除非重載算術(shù)操作符)NATURAL、POSITIVE是INTEGER的子類型在語句中INTEGER類型表達式不加‘’第49頁/共57頁4.4計數(shù)器設(shè)計1.計數(shù)器的VHDL描述——運算符重載第50頁/共57頁4.4作業(yè)1.端口模式有那些?各有什么區(qū)別?2.習題4-2第51頁/共57頁4.54位2進制計數(shù)器設(shè)計1.帶進位計數(shù)器的VHDL描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYcnt4ISPORT(clk:INSTD_LOGIC; q:BUFFERINTEGERRANGE15DOWNTO0; c:OUTSTD_LOGIC );ENDcnt4;ARCHITECTUREaOFcnt4ISBEGIN PROCESS(clk) BEGIN IF(clk'EVENTAND(clk='1'))THEN IF(q<15) THENq<=q+1;c<='0'; ELSE q<=0;c<='1'; ENDIF; ENDIF; ENDPROCESS;ENDa;第52頁/共57頁4.54位2進制計數(shù)器設(shè)計2.4位構(gòu)成8位計數(shù)器的VHDL描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYcnt2dISPORT(clk:INSTD_LOGIC; qH:BUFFERINTEGERRANGE9DOWNTO0; qL:BUFFERINTEGERRANGE9DOWNTO0; cout:OUTSTD_LOGIC );ENDcnt2d;ARCHITECTUREaOFcnt2dISCOMPONENTcnt4
PORT(clk:INSTD_LOGIC; q:BUFFERINTEGERRANGE9DOWNTO0; c:OUTSTD_LOGIC );ENDCOMPONENT;SIGNALs1:STD_LOGIC;BEGIN u1:cnt4PORTMAP(clk=>clk,q=>qL,c=>s1); u2:cnt4PORTMAP(clk=>s1,q=>qH,c=>cout);ENDa;第53頁/共57頁4.5作業(yè)設(shè)計一位十進制計數(shù)器,即計數(shù)范圍0~9
要求:有進位輸出2.使用第一題中的一位十進制計數(shù)器,設(shè)計3位十進制計數(shù)器,即計數(shù)范圍000~999
要求:有進位輸出 采用頂層設(shè)計的方法,調(diào)用習題1的設(shè)計。第54頁/共57頁4.5作業(yè)設(shè)計一位十進制計數(shù)器,即技術(shù)范圍0~9
要求:有進位輸出LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYcnttenISPORT(clk:INSTD_LOGIC; q:BUFFERINTEGERRANGE9DOWNTO0; c:OUTSTD_
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年煙酒批發(fā)業(yè)務(wù)協(xié)議模板
- 2025年獸用生物制品項目提案報告模板
- 2025年汽車大燈項目規(guī)劃申請報告
- 2025年水電自動化項目提案報告模式
- 開學軍訓心得體會15篇
- 入職的邀請函八篇
- 2021年度社團活動個人總結(jié)【十二篇】
- 個人述職報告怎么寫【12篇】
- 昆蟲記讀書筆記6篇
- 活動計劃模板七篇
- 供應(yīng)鏈年終總結(jié)報告
- 體育訓練服務(wù)行業(yè)市場調(diào)研分析報告
- 2025年八省聯(lián)考新高考 語文試卷
- 山東省東營市(2024年-2025年小學四年級語文)統(tǒng)編版期末考試(上學期)試卷及答案
- 期末+(試題)+-2024-2025學年重大版英語五年級上冊
- 新能源汽車案例之吉利EV450無法上電的故障診斷與排除
- 村里廟會募捐倡議書
- 自控系統(tǒng)操作說明
- 2024年俄羅斯反沖洗過濾器行業(yè)應(yīng)用與市場潛力評估
- 餐飲采購合同樣本
- DL∕ Z 860.2-2006 變電站通信網(wǎng)絡(luò)和系統(tǒng) 第2部分:術(shù)語
評論
0/150
提交評論