教案第五章_vhdl設計1_第1頁
教案第五章_vhdl設計1_第2頁
教案第五章_vhdl設計1_第3頁
教案第五章_vhdl設計1_第4頁
教案第五章_vhdl設計1_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、5.1 5.1 多路選擇器多路選擇器VHDLVHDL描述描述5.2 5.2 寄存器描述及其寄存器描述及其VHDLVHDL語言現(xiàn)象語言現(xiàn)象5.3 15.3 1位二進制全加器的位二進制全加器的VHDLVHDL設計設計5.4 5.4 基本組合邏輯電路基本組合邏輯電路VHDLVHDL描述描述5.5 5.5 擴展設計擴展設計實驗實驗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è)標準硬件描述語言、工業(yè)標準硬件描述語言用語言的方式而非圖形等方式描述硬件電路用語言的方式而非圖形等方

3、式描述硬件電路容易修改容易修改容易保存容易保存特別適合于設計的電路有:特別適合于設計的電路有:復雜組合邏輯電路,如:復雜組合邏輯電路,如: 譯碼器、編碼器、加減法器、多路選擇器、地址譯碼譯碼器、編碼器、加減法器、多路選擇器、地址譯碼器器. 狀態(tài)機狀態(tài)機 等等等等.VHDL VHDL 描述描述輸入端口輸入端口輸出端口輸出端口電路的行為和功能電路的行為和功能VHDLVHDL標準:標準: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 ;實體結(jié)構(gòu)體5.1 多路選擇器多路選擇器VHDL描述描述圖圖5-1 mux21a實體實體圖圖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;從三個語句的順序問題入手,理解并行性問題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功能時序波形功能時序波形5.1.2 VHDL相關(guān)語句說明相關(guān)語句說明【例【例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)語句說明相關(guān)語句說明2. 2. 實體名實體名3. PORT3. PORT語句和端口信號名語句和端口信號名4. 4. 端口模式端口模式INOUTINOUTBUFFER5. 5. 數(shù)據(jù)類型數(shù)據(jù)類型BITBIT5.1.2 VHDL相關(guān)語句說明相關(guān)語句說明6. 6. 結(jié)構(gòu)體表達結(jié)構(gòu)體表達【例【例5-7】ARCHITECTURE arch_name OF e_name IS (說明語句說明語句)BEGIN (功能描述語句功能描述語句)END ARCHITECTURE arch_name

9、;或:或:【例【例5-8】ARCHITECTURE arch_name OF e_name IS (說明語句說明語句)BEGIN (功能描述語句功能描述語句)END arch_name ;7. 7. 信號傳輸信號傳輸( (賦值賦值) )符號和數(shù)據(jù)比較符號符號和數(shù)據(jù)比較符號5.1.2 VHDL相關(guān)語句說明相關(guān)語句說明8. 8. 邏輯操作符邏輯操作符ANDAND、OROR、NOTNOT9. IF_THEN9. IF_THEN條件語句條件語句10. WHEN_ELSE10. WHEN_ELSE條件信號賦值語句條件信號賦值語句賦值目標賦值目標 = 表達式表達式 WHEN 賦值條件賦值條件 ELSE 表

10、達式表達式 WHEN 賦值條件賦值條件 ELSE . 表達式表達式 ;11. PROCESS11. PROCESS進程語句和順序語句進程語句和順序語句12. 12. 文件取名和存盤文件取名和存盤5.1.3 VHDL5.1.3 VHDL設計的基本概念和語句小節(jié)設計的基本概念和語句小節(jié)數(shù)據(jù)類型數(shù)據(jù)類型信號賦值符信號賦值符條件比較符條件比較符 延時延時實體實體結(jié)構(gòu)體結(jié)構(gòu)體端口定義端口定義端口模式端口模式邏輯操作符邏輯操作符IFIF條件語句條件語句并行條件語句并行條件語句進程語句進程語句順序語句順序語句并行語句并行語句文件取名文件取名文件存盤文件存盤病房呼叫系統(tǒng)設計 要求用要求用FPGAFPGA實現(xiàn)一

