版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、5.1 5.1 多路選擇器多路選擇器VHDLVHDL描述描述5.2 5.2 寄存器描述及其寄存器描述及其VHDLVHDL語(yǔ)言現(xiàn)象語(yǔ)言現(xiàn)象5.3 15.3 1位二進(jìn)制全加器的位二進(jìn)制全加器的VHDLVHDL設(shè)計(jì)設(shè)計(jì)5.4 5.4 基本組合邏輯電路基本組合邏輯電路VHDLVHDL描述描述5.5 5.5 擴(kuò)展設(shè)計(jì)擴(kuò)展設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)Graphic is what you draw is what you get“ tell me what hardware you want and I will give it to you”VHDL is what you write is what function
2、al you get“ tell me how your circuit should behave and the VHDL compiler will give you the hardware that does the job” but the designer can not control how the circuit implement Very high speed integrated Hardware Description Language (VHDL)是是IEEE、工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言、工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言用語(yǔ)言的方式而非圖形等方式描述硬件電路用語(yǔ)言的方式而非圖形等方
3、式描述硬件電路容易修改容易修改容易保存容易保存特別適合于設(shè)計(jì)的電路有:特別適合于設(shè)計(jì)的電路有:復(fù)雜組合邏輯電路,如:復(fù)雜組合邏輯電路,如: 譯碼器、編碼器、加減法器、多路選擇器、地址譯碼譯碼器、編碼器、加減法器、多路選擇器、地址譯碼器器. 狀態(tài)機(jī)狀態(tài)機(jī) 等等等等.VHDL VHDL 描述描述輸入端口輸入端口輸出端口輸出端口電路的行為和功能電路的行為和功能VHDLVHDL標(biāo)準(zhǔn):標(biāo)準(zhǔn):IEEE Std 1076-1987 (called VHDL 1987)IEEE Std 1076-1987 (called VHDL 1987)IEEE Std 1076-1993 (called VHDL 19
4、93)IEEE Std 1076-1993 (called VHDL 1993)IEEE Std 1076-2002IEEE Std 1076-2002【例【例5-1】ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ;END ENTITY mux21a ;ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b ;END ARCHITECTURE one ;實(shí)體結(jié)構(gòu)體5.1 多路選擇器多路選擇器VHDL描述描述圖圖5-1 mux21a實(shí)體實(shí)體圖圖5-2
5、 mux21a結(jié)構(gòu)體結(jié)構(gòu)體5.1.1 2選選1多路選擇器的多路選擇器的VHDL描述描述5.1.1 2選選1多路選擇器的多路選擇器的VHDL描述描述【例5-2】 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a;ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGINd = a AND (NOT S) ;e = b AND s ;y = d OR e ; END ARCHITECTURE one ;【例【例5-3】 . . . A
6、RCHITECTURE one OF mux21a IS BEGIN y = (a AND (NOT s) OR (b AND s) ; END ARCHITECTURE one;從三個(gè)語(yǔ)句的順序問(wèn)題入手,理解并行性問(wèn)題5.1.1 2選選1多路選擇器的多路選擇器的VHDL描述描述【例【例5-4】 ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN PROCESS (a,b,s) BEGIN IF s = 0 THEN y = a
7、; ELSE y = b ;END IF; END PROCESS;END ARCHITECTURE one ;5.1.1 2選選1多路選擇器的多路選擇器的VHDL描述描述圖圖5-3 mux21a功能時(shí)序波形功能時(shí)序波形5.1.2 VHDL相關(guān)語(yǔ)句說(shuō)明相關(guān)語(yǔ)句說(shuō)明【例【例5-5】ENTITY e_name IS PORT ( p_name : port_m data_type; . p_namei : port_mi data_type );END ENTITY e_name;或:或:【例【例5-6】ENTITY e_name IS PORT ( p_name : port_m data_ty
8、pe; . p_namei : port_mi data_type );END e_name;5.1.2 VHDL相關(guān)語(yǔ)句說(shuō)明相關(guān)語(yǔ)句說(shuō)明2. 2. 實(shí)體名實(shí)體名3. PORT3. PORT語(yǔ)句和端口信號(hào)名語(yǔ)句和端口信號(hào)名4. 4. 端口模式端口模式INOUTINOUTBUFFER5. 5. 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型BITBIT5.1.2 VHDL相關(guān)語(yǔ)句說(shuō)明相關(guān)語(yǔ)句說(shuō)明6. 6. 結(jié)構(gòu)體表達(dá)結(jié)構(gòu)體表達(dá)【例【例5-7】ARCHITECTURE arch_name OF e_name IS (說(shuō)明語(yǔ)句說(shuō)明語(yǔ)句)BEGIN (功能描述語(yǔ)句功能描述語(yǔ)句)END ARCHITECTURE arch_name
9、;或:或:【例【例5-8】ARCHITECTURE arch_name OF e_name IS (說(shuō)明語(yǔ)句說(shuō)明語(yǔ)句)BEGIN (功能描述語(yǔ)句功能描述語(yǔ)句)END arch_name ;7. 7. 信號(hào)傳輸信號(hào)傳輸( (賦值賦值) )符號(hào)和數(shù)據(jù)比較符號(hào)符號(hào)和數(shù)據(jù)比較符號(hào)5.1.2 VHDL相關(guān)語(yǔ)句說(shuō)明相關(guān)語(yǔ)句說(shuō)明8. 8. 邏輯操作符邏輯操作符ANDAND、OROR、NOTNOT9. IF_THEN9. IF_THEN條件語(yǔ)句條件語(yǔ)句10. WHEN_ELSE10. WHEN_ELSE條件信號(hào)賦值語(yǔ)句條件信號(hào)賦值語(yǔ)句賦值目標(biāo)賦值目標(biāo) = 表達(dá)式表達(dá)式 WHEN 賦值條件賦值條件 ELSE 表
10、達(dá)式表達(dá)式 WHEN 賦值條件賦值條件 ELSE . 表達(dá)式表達(dá)式 ;11. PROCESS11. PROCESS進(jìn)程語(yǔ)句和順序語(yǔ)句進(jìn)程語(yǔ)句和順序語(yǔ)句12. 12. 文件取名和存盤(pán)文件取名和存盤(pán)5.1.3 VHDL5.1.3 VHDL設(shè)計(jì)的基本概念和語(yǔ)句小節(jié)設(shè)計(jì)的基本概念和語(yǔ)句小節(jié)數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型信號(hào)賦值符信號(hào)賦值符條件比較符條件比較符 延時(shí)延時(shí)實(shí)體實(shí)體結(jié)構(gòu)體結(jié)構(gòu)體端口定義端口定義端口模式端口模式邏輯操作符邏輯操作符IFIF條件語(yǔ)句條件語(yǔ)句并行條件語(yǔ)句并行條件語(yǔ)句進(jìn)程語(yǔ)句進(jìn)程語(yǔ)句順序語(yǔ)句順序語(yǔ)句并行語(yǔ)句并行語(yǔ)句文件取名文件取名文件存盤(pán)文件存盤(pán)病房呼叫系統(tǒng)設(shè)計(jì) 要求用要求用FPGAFPGA實(shí)現(xiàn)一
11、個(gè)病房呼叫系統(tǒng),主要功能要實(shí)現(xiàn)一個(gè)病房呼叫系統(tǒng),主要功能要求如下:求如下:(1 1)共有)共有5 5個(gè)病房,每個(gè)病房均設(shè)有一個(gè)呼叫按鈕,個(gè)病房,每個(gè)病房均設(shè)有一個(gè)呼叫按鈕,同時(shí)在護(hù)士值班室裝有同時(shí)在護(hù)士值班室裝有5 5個(gè)指示燈;個(gè)指示燈;(2 2)5 5個(gè)病房中,個(gè)病房中,1 1個(gè)是特級(jí)病房,其余個(gè)是特級(jí)病房,其余4 4個(gè)是普通病個(gè)是普通病房。當(dāng)特級(jí)病房有呼叫請(qǐng)求時(shí),優(yōu)先響應(yīng),護(hù)士值班房。當(dāng)特級(jí)病房有呼叫請(qǐng)求時(shí),優(yōu)先響應(yīng),護(hù)士值班室對(duì)應(yīng)的燈亮,其余的不亮,只有在特級(jí)病房沒(méi)有呼室對(duì)應(yīng)的燈亮,其余的不亮,只有在特級(jí)病房沒(méi)有呼叫請(qǐng)求時(shí),普通病房的呼叫才會(huì)點(diǎn)亮相應(yīng)的指示燈。叫請(qǐng)求時(shí),普通病房的呼叫才會(huì)
12、點(diǎn)亮相應(yīng)的指示燈。(3 3)完成電路全部設(shè)計(jì)后,下載并運(yùn)行程序,驗(yàn)證)完成電路全部設(shè)計(jì)后,下載并運(yùn)行程序,驗(yàn)證設(shè)計(jì)課題的正確性。設(shè)計(jì)課題的正確性。5.2 5.2 寄存器描述及其寄存器描述及其VHDLVHDL語(yǔ)言現(xiàn)象語(yǔ)言現(xiàn)象5.2.1 D5.2.1 D觸發(fā)器的觸發(fā)器的VHDLVHDL描述描述【例【例5-9】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF1 IS PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bh
13、v OF DFF1 IS SIGNAL Q1 : STD_LOGIC ; -類(lèi)似于在芯片內(nèi)部定義一個(gè)數(shù)據(jù)的暫存節(jié)點(diǎn)類(lèi)似于在芯片內(nèi)部定義一個(gè)數(shù)據(jù)的暫存節(jié)點(diǎn) BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = D ; END IF; Q = Q1 ; -將內(nèi)部的暫存數(shù)據(jù)向端口輸出將內(nèi)部的暫存數(shù)據(jù)向端口輸出 END PROCESS ; END bhv;D觸發(fā)器觸發(fā)器5.2.2 D5.2.2 D觸發(fā)器觸發(fā)器VHDLVHDL描述的語(yǔ)言現(xiàn)象說(shuō)明描述的語(yǔ)言現(xiàn)象說(shuō)明1. 1. 標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類(lèi)型標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類(lèi)型STD_LOGICSTD_LO
14、GICBIT數(shù)據(jù)類(lèi)型定義:數(shù)據(jù)類(lèi)型定義: TYPE BIT IS(0,1);STD_LOGIC數(shù)據(jù)類(lèi)型定義:數(shù)據(jù)類(lèi)型定義:TYPE STD_LOGIC IS (U,X,0,1,Z,W,L,H,-);STD_LOGIC所定義的所定義的9種數(shù)據(jù)的含義是:種數(shù)據(jù)的含義是:U表示未初始化的;表示未初始化的; X表示強(qiáng)未知的;表示強(qiáng)未知的; 0表示強(qiáng)邏輯表示強(qiáng)邏輯0; 1表示強(qiáng)邏輯表示強(qiáng)邏輯1; Z表示高阻態(tài);表示高阻態(tài); W 表示弱未知的;表示弱未知的; L表示弱邏輯表示弱邏輯0; H表示弱邏輯表示弱邏輯1; -表示忽略。表示忽略。5.2.2 D觸發(fā)器觸發(fā)器VHDL描述的語(yǔ)言現(xiàn)象說(shuō)明描述的語(yǔ)言現(xiàn)象說(shuō)明
15、2. 2. 設(shè)計(jì)庫(kù)和標(biāo)準(zhǔn)程序包設(shè)計(jì)庫(kù)和標(biāo)準(zhǔn)程序包3. SIGNAL3. SIGNAL信號(hào)定義和數(shù)據(jù)對(duì)象信號(hào)定義和數(shù)據(jù)對(duì)象【例【例5-10】ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1 : STD_LOGIC ; -類(lèi)類(lèi)似于在芯片似于在芯片內(nèi)內(nèi)部定部定義義一一個(gè)數(shù)個(gè)數(shù)據(jù)的據(jù)的暫暫存存節(jié)節(jié)點(diǎn)點(diǎn),數(shù)數(shù)據(jù)的據(jù)的進(jìn)進(jìn)出不像端口信出不像端口信號(hào)號(hào)那那樣樣受限制受限制 BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = D ; END IF; Q = Q1 ; -將內(nèi)將內(nèi)部的部的暫暫存存數(shù)數(shù)據(jù)向端口據(jù)向端口輸輸
16、出出 END PROCESS ;使用庫(kù)和程序包的一般定義表式是:使用庫(kù)和程序包的一般定義表式是: LIBRARY ; USE .ALL ; 5.2.2 D觸發(fā)器觸發(fā)器VHDL描述的語(yǔ)言現(xiàn)象說(shuō)明描述的語(yǔ)言現(xiàn)象說(shuō)明4. 4. 上升沿檢測(cè)表式和信號(hào)屬性函數(shù)上升沿檢測(cè)表式和信號(hào)屬性函數(shù)EVENTEVENT 關(guān)鍵詞關(guān)鍵詞EVENTEVENT是信號(hào)屬性,是信號(hào)屬性,VHDLVHDL通過(guò)以下表式來(lái)測(cè)定某通過(guò)以下表式來(lái)測(cè)定某信號(hào)的跳變邊沿:信號(hào)的跳變邊沿: EVENTEVENT5. 5. 不完整條件語(yǔ)句與時(shí)序電路不完整條件語(yǔ)句與時(shí)序電路【例【例5-11】ENTITY COMP_BAD IS PORT( a1
17、: IN BIT; b1 : IN BIT; q1 : OUT BIT ); END ; ARCHITECTURE one OF COMP_BAD IS BEGIN PROCESS (a1,b1) BEGIN IF a1 b1 THEN q1 = 1 ; ELSIF a1 b1 THEN q1 b1 THEN q1 = 1 ; ELSE q1 = 0 ; END IF; END PROCESS ; END 圖圖5-6 例例5-12的電路圖的電路圖4.2.3 實(shí)現(xiàn)時(shí)序電路的實(shí)現(xiàn)時(shí)序電路的VHDL不同表述不同表述 【例【例4-9】.PROCESS (CLK) BEGINIF CLKEVENT AN
18、D (CLK=1) AND (CLKLAST_VALUE=0) THEN Q = D ; -確保確保CLK的變化是一次上升沿的跳變的變化是一次上升沿的跳變 END IF; END PROCESS ; 【例【例4-10】.PROCESS (CLK) BEGINIF CLK=1 AND CLKLAST_VALUE=0 THEN Q = D ; END IF; END PROCESS ; 【例【例4-11】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DFF3 IS PORT (CLK,D : IN STD_LOGIC ; Q : OUT STD
19、_LOGIC ); END ; ARCHITECTURE bhv OF DFF3 IS SIGNAL Q1 : STD_LOGIC; BEGIN PROCESS (CLK) BEGIN IF rising_edge(CLK) - 必須打開(kāi)必須打開(kāi)STD_LOGIC_1164程序包程序包 THEN Q1 = D ; END IF; END PROCESS ; Q = Q1 ; -在此,賦值語(yǔ)句可以放在進(jìn)程外,作為并行賦值語(yǔ)句在此,賦值語(yǔ)句可以放在進(jìn)程外,作為并行賦值語(yǔ)句 END ; 【例【例4-12】.PROCESS BEGIN wait until CLK = 1 ; -利用利用wait語(yǔ)句語(yǔ)
20、句 Q = D ;END PROCESS; 【例【例4-13】.PROCESS (CLK) BEGIN IF CLK = 1 THEN Q = D ; -利用進(jìn)程的啟動(dòng)特性產(chǎn)生對(duì)利用進(jìn)程的啟動(dòng)特性產(chǎn)生對(duì)CLK的邊沿檢測(cè)的邊沿檢測(cè) END IF; END PROCESS ; 【例【例4-14】.PROCESS (CLK,D) BEGIN IF CLK = 1 -電平觸發(fā)型寄存器電平觸發(fā)型寄存器 THEN Q = D ; END IF; END PROCESS ; 4.2.4 異步時(shí)序電路設(shè)計(jì)異步時(shí)序電路設(shè)計(jì) 【例【例4-15】 . ARCHITECTURE bhv OF MULTI_DFF IS
21、 SIGNAL Q1,Q2 : STD_LOGIC; BEGINPRO1: PROCESS (CLK) BEGIN IF CLKEVENT AND CLK=1 THEN Q1 = NOT (Q2 OR A); END IF; END PROCESS ;PRO2: PROCESS (Q1) BEGIN IF Q1EVENT AND Q1=1 THEN Q2 = D; END IF; END PROCESS ; QQ = Q2 ; . 圖圖4-9 4-9 例例4-154-15綜合后的電路(綜合后的電路(SynplifySynplify綜合)綜合) 5.2.5 VHDL設(shè)計(jì)基本概念和語(yǔ)言現(xiàn)象小節(jié)設(shè)計(jì)
22、基本概念和語(yǔ)言現(xiàn)象小節(jié)數(shù)據(jù)類(lèi)型數(shù)據(jù)對(duì)象信號(hào)屬性時(shí)鐘檢測(cè)VHDL庫(kù)程序包時(shí)序電路異步時(shí)序課堂練習(xí):請(qǐng)寫(xiě)出帶異步清零端DFF的VHDL描述1 -2 LIBRARY ieee;3 USE ieee.std_logic_1164.all;4 -5 ENTITY dff IS6 PORT (d, clk, rst: IN STD_LOGIC;7 q: OUT STD_LOGIC);8 END dff;9 -10 ARCHITECTURE behavior OF dff IS11 BEGIN12 PROCESS (clk, rst)13 BEGIN14 IF (rst=1) THEN15 q = 0;16
23、 ELSIF (clkEVENT AND clk=1) THEN17 q = d;18 END IF;19 END PROCESS;20 END behavior;21 -D觸發(fā)器擴(kuò)展應(yīng)用延遲電路D觸發(fā)器擴(kuò)展應(yīng)用觸發(fā)器擴(kuò)展應(yīng)用微分電路微分電路(延遲電路的應(yīng)用延遲電路的應(yīng)用)將原來(lái)可能超過(guò)一個(gè)時(shí)鐘脈沖周期寬度將原來(lái)可能超過(guò)一個(gè)時(shí)鐘脈沖周期寬度的信號(hào)微分成恰好只有一個(gè)周期。的信號(hào)微分成恰好只有一個(gè)周期。微分信號(hào)形式有三種:上升沿微分,下微分信號(hào)形式有三種:上升沿微分,下降沿微分、升降沿微分。降沿微分、升降沿微分。 彈跳消除電路彈跳消除電路 設(shè)計(jì)中經(jīng)常用到的鍵盤(pán)通常是機(jī)械開(kāi)關(guān)設(shè)計(jì)中經(jīng)常用到的鍵盤(pán)通常
24、是機(jī)械開(kāi)關(guān)結(jié)構(gòu),因此在開(kāi)關(guān)切換的瞬間會(huì)在接觸點(diǎn)出現(xiàn)結(jié)構(gòu),因此在開(kāi)關(guān)切換的瞬間會(huì)在接觸點(diǎn)出現(xiàn)信號(hào)來(lái)回彈跳的現(xiàn)象,對(duì)于靈敏度較高的電路信號(hào)來(lái)回彈跳的現(xiàn)象,對(duì)于靈敏度較高的電路這種彈跳將很可能會(huì)造成誤動(dòng)作輸入,從而影這種彈跳將很可能會(huì)造成誤動(dòng)作輸入,從而影響操作的正確性。響操作的正確性。 從下圖中可以觀察出彈跳現(xiàn)象產(chǎn)生的原從下圖中可以觀察出彈跳現(xiàn)象產(chǎn)生的原因,雖然只是按下按鍵一次然后放掉,然而實(shí)因,雖然只是按下按鍵一次然后放掉,然而實(shí)際產(chǎn)生的按鍵信號(hào)卻不止跳動(dòng)一次,經(jīng)過(guò)取樣際產(chǎn)生的按鍵信號(hào)卻不止跳動(dòng)一次,經(jīng)過(guò)取樣信號(hào)的檢查后,將會(huì)造成誤判斷,以為鍵盤(pán)按信號(hào)的檢查后,將會(huì)造成誤判斷,以為鍵盤(pán)按了兩次。
25、如果調(diào)整抽樣頻率,可以發(fā)現(xiàn)彈跳現(xiàn)了兩次。如果調(diào)整抽樣頻率,可以發(fā)現(xiàn)彈跳現(xiàn)象獲得了改善。象獲得了改善。 圖 彈跳現(xiàn)象產(chǎn)生錯(cuò)誤的抽樣結(jié)果 抽樣結(jié)果抽樣信號(hào)按鍵信號(hào)圖 調(diào)整抽樣頻率后得到的抽樣結(jié)果 抽樣結(jié)果抽樣信號(hào)按鍵信號(hào)PRNCLRNDQPRNCLRNDQDFFVCC13D_INCLKD0DFF1011D18NOTNOT97AND26AND2D_OUTSRQQ圖圖 彈跳消除電路的內(nèi)部實(shí)現(xiàn)原理圖彈跳消除電路的內(nèi)部實(shí)現(xiàn)原理圖 彈跳消除電路的內(nèi)部實(shí)現(xiàn)原理圖彈跳消除電路的內(nèi)部實(shí)現(xiàn)原理圖彈跳消除電路的實(shí)現(xiàn)原理如上圖所示,先將鍵盤(pán)的輸入信彈跳消除電路的實(shí)現(xiàn)原理如上圖所示,先將鍵盤(pán)的輸入信號(hào)號(hào)D_IND_IN做
26、為電路的輸入信號(hào),做為電路的輸入信號(hào),CLKCLK是電路的時(shí)鐘脈沖信號(hào),是電路的時(shí)鐘脈沖信號(hào),也就是取樣信號(hào),也就是取樣信號(hào),D_IND_IN經(jīng)過(guò)兩級(jí)經(jīng)過(guò)兩級(jí)D D觸發(fā)器延時(shí)后再使用觸發(fā)器延時(shí)后再使用RSRS觸觸發(fā)器處理。發(fā)器處理。此處此處RSRS觸發(fā)器的前端連接和非門(mén)的處理原則是觸發(fā)器的前端連接和非門(mén)的處理原則是 (1) (1) 因?yàn)橐话闳说陌存I速度至多是因?yàn)橐话闳说陌存I速度至多是1010次次/ /秒,亦即一次秒,亦即一次按鍵時(shí)間是按鍵時(shí)間是100 ms100 ms,所以按下的時(shí)間可估算為,所以按下的時(shí)間可估算為50 ms50 ms。以取樣信號(hào)以取樣信號(hào)CLKCLK的周期為的周期為8 ms8
27、 ms計(jì),則可以取樣到計(jì),則可以取樣到6 6次。次。 (2) (2) 對(duì)于不穩(wěn)定的噪聲,在對(duì)于不穩(wěn)定的噪聲,在4ms4ms以下則至多抽樣一次。以下則至多抽樣一次。 (3) (3) 在觸發(fā)器之前,接上在觸發(fā)器之前,接上AND-NOTAND-NOT之后,之后,SRSR的組態(tài)如下的組態(tài)如下表所示。表所示。 根據(jù)以上原理實(shí)現(xiàn)電路,并完成波形仿真。根據(jù)以上原理實(shí)現(xiàn)電路,并完成波形仿真。5.3 15.3 1位二進(jìn)制全加器的位二進(jìn)制全加器的VHDLVHDL設(shè)計(jì)設(shè)計(jì)圖圖5-10半加器半加器h_adder電路圖電路圖圖圖5-11 全加器全加器f_adder電路圖電路圖5.3.1 半加器描述和半加器描述和CASE
28、語(yǔ)句語(yǔ)句absoco0000011010101101表表5-1 半加器半加器h_adder邏輯功能真值表邏輯功能真值表1. CASE1. CASE語(yǔ)句語(yǔ)句CASE語(yǔ)句的一般表式是:語(yǔ)句的一般表式是:CASE ISWhen = ; . ; ;When = ; . ; ;.END CASE ;2. 2. 標(biāo)準(zhǔn)邏輯矢量數(shù)據(jù)類(lèi)型標(biāo)準(zhǔn)邏輯矢量數(shù)據(jù)類(lèi)型STD_LOGIC_VECTORSTD_LOGIC_VECTOR3. 3. 并置操作符并置操作符 以下是一些并置操作示例:以下是一些并置操作示例:SIGNAL a : STD_LOGIC_VECTOR (3 DOWNTO 0) ;SIGNAL d : STD
29、_LOGIC_VECTOR (1 DOWNTO 0) ; .a = 10d(1)1 ; - 元素與元素并置,并置后的數(shù)組長(zhǎng)元素與元素并置,并置后的數(shù)組長(zhǎng)度為度為4 .IF a d = 101011 THEN . - 在在IF條件句中可以使用并置符條件句中可以使用并置符 5.3.1 半加器描述和半加器描述和CASE語(yǔ)句語(yǔ)句在使用在使用STD_LOGIC_VECTOR中,必須注明其數(shù)組寬度,即位寬,如:中,必須注明其數(shù)組寬度,即位寬,如: B : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ; 或或 SIGNAL A :STD_LOGIC_VECTOR(1 TO 4)5.3.
30、1 半加器描述和半加器描述和CASE語(yǔ)句語(yǔ)句【例【例5-20】 LIBRARY IEEE ;-或門(mén)邏輯描述或門(mén)邏輯描述 USE IEEE.STD_LOGIC_1164.ALL; ENTITY or2a IS PORT (a, b :IN STD_LOGIC; c : OUT STD_LOGIC ); END ENTITY or2a; ARCHITECTURE one OF or2a IS BEGIN c = a OR b ; END ARCHITECTURE fu1;【例【例5-21】LIBRARY IEEE; -半加器描述半加器描述(1)USE IEEE.STD_LOGIC_1164.ALL
31、; ENTITY adder IS PORT (a, b : IN STD_LOGIC; co, so : OUT STD_LOGIC); END ENTITY adder; ARCHITECTURE fh1 OF adder is BEGIN so = NOT(a XOR (NOT b) ; co = a AND b ; END ARCHITECTURE fh1; 【例5-22】LIBRARY IEEE; -半加器描述(2)USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT (a, b : IN STD_LOGIC; co, so : OU
32、T STD_LOGIC); END ENTITY h_adder; ARCHITECTURE fh1 OF h_adder is SIGNAL abc : STD_LOGIC_VECTOR(1 DOWNTO 0) ;BEGIN abc so=0; co so=1; co so=1; co so=0; co NULL ; END CASE; END PROCESS;END ARCHITECTURE fh1 ;【例5-22】 . -半加器描述(3) SIGNAL abc,cso : STD_LOGIC_VECTOR(1 DOWNTO 0 ); BEGIN abc = a & b ; co
33、= cso(1) ; so cso cso cso csoain,b=bin,co=d,so=e); u2 : h_adder PORT MAP(a=e, b=cin, co=f,so=sum); u3 : or2a PORT MAP(a=d, b=f, c=cout); END ARCHITECTURE fd1;5.3.2 5.3.2 全加器描述和例化語(yǔ)句全加器描述和例化語(yǔ)句 元件例化語(yǔ)句由兩部分組成,第一部分是對(duì)一個(gè)現(xiàn)成的設(shè)計(jì)實(shí)體定義為一個(gè)元件,語(yǔ)句的功能是對(duì)待調(diào)用的元件作出調(diào)用聲明,它的最簡(jiǎn)表達(dá)式如下所示: COMPONENT 元件名 IS PORT (端口名表) ; END COMPO
34、NENT 文件名 ; 元件例化語(yǔ)句的第二部分則是此元件與當(dāng)前設(shè)計(jì)實(shí)體元件例化語(yǔ)句的第二部分則是此元件與當(dāng)前設(shè)計(jì)實(shí)體( (頂層文件頂層文件) )中元件間及端口的連接說(shuō)明。語(yǔ)句的表達(dá)式如下:中元件間及端口的連接說(shuō)明。語(yǔ)句的表達(dá)式如下: 例化名例化名 : : 元件名元件名 PORT MAP( PORT MAP( 端口名端口名 = = 連接端口名連接端口名,.);,.);STEP1STEP1:建立:建立 工作庫(kù)文件夾工作庫(kù)文件夾STEP2STEP2:輸入設(shè)計(jì)項(xiàng)目:輸入設(shè)計(jì)項(xiàng)目原理圖原理圖/VHDL/VHDL文本代碼文本代碼STEP3STEP3:存盤(pán),注意:存盤(pán),注意 原理圖原理圖/ /文本取名文本取名
35、STEP4STEP4:將設(shè)計(jì)項(xiàng):將設(shè)計(jì)項(xiàng)目設(shè)置成目設(shè)置成ProjectProjectSTEP5STEP5:選:選擇目標(biāo)器件擇目標(biāo)器件 STEP11 STEP11: 硬件測(cè)試硬件測(cè)試STEP9:引腳鎖定并編譯STEP8STEP8:仿真測(cè):仿真測(cè) 試和波形分析試和波形分析STEP7STEP7:建立仿:建立仿真波形文件真波形文件STEP6STEP6:?jiǎn)?dòng)編譯啟動(dòng)編譯STEP10:編程 下載/配置VHDLVHDL文本輸入設(shè)計(jì)流程文本輸入設(shè)計(jì)流程 擴(kuò)展設(shè)計(jì)擴(kuò)展設(shè)計(jì) 用仿真軟件測(cè)試用仿真軟件測(cè)試74181器件功能。器件功能。 理解理解74181ALU器件的基本功能,并用器件的基本功能,并用VHDL語(yǔ)言進(jìn)行
36、描述語(yǔ)言進(jìn)行描述8位多功能位多功能ALU。 算術(shù)邏輯單元(算術(shù)邏輯單元(ALUALU)是計(jì)算機(jī)的核心)是計(jì)算機(jī)的核心部件之一,它能執(zhí)行加法和減法等算術(shù)運(yùn)部件之一,它能執(zhí)行加法和減法等算術(shù)運(yùn)算,也能執(zhí)行算,也能執(zhí)行“與與”、“或或”、“非非”等等邏輯運(yùn)算。邏輯運(yùn)算。不帶符號(hào)位的陣列乘法器0123456789404142434430313233342021222324101112131400010203040123401234_)_)PPPPPPPPPPbabababababababababababababababababababababababababbbbbaaaaa實(shí)實(shí) 驗(yàn)驗(yàn) 實(shí)驗(yàn)實(shí)驗(yàn)5-1
37、 簡(jiǎn)單組合電路的設(shè)計(jì)簡(jiǎn)單組合電路的設(shè)計(jì)(1) 實(shí)驗(yàn)?zāi)康模菏煜?shí)驗(yàn)?zāi)康模菏煜uartus的的VHDL文本設(shè)計(jì)流程全過(guò)程文本設(shè)計(jì)流程全過(guò)程,學(xué)習(xí)簡(jiǎn)單組合電路的設(shè)計(jì)、多層次電路設(shè)計(jì)、仿真和硬件,學(xué)習(xí)簡(jiǎn)單組合電路的設(shè)計(jì)、多層次電路設(shè)計(jì)、仿真和硬件測(cè)試。測(cè)試。(2) 實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容1:首先按照:首先按照5.4節(jié)給出的步驟,利用節(jié)給出的步驟,利用Quartus完成完成2選選1多路選擇器的文本編輯輸入多路選擇器的文本編輯輸入(mux21a.vhd)和仿真測(cè)和仿真測(cè)試等步驟,給出圖試等步驟,給出圖5-17所示的仿真波形。最后在實(shí)驗(yàn)系統(tǒng)上所示的仿真波形。最后在實(shí)驗(yàn)系統(tǒng)上進(jìn)行硬件測(cè)試,實(shí)際驗(yàn)證本項(xiàng)設(shè)計(jì)的功能。
38、進(jìn)行硬件測(cè)試,實(shí)際驗(yàn)證本項(xiàng)設(shè)計(jì)的功能。實(shí)實(shí) 驗(yàn)驗(yàn) 實(shí)驗(yàn)實(shí)驗(yàn)5-1 簡(jiǎn)單組合電路的設(shè)計(jì)簡(jiǎn)單組合電路的設(shè)計(jì)(3 )實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容2:將:將5.4節(jié)的多路選擇器看成是一個(gè)元件節(jié)的多路選擇器看成是一個(gè)元件mux21a,利用元件例,利用元件例化語(yǔ)句描述圖化語(yǔ)句描述圖5-20,并將此文件放在同一目錄,并將此文件放在同一目錄E:muxfile中。以下是參考程序中。以下是參考程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUXK IS PORT (a1,a2,a3,s0,s1 : IN STD_LOGIC; outy : OUT STD_LOGI
39、C ); END ENTITY MUXK; ARCHITECTURE BHV OF MUXK IS COMPONENT MUX21A PORT ( a,b,s : IN STD_LOGIC; y : OUT STD_LOGIC); END COMPONENT ; SIGNAL tmp : STD_LOGIC; BEGIN u1 : MUX21A PORT MAP(a=a2,b=a3,s=s0,y=tmp); u2 : MUX21A PORT MAP(a=a1,b=tmp,s=s1,y=outy); END ARCHITECTURE BHV ;實(shí)實(shí) 驗(yàn)驗(yàn) 實(shí)驗(yàn)實(shí)驗(yàn)5-1 簡(jiǎn)單組合電路的設(shè)計(jì)簡(jiǎn)單組
40、合電路的設(shè)計(jì) 按照5.4節(jié)的步驟對(duì)上例分別進(jìn)行編譯、綜合、仿真。并對(duì)其仿真波形(圖5-23)作出分析說(shuō)明。圖圖5-23 仿真波形仿真波形實(shí)實(shí) 驗(yàn)驗(yàn) 實(shí)驗(yàn)實(shí)驗(yàn)5-1 簡(jiǎn)單組合電路的設(shè)計(jì)簡(jiǎn)單組合電路的設(shè)計(jì) (4) 實(shí)驗(yàn)內(nèi)容3:引腳鎖定以及硬件下載測(cè)試。若目標(biāo)器件是EPF10K10,建議選實(shí)驗(yàn)電路模式5(附圖1-7),用鍵1(PIO0,引腳號(hào)為5)控制s0;用鍵2(PIO1,引腳號(hào)為6)控制s1;a3、a2和a1分別接clock5(引腳號(hào)為83)、clock0(引腳號(hào)為2)和clock2(引腳號(hào)為43);輸出信號(hào)outy仍接揚(yáng)聲器spker(引腳號(hào)為3)。通過(guò)短路帽選擇clock0接256Hz信號(hào),
41、clock5接1024Hz,clock2接8Hz信號(hào)。引腳鎖定窗如圖5-24所示。最后進(jìn)行編譯、下載和硬件測(cè)試實(shí)驗(yàn)。實(shí)實(shí) 驗(yàn)驗(yàn) 實(shí)驗(yàn)實(shí)驗(yàn)5-1 簡(jiǎn)單組合電路的設(shè)計(jì)簡(jiǎn)單組合電路的設(shè)計(jì)(5) 實(shí)驗(yàn)報(bào)告:根據(jù)以上的實(shí)驗(yàn)內(nèi)容寫(xiě)出實(shí)驗(yàn)報(bào)告,包括程實(shí)驗(yàn)報(bào)告:根據(jù)以上的實(shí)驗(yàn)內(nèi)容寫(xiě)出實(shí)驗(yàn)報(bào)告,包括程序設(shè)計(jì)、軟件編譯、仿真分析、硬件測(cè)試和詳細(xì)實(shí)驗(yàn)過(guò)程;序設(shè)計(jì)、軟件編譯、仿真分析、硬件測(cè)試和詳細(xì)實(shí)驗(yàn)過(guò)程;給出程序分析報(bào)告、仿真波形圖及其分析報(bào)告。給出程序分析報(bào)告、仿真波形圖及其分析報(bào)告。(6) 附加內(nèi)容:根據(jù)本實(shí)驗(yàn)以上提出的各項(xiàng)實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)附加內(nèi)容:根據(jù)本實(shí)驗(yàn)以上提出的各項(xiàng)實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)要求,設(shè)計(jì)要求,設(shè)計(jì)1位
42、全加器。位全加器。首先用首先用Quartus完成本章第完成本章第3節(jié)給出的全加器的設(shè)計(jì),包節(jié)給出的全加器的設(shè)計(jì),包括仿真和硬件測(cè)試。實(shí)驗(yàn)要求分別仿真測(cè)試底層硬件或門(mén)和括仿真和硬件測(cè)試。實(shí)驗(yàn)要求分別仿真測(cè)試底層硬件或門(mén)和半加器,最后完成頂層文件全加器的設(shè)計(jì)和測(cè)試,給出設(shè)計(jì)半加器,最后完成頂層文件全加器的設(shè)計(jì)和測(cè)試,給出設(shè)計(jì)原程序,程序分析報(bào)告、仿真波形圖及其分析報(bào)告。原程序,程序分析報(bào)告、仿真波形圖及其分析報(bào)告。(7) 實(shí)驗(yàn)習(xí)題:以此實(shí)驗(yàn)習(xí)題:以此1位二進(jìn)制全加器為基本元件,用例化位二進(jìn)制全加器為基本元件,用例化語(yǔ)句寫(xiě)出語(yǔ)句寫(xiě)出8位二進(jìn)制全加器的頂層文件,并討論此加法器的電位二進(jìn)制全加器的頂層文
43、件,并討論此加法器的電路特性。路特性。實(shí)實(shí) 驗(yàn)驗(yàn) 實(shí)驗(yàn)實(shí)驗(yàn)5-2 簡(jiǎn)單時(shí)序電路的設(shè)計(jì)簡(jiǎn)單時(shí)序電路的設(shè)計(jì)(1) 實(shí)驗(yàn)?zāi)康模菏煜?shí)驗(yàn)?zāi)康模菏煜uartus的的VHDL文本設(shè)計(jì)過(guò)程,學(xué)文本設(shè)計(jì)過(guò)程,學(xué)習(xí)簡(jiǎn)單時(shí)序電路的設(shè)計(jì)、仿真和硬件測(cè)試。習(xí)簡(jiǎn)單時(shí)序電路的設(shè)計(jì)、仿真和硬件測(cè)試。(2) 實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容1:根據(jù)實(shí)驗(yàn):根據(jù)實(shí)驗(yàn)5-1的步驟和要求,設(shè)計(jì)觸發(fā)器的步驟和要求,設(shè)計(jì)觸發(fā)器(使使用例用例5-9),給出程序設(shè)計(jì)、軟件編譯、仿真分析、硬件測(cè)試,給出程序設(shè)計(jì)、軟件編譯、仿真分析、硬件測(cè)試及詳細(xì)實(shí)驗(yàn)過(guò)程。及詳細(xì)實(shí)驗(yàn)過(guò)程。(3) 實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容2:根據(jù)實(shí)驗(yàn):根據(jù)實(shí)驗(yàn)5-1的步驟和要求,設(shè)計(jì)鎖存器的步驟和要
44、求,設(shè)計(jì)鎖存器(使使用例用例5-18),同樣給出程序設(shè)計(jì)、軟件編譯、仿真分析、硬件,同樣給出程序設(shè)計(jì)、軟件編譯、仿真分析、硬件測(cè)試及詳細(xì)實(shí)驗(yàn)過(guò)程。測(cè)試及詳細(xì)實(shí)驗(yàn)過(guò)程。(4) 實(shí)驗(yàn)報(bào)告:分析比較實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)報(bào)告:分析比較實(shí)驗(yàn)內(nèi)容1和和2的仿真和實(shí)測(cè)結(jié)果,的仿真和實(shí)測(cè)結(jié)果,說(shuō)明這兩種電路的異同點(diǎn),給出實(shí)驗(yàn)報(bào)告。說(shuō)明這兩種電路的異同點(diǎn),給出實(shí)驗(yàn)報(bào)告。(5) 實(shí)驗(yàn)思考題:用例實(shí)驗(yàn)思考題:用例5-9中的時(shí)鐘邊沿檢測(cè)表述,如何獲中的時(shí)鐘邊沿檢測(cè)表述,如何獲得電平觸發(fā)型鎖存器?得電平觸發(fā)型鎖存器?習(xí)習(xí) 題題 5-1. 畫(huà)出與下例實(shí)體描述對(duì)應(yīng)的原理圖符號(hào)元件:畫(huà)出與下例實(shí)體描述對(duì)應(yīng)的原理圖符號(hào)元件:ENTITY buf3s IS - 實(shí)體實(shí)體1: 三態(tài)緩沖器三態(tài)緩沖器 PORT (input : IN STD_LOGIC ; - 輸入端輸入端 enable : IN STD_LOGIC ; - 使能端使能端 output : OUT STD_LOGIC ) ; - 輸出端輸出端END buf3x ;ENTITY mux21 IS -實(shí)體實(shí)體2: 2選選1多路選擇器多路選擇器 PORT (in0, in1, sel : IN STD_LOGIC; output : OUT STD_LOGIC); 習(xí)習(xí) 題題 5-2.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州大學(xué)《圖像處理技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴州財(cái)經(jīng)職業(yè)學(xué)院《古生物及地史學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025陜西建筑安全員知識(shí)題庫(kù)
- 2025年江蘇省建筑安全員-B證考試題庫(kù)附答案
- 貴陽(yáng)信息科技學(xué)院《中外城市發(fā)展與規(guī)劃史》2023-2024學(xué)年第一學(xué)期期末試卷
- 硅湖職業(yè)技術(shù)學(xué)院《英語(yǔ)寫(xiě)作1》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025甘肅省建筑安全員知識(shí)題庫(kù)附答案
- 廣州新華學(xué)院《智能感知與移動(dòng)計(jì)算》2023-2024學(xué)年第一學(xué)期期末試卷
- 期貨交易知識(shí)入門(mén)-理論與實(shí)務(wù)課件(考試參考)
- 稅金分析課件
- GB/T 9755-2024合成樹(shù)脂乳液墻面涂料
- 嗶哩嗶哩MATES人群資產(chǎn)經(jīng)營(yíng)白皮書(shū)【嗶哩嗶哩】
- 【歷史】第一、二單元測(cè)試題2024~2025學(xué)年統(tǒng)編版七年級(jí)歷史上冊(cè)
- 婚姻家庭規(guī)劃
- 認(rèn)識(shí)實(shí)習(xí)報(bào)告(10篇)
- 【MOOC】?jī)?nèi)科護(hù)理學(xué)-中山大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 2024年商業(yè)地產(chǎn)買(mǎi)賣(mài)合同樣本
- 2024年度軟件定制開(kāi)發(fā)合同(ERP系統(tǒng))3篇
- 家族族譜模板
- 家譜修編倡議書(shū)范文
- 2023-2024學(xué)年廣東省深圳市福田區(qū)七年級(jí)(上)期末英語(yǔ)試卷
評(píng)論
0/150
提交評(píng)論