11、個病房呼叫系統(tǒng),主要功能要實現(xiàn)一個病房呼叫系統(tǒng),主要功能要求如下:求如下:(1 1)共有)共有5 5個病房,每個病房均設有一個呼叫按鈕,個病房,每個病房均設有一個呼叫按鈕,同時在護士值班室裝有同時在護士值班室裝有5 5個指示燈;個指示燈;(2 2)5 5個病房中,個病房中,1 1個是特級病房,其余個是特級病房,其余4 4個是普通病個是普通病房。當特級病房有呼叫請求時,優(yōu)先響應,護士值班房。當特級病房有呼叫請求時,優(yōu)先響應,護士值班室對應的燈亮,其余的不亮,只有在特級病房沒有呼室對應的燈亮,其余的不亮,只有在特級病房沒有呼叫請求時,普通病房的呼叫才會點亮相應的指示燈。叫請求時,普通病房的呼叫才會

12、點亮相應的指示燈。(3 3)完成電路全部設計后,下載并運行程序,驗證)完成電路全部設計后,下載并運行程序,驗證設計課題的正確性。設計課題的正確性。5.2 5.2 寄存器描述及其寄存器描述及其VHDLVHDL語言現(xiàn)象語言現(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 ; -類似于在芯片內(nèi)部定義一個數(shù)據(jù)的暫存節(jié)點類似于在芯片內(nèi)部定義一個數(shù)據(jù)的暫存節(jié)點 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描述的語言現(xiàn)象說明描述的語言現(xiàn)象說明1. 1. 標準邏輯位數(shù)據(jù)類型標準邏輯位數(shù)據(jù)類型STD_LOGICSTD_LO

14、GICBIT數(shù)據(jù)類型定義:數(shù)據(jù)類型定義: TYPE BIT IS(0,1);STD_LOGIC數(shù)據(jù)類型定義:數(shù)據(jù)類型定義:TYPE STD_LOGIC IS (U,X,0,1,Z,W,L,H,-);STD_LOGIC所定義的所定義的9種數(shù)據(jù)的含義是:種數(shù)據(jù)的含義是:U表示未初始化的;表示未初始化的; X表示強未知的;表示強未知的; 0表示強邏輯表示強邏輯0; 1表示強邏輯表示強邏輯1; Z表示高阻態(tài);表示高阻態(tài); W 表示弱未知的;表示弱未知的; L表示弱邏輯表示弱邏輯0; H表示弱邏輯表示弱邏輯1; -表示忽略。表示忽略。5.2.2 D觸發(fā)器觸發(fā)器VHDL描述的語言現(xiàn)象說明描述的語言現(xiàn)象說明

15、2. 2. 設計庫和標準程序包設計庫和標準程序包3. SIGNAL3. SIGNAL信號定義和數(shù)據(jù)對象信號定義和數(shù)據(jù)對象【例【例5-10】ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1 : STD_LOGIC ; -類類似于在芯片似于在芯片內(nèi)內(nèi)部定部定義義一一個數(shù)個數(shù)據(jù)的據(jù)的暫暫存存節(jié)節(jié)點點,數(shù)數(shù)據(jù)的據(jù)的進進出不像端口信出不像端口信號號那那樣樣受限制受限制 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 ;使用庫和程序包的一般定義表式是:使用庫和程序包的一般定義表式是: LIBRARY ; USE .ALL ; 5.2.2 D觸發(fā)器觸發(fā)器VHDL描述的語言現(xiàn)象說明描述的語言現(xiàn)象說明4. 4. 上升沿檢測表式和信號屬性函數(shù)上升沿檢測表式和信號屬性函數(shù)EVENTEVENT 關(guān)鍵詞關(guān)鍵詞EVENTEVENT是信號屬性,是信號屬性,VHDLVHDL通過以下表式來測定某通過以下表式來測定某信號的跳變邊沿:信號的跳變邊沿: EVENTEVENT5. 5. 不完整條件語句與時序電路不完整條件語句與時序電路【例【例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 實現(xiàn)時序電路的實現(xiàn)時序電路的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) - 必須打開必須打開STD_LOGIC_1164程序包程序包 THEN Q1 = D ; END IF; END PROCESS ; Q = Q1 ; -在此,賦值語句可以放在進程外,作為并行賦值語句在此,賦值語句可以放在進程外,作為并行賦值語句 END ; 【例【例4-12】.PROCESS BEGIN wait until CLK = 1 ; -利用利用wait語句語

20、句 Q = D ;END PROCESS; 【例【例4-13】.PROCESS (CLK) BEGIN IF CLK = 1 THEN Q = D ; -利用進程的啟動特性產(chǎn)生對利用進程的啟動特性產(chǎn)生對CLK的邊沿檢測的邊沿檢測 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 異步時序電路設計異步時序電路設計 【例【例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設計基本概念和語言現(xiàn)象小節(jié)設計

22、基本概念和語言現(xiàn)象小節(jié)數(shù)據(jù)類型數(shù)據(jù)對象信號屬性時鐘檢測VHDL庫程序包時序電路異步時序課堂練習:請寫出帶異步清零端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ā)器擴展應用延遲電路D觸發(fā)器擴展應用觸發(fā)器擴展應用微分電路微分電路(延遲電路的應用延遲電路的應用)將原來可能超過一個時鐘脈沖周期寬度將原來可能超過一個時鐘脈沖周期寬度的信號微分成恰好只有一個周期。的信號微分成恰好只有一個周期。微分信號形式有三種:上升沿微分,下微分信號形式有三種:上升沿微分,下降沿微分、升降沿微分。降沿微分、升降沿微分。 彈跳消除電路彈跳消除電路 設計中經(jīng)常用到的鍵盤通常是機械開關(guān)設計中經(jīng)常用到的鍵盤通常

24、是機械開關(guān)結(jié)構(gòu),因此在開關(guān)切換的瞬間會在接觸點出現(xiàn)結(jié)構(gòu),因此在開關(guān)切換的瞬間會在接觸點出現(xiàn)信號來回彈跳的現(xiàn)象,對于靈敏度較高的電路信號來回彈跳的現(xiàn)象,對于靈敏度較高的電路這種彈跳將很可能會造成誤動作輸入,從而影這種彈跳將很可能會造成誤動作輸入,從而影響操作的正確性。響操作的正確性。 從下圖中可以觀察出彈跳現(xiàn)象產(chǎn)生的原從下圖中可以觀察出彈跳現(xiàn)象產(chǎn)生的原因,雖然只是按下按鍵一次然后放掉,然而實因,雖然只是按下按鍵一次然后放掉,然而實際產(chǎn)生的按鍵信號卻不止跳動一次,經(jīng)過取樣際產(chǎn)生的按鍵信號卻不止跳動一次,經(jīng)過取樣信號的檢查后,將會造成誤判斷,以為鍵盤按信號的檢查后,將會造成誤判斷,以為鍵盤按了兩次。

25、如果調(diào)整抽樣頻率,可以發(fā)現(xiàn)彈跳現(xiàn)了兩次。如果調(diào)整抽樣頻率,可以發(fā)現(xiàn)彈跳現(xiàn)象獲得了改善。象獲得了改善。 圖 彈跳現(xiàn)象產(chǎn)生錯誤的抽樣結(jié)果 抽樣結(jié)果抽樣信號按鍵信號圖 調(diào)整抽樣頻率后得到的抽樣結(jié)果 抽樣結(jié)果抽樣信號按鍵信號PRNCLRNDQPRNCLRNDQDFFVCC13D_INCLKD0DFF1011D18NOTNOT97AND26AND2D_OUTSRQQ圖圖 彈跳消除電路的內(nèi)部實現(xiàn)原理圖彈跳消除電路的內(nèi)部實現(xiàn)原理圖 彈跳消除電路的內(nèi)部實現(xiàn)原理圖彈跳消除電路的內(nèi)部實現(xiàn)原理圖彈跳消除電路的實現(xiàn)原理如上圖所示,先將鍵盤的輸入信彈跳消除電路的實現(xiàn)原理如上圖所示,先將鍵盤的輸入信號號D_IND_IN做

26、為電路的輸入信號,做為電路的輸入信號,CLKCLK是電路的時鐘脈沖信號,是電路的時鐘脈沖信號,也就是取樣信號,也就是取樣信號,D_IND_IN經(jīng)過兩級經(jīng)過兩級D D觸發(fā)器延時后再使用觸發(fā)器延時后再使用RSRS觸觸發(fā)器處理。發(fā)器處理。此處此處RSRS觸發(fā)器的前端連接和非門的處理原則是觸發(fā)器的前端連接和非門的處理原則是 (1) (1) 因為一般人的按鍵速度至多是因為一般人的按鍵速度至多是1010次次/ /秒,亦即一次秒,亦即一次按鍵時間是按鍵時間是100 ms100 ms,所以按下的時間可估算為,所以按下的時間可估算為50 ms50 ms。以取樣信號以取樣信號CLKCLK的周期為的周期為8 ms8

27、 ms計,則可以取樣到計,則可以取樣到6 6次。次。 (2) (2) 對于不穩(wěn)定的噪聲,在對于不穩(wěn)定的噪聲,在4ms4ms以下則至多抽樣一次。以下則至多抽樣一次。 (3) (3) 在觸發(fā)器之前,接上在觸發(fā)器之前,接上AND-NOTAND-NOT之后,之后,SRSR的組態(tài)如下的組態(tài)如下表所示。表所示。 根據(jù)以上原理實現(xiàn)電路,并完成波形仿真。根據(jù)以上原理實現(xiàn)電路,并完成波形仿真。5.3 15.3 1位二進制全加器的位二進制全加器的VHDLVHDL設計設計圖圖5-10半加器半加器h_adder電路圖電路圖圖圖5-11 全加器全加器f_adder電路圖電路圖5.3.1 半加器描述和半加器描述和CASE

28、語句語句absoco0000011010101101表表5-1 半加器半加器h_adder邏輯功能真值表邏輯功能真值表1. CASE1. CASE語句語句CASE語句的一般表式是:語句的一般表式是:CASE ISWhen = ; . ; ;When = ; . ; ;.END CASE ;2. 2. 標準邏輯矢量數(shù)據(jù)類型標準邏輯矢量數(shù)據(jù)類型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ù)組長元素與元素并置,并置后的數(shù)組長度為度為4 .IF a d = 101011 THEN . - 在在IF條件句中可以使用并置符條件句中可以使用并置符 5.3.1 半加器描述和半加器描述和CASE語句語句在使用在使用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語句語句【例【例5-20】 LIBRARY IEEE ;-或門邏輯描述或門邏輯描述 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 全加器描述和例化語句全加器描述和例化語句 元件例化語句由兩部分組成,第一部分是對一個現(xiàn)成的設計實體定義為一個元件,語句的功能是對待調(diào)用的元件作出調(diào)用聲明,它的最簡表達式如下所示: COMPONENT 元件名 IS PORT (端口名表) ; END COMPO

34、NENT 文件名 ; 元件例化語句的第二部分則是此元件與當前設計實體元件例化語句的第二部分則是此元件與當前設計實體( (頂層文件頂層文件) )中元件間及端口的連接說明。語句的表達式如下:中元件間及端口的連接說明。語句的表達式如下: 例化名例化名 : : 元件名元件名 PORT MAP( PORT MAP( 端口名端口名 = = 連接端口名連接端口名,.);,.);STEP1STEP1:建立:建立 工作庫文件夾工作庫文件夾STEP2STEP2:輸入設計項目:輸入設計項目原理圖原理圖/VHDL/VHDL文本代碼文本代碼STEP3STEP3:存盤,注意:存盤,注意 原理圖原理圖/ /文本取名文本取名

35、STEP4STEP4:將設計項:將設計項目設置成目設置成ProjectProjectSTEP5STEP5:選:選擇目標器件擇目標器件 STEP11 STEP11: 硬件測試硬件測試STEP9:引腳鎖定并編譯STEP8STEP8:仿真測:仿真測 試和波形分析試和波形分析STEP7STEP7:建立仿:建立仿真波形文件真波形文件STEP6STEP6:啟動編譯啟動編譯STEP10:編程 下載/配置VHDLVHDL文本輸入設計流程文本輸入設計流程 擴展設計擴展設計 用仿真軟件測試用仿真軟件測試74181器件功能。器件功能。 理解理解74181ALU器件的基本功能,并用器件的基本功能,并用VHDL語言進行

36、描述語言進行描述8位多功能位多功能ALU。 算術(shù)邏輯單元(算術(shù)邏輯單元(ALUALU)是計算機的核心)是計算機的核心部件之一,它能執(zhí)行加法和減法等算術(shù)運部件之一,它能執(zhí)行加法和減法等算術(shù)運算,也能執(zhí)行算,也能執(zhí)行“與與”、“或或”、“非非”等等邏輯運算。邏輯運算。不帶符號位的陣列乘法器0123456789404142434430313233342021222324101112131400010203040123401234_)_)PPPPPPPPPPbabababababababababababababababababababababababababbbbbaaaaa實實 驗驗 實驗實驗5-1

37、 簡單組合電路的設計簡單組合電路的設計(1) 實驗目的:熟悉實驗目的:熟悉Quartus的的VHDL文本設計流程全過程文本設計流程全過程,學習簡單組合電路的設計、多層次電路設計、仿真和硬件,學習簡單組合電路的設計、多層次電路設計、仿真和硬件測試。測試。(2) 實驗內(nèi)容實驗內(nèi)容1:首先按照:首先按照5.4節(jié)給出的步驟,利用節(jié)給出的步驟,利用Quartus完成完成2選選1多路選擇器的文本編輯輸入多路選擇器的文本編輯輸入(mux21a.vhd)和仿真測和仿真測試等步驟,給出圖試等步驟,給出圖5-17所示的仿真波形。最后在實驗系統(tǒng)上所示的仿真波形。最后在實驗系統(tǒng)上進行硬件測試,實際驗證本項設計的功能。

38、進行硬件測試,實際驗證本項設計的功能。實實 驗驗 實驗實驗5-1 簡單組合電路的設計簡單組合電路的設計(3 )實驗內(nèi)容實驗內(nèi)容2:將:將5.4節(jié)的多路選擇器看成是一個元件節(jié)的多路選擇器看成是一個元件mux21a,利用元件例,利用元件例化語句描述圖化語句描述圖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 ;實實 驗驗 實驗實驗5-1 簡單組合電路的設計簡單組

40、合電路的設計 按照5.4節(jié)的步驟對上例分別進行編譯、綜合、仿真。并對其仿真波形(圖5-23)作出分析說明。圖圖5-23 仿真波形仿真波形實實 驗驗 實驗實驗5-1 簡單組合電路的設計簡單組合電路的設計 (4) 實驗內(nèi)容3:引腳鎖定以及硬件下載測試。若目標器件是EPF10K10,建議選實驗電路模式5(附圖1-7),用鍵1(PIO0,引腳號為5)控制s0;用鍵2(PIO1,引腳號為6)控制s1;a3、a2和a1分別接clock5(引腳號為83)、clock0(引腳號為2)和clock2(引腳號為43);輸出信號outy仍接揚聲器spker(引腳號為3)。通過短路帽選擇clock0接256Hz信號,

41、clock5接1024Hz,clock2接8Hz信號。引腳鎖定窗如圖5-24所示。最后進行編譯、下載和硬件測試實驗。實實 驗驗 實驗實驗5-1 簡單組合電路的設計簡單組合電路的設計(5) 實驗報告:根據(jù)以上的實驗內(nèi)容寫出實驗報告,包括程實驗報告:根據(jù)以上的實驗內(nèi)容寫出實驗報告,包括程序設計、軟件編譯、仿真分析、硬件測試和詳細實驗過程;序設計、軟件編譯、仿真分析、硬件測試和詳細實驗過程;給出程序分析報告、仿真波形圖及其分析報告。給出程序分析報告、仿真波形圖及其分析報告。(6) 附加內(nèi)容:根據(jù)本實驗以上提出的各項實驗內(nèi)容和實驗附加內(nèi)容:根據(jù)本實驗以上提出的各項實驗內(nèi)容和實驗要求,設計要求,設計1位

42、全加器。位全加器。首先用首先用Quartus完成本章第完成本章第3節(jié)給出的全加器的設計,包節(jié)給出的全加器的設計,包括仿真和硬件測試。實驗要求分別仿真測試底層硬件或門和括仿真和硬件測試。實驗要求分別仿真測試底層硬件或門和半加器,最后完成頂層文件全加器的設計和測試,給出設計半加器,最后完成頂層文件全加器的設計和測試,給出設計原程序,程序分析報告、仿真波形圖及其分析報告。原程序,程序分析報告、仿真波形圖及其分析報告。(7) 實驗習題:以此實驗習題:以此1位二進制全加器為基本元件,用例化位二進制全加器為基本元件,用例化語句寫出語句寫出8位二進制全加器的頂層文件,并討論此加法器的電位二進制全加器的頂層文

43、件,并討論此加法器的電路特性。路特性。實實 驗驗 實驗實驗5-2 簡單時序電路的設計簡單時序電路的設計(1) 實驗目的:熟悉實驗目的:熟悉Quartus的的VHDL文本設計過程,學文本設計過程,學習簡單時序電路的設計、仿真和硬件測試。習簡單時序電路的設計、仿真和硬件測試。(2) 實驗內(nèi)容實驗內(nèi)容1:根據(jù)實驗:根據(jù)實驗5-1的步驟和要求,設計觸發(fā)器的步驟和要求,設計觸發(fā)器(使使用例用例5-9),給出程序設計、軟件編譯、仿真分析、硬件測試,給出程序設計、軟件編譯、仿真分析、硬件測試及詳細實驗過程。及詳細實驗過程。(3) 實驗內(nèi)容實驗內(nèi)容2:根據(jù)實驗:根據(jù)實驗5-1的步驟和要求,設計鎖存器的步驟和要

44、求,設計鎖存器(使使用例用例5-18),同樣給出程序設計、軟件編譯、仿真分析、硬件,同樣給出程序設計、軟件編譯、仿真分析、硬件測試及詳細實驗過程。測試及詳細實驗過程。(4) 實驗報告:分析比較實驗內(nèi)容實驗報告:分析比較實驗內(nèi)容1和和2的仿真和實測結(jié)果,的仿真和實測結(jié)果,說明這兩種電路的異同點,給出實驗報告。說明這兩種電路的異同點,給出實驗報告。(5) 實驗思考題:用例實驗思考題:用例5-9中的時鐘邊沿檢測表述,如何獲中的時鐘邊沿檢測表述,如何獲得電平觸發(fā)型鎖存器?得電平觸發(fā)型鎖存器?習習 題題 5-1. 畫出與下例實體描述對應的原理圖符號元件:畫出與下例實體描述對應的原理圖符號元件:ENTITY buf3s IS - 實體實體1: 三態(tài)緩沖器三態(tài)緩沖器 PORT (input : IN STD_LOGIC ; - 輸入端輸入端 enable : IN STD_LOGIC ; - 使能端使能端 output : OUT STD_LOGIC ) ; - 輸出端輸出端END buf3x ;ENTITY mux21 IS -實體實體2: 2選選1多路選擇器多路選擇器 PORT (in0, in1, sel : IN STD_LOGIC; output : OUT STD_LOGIC); 習習 題題 5-2.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論