第四章_VHDL設計初步簡_第1頁
第四章_VHDL設計初步簡_第2頁
第四章_VHDL設計初步簡_第3頁
第四章_VHDL設計初步簡_第4頁
第四章_VHDL設計初步簡_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、EDA技術實用教程技術實用教程n原理圖輸入與原理圖輸入與 VHDL文本輸入設計的區(qū)別文本輸入設計的區(qū)別qGraphic is what you draw is what you getn“ tell me what hardware you want and I will give it to you”qVHDL is what you write is what functional you getn“ tell me how your circuit should behave and the VHDL compiler will give you the hardware that do

2、es the job”n but the designer can not control how the circuit implement什么是什么是VHDL? Very high speed integrated Hardware Description Language (VHDL)q是是IEEE、工業(yè)標準硬件描述語言工業(yè)標準硬件描述語言q用語言的方式而非圖形等方式描述硬件電路用語言的方式而非圖形等方式描述硬件電路n容易修改容易修改n容易保存容易保存q特別適合于設計的電路有:特別適合于設計的電路有:n復雜組合邏輯電路,如:復雜組合邏輯電路,如: q譯碼器、編碼器、加減法器、多路選擇器、

3、地址譯碼器譯碼器、編碼器、加減法器、多路選擇器、地址譯碼器.n狀態(tài)機狀態(tài)機n等等等等.VHDL的功能和標準的功能和標準:n VHDL 描述描述q輸入端口輸入端口q輸出端口輸出端口q電路的行為和功能電路的行為和功能nVHDL有過兩個標準:有過兩個標準:qIEEE Std 1076-1987 (called VHDL 1987)qIEEE Std 1076-1993 (called VHDL 1993)VHDL Synthesis vs. other HDLs SynthesisnVHDL: “tell me how your circuit should behave and I will gi

4、ve you hardware that does the job”nABEL, PALASM, AHDL: “tell me what hardware you want and I will give it to you”Why using VHDL instead of GraphicnEasy to ModifynIt is more powerful than GraphicnVHDL is a portable language becauseqis device independentqthe same code can be applied to Device manufact

5、ured by Company A or Company B 【例例4-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 ;實體實體結構體結構體4.1 多路選擇器多路選擇器VHDL描述描述圖圖4-1 mux21a實體實體圖圖4-2 mux21a結構體結構體4.1.1 2選選1多路選擇器的多路選擇器的VHDL描

6、述描述實體描述的是電路器件的實體描述的是電路器件的端口構成和信號屬性。端口構成和信號屬性。結構體描述的是電路器件的結構體描述的是電路器件的內部邏輯功能或電路結構。內部邏輯功能或電路結構。WHEN_ELSE 并行語句并行語句對照對照1對照對照2【例例4-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; BEGIN d = a AND (NOT S) ; e = b AND s ; y

7、 = d OR e ;END ARCHITECTURE one ;【例【例4-3】 . . .ARCHITECTURE one OF mux21a IS BEGIN y = (a AND (NOT s) OR (b AND s) ;END ARCHITECTURE one;AND、OR、NOT等布爾方程表達式等布爾方程表達式 并行語句并行語句對照對照4.1.1 2選選1多路選擇器的多路選擇器的VHDL描述描述【例【例4-4】ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT );END ENTITY mux21a;ARCHITECTURE

8、one OF mux21a IS BEGIN PROCESS (a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y = b ; END IF; END PROCESS;END ARCHITECTURE one ;IF_THEN_ELSE 順序語句順序語句對照對照4.1.1 2選選1多路選擇器的多路選擇器的VHDL描述描述圖圖4-3 mux21a功能時序波形功能時序波形4.1.1 2選選1多路選擇器的多路選擇器的VHDL描述描述4.1.2 VHDL相關語法說明相關語法說明1. 實體表達實體表達【例【例4-5】ENTITY e_name IS PORT ( p_na

9、me : port_m data_type; . p_namei : port_mi data_type );END ENTITY e_name;或:或:【例【例4-5】ENTITY 實體名實體名 IS PORT ( 端口名端口名 : 端口模式端口模式 數(shù)據類型數(shù)據類型; . 端口名端口名 : 端口模式端口模式 數(shù)據類型數(shù)據類型 );END 實體名實體名; 關鍵詞關鍵詞 不分大小寫不分大小寫2. 實體名實體名(不能用中文或全用數(shù)字,不能以數(shù)字開頭,不能用中文或全用數(shù)字,不能以數(shù)字開頭,不能應用與不能應用與EDA工具庫中已定義好的元件名工具庫中已定義好的元件名)3. PORT語句和端口信號名語句

10、和端口信號名4. 端口模式端口模式INOUTINOUTBUFFER5. 數(shù)據類型數(shù)據類型BIT4.1.2 VHDL相關語法說明相關語法說明6. 結構體表達結構體表達【例【例4-6】ARCHITECTURE arch_name OF e_name IS (說明語句說明語句)BEGIN (功能描述語句功能描述語句)END ARCHITECTURE arch_name ;或:或:【例【例4-6】ARCHITECTURE 結構體名結構體名 OF 實體名實體名 IS (說明語句說明語句)BEGIN (功能描述語句功能描述語句)END 結構體名結構體名 ;7. 信號傳輸信號傳輸(賦值賦值)符號和數(shù)據比較符

11、號符號和數(shù)據比較符號對照對照14.1.2 VHDL相關語法說明相關語法說明8. 邏輯操作符邏輯操作符AND、OR、NOT (BIT/BOOLEAN/STD_LOGIC)9. IF_THEN條件語句條件語句(順序語句)(順序語句)10. WHEN_ELSE條件信號賦值語句條件信號賦值語句(并行語句)(并行語句)賦值目標賦值目標 = 表達式表達式 WHEN 賦值條件賦值條件 ELSE 表達式表達式 WHEN 賦值條件賦值條件 ELSE . 表達式表達式 ;11. PROCESS進進程語句和順序語句程語句和順序語句12. 文文件取名和存盤件取名和存盤(文件名最好與文件實體名相同)(文件名最好與文件實

12、體名相同)對照對照對照對照對照對照2對照對照4.1.2 VHDL相關語法說明相關語法說明4.1.3 VHDL設計的基本概念和語句小節(jié)設計的基本概念和語句小節(jié)(p76)數(shù)據類型數(shù)據類型信號賦值符信號賦值符條件比較符條件比較符 延時延時實體實體結構體結構體端口定義端口定義端口模式端口模式邏輯操作符邏輯操作符IFIF條件語句條件語句并行條件語句并行條件語句進程語句進程語句順序語句順序語句并行語句并行語句文件取名文件取名文件存盤文件存盤4.2 寄存器描述及其寄存器描述及其VHDL語言現(xiàn)語言現(xiàn)象象4.2.1 D觸發(fā)器的觸發(fā)器的VHDL描述描述【例【例4-7】LIBRARY IEEE ;USE IEEE.

13、STD_LOGIC_1164.ALL ; ENTITY DFF1 IS PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC );END ;ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1 : STD_LOGIC ; -類似于在芯片內部定義一個數(shù)據的暫存節(jié)點類似于在芯片內部定義一個數(shù)據的暫存節(jié)點 BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = D ; END IF; Q = Q1 ; -將內部的暫存數(shù)據向端口輸出將內部的暫存

14、數(shù)據向端口輸出 END PROCESS ;END bhv;D觸發(fā)器觸發(fā)器對照對照1 對照對照2 對照對照34.2.2 D觸發(fā)器觸發(fā)器VHDL描述的語言現(xiàn)象說明描述的語言現(xiàn)象說明1. 1. 標準邏輯位數(shù)據類型標準邏輯位數(shù)據類型STD_LOGICBIT數(shù)據類型定義:數(shù)據類型定義: TYPE BIT IS(0,1);STD_LOGIC數(shù)據類型定義:數(shù)據類型定義:TYPE STD_LOGIC IS (U,X,0,1,Z,W,L,H,-);STD_LOGIC所定義的所定義的9種數(shù)據的含義是種數(shù)據的含義是:U表示未初始化的;表示未初始化的; X表示強未知的;表示強未知的; 0表示強邏輯表示強邏輯0; 1表

15、示強邏輯表示強邏輯1; Z表示高阻態(tài);表示高阻態(tài); W 表示弱表示弱未知的;未知的; L表示弱邏輯表示弱邏輯0; H表示弱邏輯表示弱邏輯1; -表示表示忽略。忽略。對照對照12. 設計庫和標準程序包設計庫和標準程序包3. SIGNAL信號定義和數(shù)據對象信號定義和數(shù)據對象ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1 : STD_LOGIC ; BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = D ; END IF; Q = Q1 ; END PROCESS ;END bhv;使用庫和程序包的一般定

16、義表達式是:使用庫和程序包的一般定義表達式是: LIBRARY ; USE .ALL ; 4.2.2 D觸發(fā)器觸發(fā)器VHDL描述的語言現(xiàn)象說明描述的語言現(xiàn)象說明對照對照2數(shù)據對象有三類:信號、變量、常數(shù)數(shù)據對象有三類:信號、變量、常數(shù)VHDL中,被定義的標識符必須確定為某類數(shù)據中,被定義的標識符必須確定為某類數(shù)據對象,同時還必須定義為某種數(shù)據類型。對象,同時還必須定義為某種數(shù)據類型。4. 上升沿檢測表達式和信號屬性函數(shù)上升沿檢測表達式和信號屬性函數(shù)EVENT 關鍵詞關鍵詞EVENT是信號屬性,是信號屬性,VHDL通過以下表達式來通過以下表達式來測定某信號的跳變邊沿:測定某信號的跳變邊沿: EV

17、ENT【例【例4-8】ARCHITECTURE bhv OF DFF1 IS BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q b1 THEN q1 = 1 ; ELSIF a1 b1 THEN q1 b1 THEN q1 = 1 ; ELSE q1 = 0 ; END IF; END PROCESS ; END 圖圖4-6 例例4-10的電路圖的電路圖不完整條件語句的不完整條件語句的出現(xiàn)是引入時序電出現(xiàn)是引入時序電路結構的必要條件路結構的必要條件和關鍵所在。和關鍵所在。4.2.3 實現(xiàn)時序電路的實現(xiàn)時序電路的VHDL不同表達方式

18、不同表達方式【例【例4-11】.PROCESS (CLK) BEGIN IF CLKEVENT AND (CLK=1) AND (CLKLAST_VALUE=0) THEN Q = D ; -確保確保CLK的變化是一次上升沿的跳變的變化是一次上升沿的跳變 END IF; END PROCESS ;【例【例4-12】.PROCESS (CLK) BEGIN IF CLK=1 AND CLKLAST_VALUE=0 -同例同例4-11 THEN Q = D ; END IF; END PROCESS ;【例【例4-13】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.A

19、LL ;ENTITY DFF3 IS PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF3 IS SIGNAL Q1 : STD_LOGIC; BEGIN PROCESS (CLK) BEGIN IF rising_edge(CLK) - CLK的數(shù)據類型必須是的數(shù)據類型必須是STD_LOGIC THEN Q1 = D ; END IF; Q = Q1 ; END PROCESS ; END ;4.2.3 實現(xiàn)時序電路的實現(xiàn)時序電路的VHDL不同表達方式

20、不同表達方式【例【例4-14】 . PROCESS BEGIN wait until CLK = 1 ; -利用利用wait語句語句 Q = D ; END PROCESS;【例【例4-15】. PROCESS (CLK) BEGIN IF CLK = 1 THEN Q = D ; -利用進程的啟動特性產生對利用進程的啟動特性產生對CLK的邊沿檢測的邊沿檢測 END IF; END PROCESS ;【例【例4-16】. PROCESS (CLK,D) BEGIN IF CLK = 1 -電平觸發(fā)型寄存器電平觸發(fā)型寄存器 THEN Q = D ; END IF; END PROCESS ;4.

21、2.3 實現(xiàn)時序電路的實現(xiàn)時序電路的VHDL不同表達方式不同表達方式圖圖4-7 邊沿型觸發(fā)器時序波形邊沿型觸發(fā)器時序波形圖圖4-8 電平觸發(fā)型寄存器的時序波形電平觸發(fā)型寄存器的時序波形4.2.3 實現(xiàn)時序電路的實現(xiàn)時序電路的VHDL不同表達方式不同表達方式 4.2.4 異步時序電路設計異步時序電路設計 【例例4-17】 . ARCHITECTURE bhv OF MULTI_DFF IS SIGNAL Q1,Q2 : STD_LOGIC; BEGINPRO1: PROCESS (CLK) BEGIN IF CLKEVENT AND CLK=1 THEN Q1 = NOT (Q2 OR A);

22、END IF; END PROCESS ;PRO2:PROCESS (Q1) BEGIN IF Q1EVENT AND Q1=1 THEN Q2 = D; END IF; QQ = Q2 ; END PROCESS ; 圖圖4-9 例例4-17綜合的電路綜合的電路一個時鐘進程只一個時鐘進程只能構成對應單一能構成對應單一時鐘信號的時序時鐘信號的時序電路。故異步邏電路。故異步邏輯需多個時鐘進輯需多個時鐘進程來構成。程來構成。n復習復習 qp70-86n預習預習qp86_92, q下次實驗課內容:下次實驗課內容:2位十進制數(shù)字頻率計設計(已位十進制數(shù)字頻率計設計(已經做完的同學可以考慮經做完的同學可

23、以考慮p167_實驗與設計中的實驗與設計中的6_2)n設計設計(兩人一組任選兩人一組任選1題,上繳題,上繳gdf和和scf等文件等文件)qP166_6-16-13n下次課上課地點下次課上課地點q本樓機房本樓機房205(影像)、(影像)、206(電子)(電子)4.3 1位二進制全加器的位二進制全加器的VHDL設計設計圖圖4-10 半加器半加器h_adder電路圖電路圖圖圖4-11 全加器全加器f_adder電路圖電路圖【例【例4-18】 LIBRARY IEEE ;-或門邏輯描述或門邏輯描述 USE IEEE.STD_LOGIC_1164.ALL; ENTITY or2a IS PORT (a,

24、 b :IN STD_LOGIC; c : OUT STD_LOGIC ); END ENTITY or2a; ARCHITECTURE one OF or2a IS BEGIN c = a OR b ; END ARCHITECTURE one;【例【例4-19】LIBRARY IEEE; -半加器描述半加器描述(1)USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT (a, b : IN STD_LOGIC; co, so : OUT STD_LOGIC); END ENTITY h_adder; ARCHITECTURE fh1 OF

25、h_adder is BEGIN so = NOT(a XOR (NOT b) ; co = a AND b ; END ARCHITECTURE fh1; 4.3.1 半加器描述和半加器描述和CASE語句語句4.3.1 半加器描述和半加器描述和CASE語句語句absoco0000011010101101表表4-1 半加器半加器h_adder邏輯功能真值表邏輯功能真值表1. CASECASE語句語句CASE語句的一般表達式是:語句的一般表達式是:CASE ISWhen = ; . ; ;When = ; . ; ;.END CASE ;順序順序語句語句【例【例4-20】LIBRARY IEEE

26、; -半加器描述半加器描述(2)USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT (a, b : IN STD_LOGIC; co, so : OUT 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

27、 fh1 ;對照對照說明說明:1)選擇值或標識符所代表的值必須在表達式的)選擇值或標識符所代表的值必須在表達式的取值范圍內,且選擇值取值范圍內,且選擇值只能出現(xiàn)只能出現(xiàn)1次次,不允許有相,不允許有相同選擇值的條件語句出現(xiàn);同選擇值的條件語句出現(xiàn);2)如果選擇值不能覆蓋表達式的所有取值,必)如果選擇值不能覆蓋表達式的所有取值,必須在最末一個條件句中用須在最末一個條件句中用OTHERS,以免綜合器插,以免綜合器插入不必要的鎖存器。入不必要的鎖存器。OTHERS只能出現(xiàn)一次,且必只能出現(xiàn)一次,且必須作為最后一種條件取值須作為最后一種條件取值。3)CASE語句執(zhí)行過程中語句執(zhí)行過程中必須選中,且只能選

28、中必須選中,且只能選中所列條件語句中的一條。所列條件語句中的一條。4)與)與whenelse 語句比較:語句比較: whenelse語句是語句是并行語句,但內部按順序執(zhí)行,故允許相同條件,并行語句,但內部按順序執(zhí)行,故允許相同條件,但前面的優(yōu)先。但前面的優(yōu)先。2. 標準邏輯矢量數(shù)據類型標準邏輯矢量數(shù)據類型STD_LOGIC_VECTORSTD_LOGIC_VECTOR3. 并置操作符并置操作符 以下是一些并置操作示例:以下是一些并置操作示例:SIGNAL a : STD_LOGIC_VECTOR (3 DOWNTO 0) ;SIGNAL d : STD_LOGIC_VECTOR (1 DOWN

29、TO 0) ; .a = 1 0 d(1) 1 ; - 元素與元素并置,并置后的數(shù)組長度為元素與元素并置,并置后的數(shù)組長度為4 .IF a d = 101011 THEN . - 在在IF條件句中可以使用并置符條件句中可以使用并置符 在使用在使用STD_LOGIC_VECTOR中,必須注明其數(shù)組寬度,即位寬,如:中,必須注明其數(shù)組寬度,即位寬,如: B : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ; 或或 SIGNAL A :STD_LOGIC_VECTOR(1 TO 4)4.3.1 半加器描述和半加器描述和CASE語句語句對照對照【例【例4-21】 . -半加器描述

30、半加器描述(3) SIGNAL abc,cso : STD_LOGIC_VECTOR(1 DOWNTO 0 ); BEGIN abc = a & b ; co = 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;對照對照4.3.2 全加器描述和例化語句全加器描述和例化語句 由兩部分組成,由兩部分組成,第一部分是第一部分是將一個現(xiàn)成的設

31、計實體定將一個現(xiàn)成的設計實體定義為一個元件,語句的功能是對待調用的元件作出義為一個元件,語句的功能是對待調用的元件作出調用聲調用聲明明,它的最簡表達式如下所示:,它的最簡表達式如下所示: COMPONENT 元件名元件名 PORT (端口名表端口名表) ; END COMPONENT 文件名文件名 ; 第二部分是第二部分是待用元件與當前設計實體待用元件與當前設計實體(頂層文件頂層文件)中元件中元件間及端口的間及端口的連接說明連接說明。語句的表達式如下:。語句的表達式如下: 例化名例化名 : 元件名元件名 PORT MAP( 端口名端口名 = 連接端口名連接端口名,.);指待調用指待調用元件的元

32、件的指頂層指頂層元件的元件的對照對照必須有必須有/似插座名似插座名待調用待調用元件名元件名4.3.3 VHDL設計基本概念和語言現(xiàn)象小節(jié)設計基本概念和語言現(xiàn)象小節(jié)(p92)數(shù)據類型數(shù)據類型數(shù)據對象數(shù)據對象信號屬性信號屬性時鐘檢測時鐘檢測VHDLVHDL庫庫程序包程序包時序電路時序電路異步時序異步時序 真值表表達真值表表達 標準邏輯矢量標準邏輯矢量 并置操作符并置操作符 元件例化元件例化VHDL 設計流程設計流程 : V-S-F-PHDLEntryUse any Text Editor to input your designynthesisUse any VHDL Compiler to co

33、nvertyour language designto Gate level withoptimization in termof Speed / AreaittingArchitecture SynthesisTo map the logicto Altera Device Architecturee.g. LUT, Carry/Cascade Chain,EAB.(further logic optimization)rogra. Down LoadConfigure/Programming the Altera Deviceand do on board debugging,protot

34、yping or productionSTEP1STEP1:建立建立工作庫文件夾工作庫文件夾STEP2STEP2:輸入設計項目輸入設計項目原理圖原理圖/ /VHDLVHDL文本代碼文本代碼STEP3STEP3:存盤,注意存盤,注意 原理圖原理圖/ /文本取名文本取名STEP4STEP4:將設計項將設計項目設置成目設置成ProjectProjectSTEP5STEP5:選選擇目標器件擇目標器件 STEP11STEP11: 硬件測試硬件測試STEP9STEP9:引腳引腳鎖定并編譯鎖定并編譯STEP8STEP8:仿真測仿真測 試和波形分析試和波形分析STEP7STEP7:建立仿建立仿真波形文件真波形

35、文件STEP6STEP6:啟動編譯啟動編譯STEP10STEP10:編程編程 下載下載/ /配置配置VHDL文本輸入設計流程文本輸入設計流程 4.4 VHDL文本輸入設計方法初步文本輸入設計方法初步為設計為設計MUX新建一個文新建一個文件夾作工作庫件夾作工作庫文件夾名取為文件夾名取為My_prjct注意,不可注意,不可用中文!用中文!4.4.1 編輯輸入并保存編輯輸入并保存VHDL源文件源文件新建一個設新建一個設計文件計文件使用文本輸入方使用文本輸入方法設計,必須選擇法設計,必須選擇打開文本編輯器打開文本編輯器圖圖4-12 建立文本編輯器對話框建立文本編輯器對話框圖圖4-13 在文本編輯窗中輸

36、入在文本編輯窗中輸入VHDL文件并存盤文件并存盤文本編輯窗文本編輯窗用鍵盤輸入設計用鍵盤輸入設計文件:多路選擇器文件:多路選擇器存盤文件名必須存盤文件名必須取為:取為:mux21a.vhd注意,要存在注意,要存在自己建立的自己建立的文件夾中文件夾中文件存盤后,文件存盤后,關鍵詞將改變關鍵詞將改變顏色!否則文顏色!否則文件名一定有錯!件名一定有錯!4.4.2 將當前設計設定為工程和選定目標器件將當前設計設定為工程和選定目標器件圖圖4-14 設定當前文件為工程設定當前文件為工程首先點擊這里首先點擊這里然后選擇此項,然后選擇此項,將當前的文本將當前的文本設計文件設置成設計文件設置成工程工程最后注意此

37、路最后注意此路徑指向的改變徑指向的改變注意,此路徑指注意,此路徑指向當前的工程!向當前的工程!首先選擇這里首先選擇這里器件系列選擇窗,器件系列選擇窗,選擇選擇ACEX1K系列系列根據實驗板上的根據實驗板上的目標器件型號選目標器件型號選擇,如選擇,如選EP1K100注意,首先消去這注意,首先消去這里的勾,以便使所里的勾,以便使所有速度級別的器件有速度級別的器件都能顯示出來都能顯示出來選擇編譯器選擇編譯器編譯窗編譯窗4.4.3 選擇選擇VHDL文本編譯版本號和排錯文本編譯版本號和排錯圖圖4-15 設定設定VHDL編譯版本號編譯版本號選擇此項選擇此項選擇選擇VHDL1993項項選擇此項選擇此項消去這

38、里的勾消去這里的勾編譯出錯!編譯出錯!4.4.3 選擇選擇VHDL文本編譯版本號和排錯文本編譯版本號和排錯圖圖4-16 確定設計文件中的錯誤確定設計文件中的錯誤打開錯誤提示窗打開錯誤提示窗錯誤所在錯誤所在錯誤所在錯誤所在改正錯誤改正錯誤完成編譯!完成編譯!首先選擇此項,首先選擇此項,為仿真測試新為仿真測試新建一個文件建一個文件4.4.4 時序仿真時序仿真選擇波形選擇波形編輯器文件編輯器文件從從SNF文件中文件中輸入設計文件輸入設計文件的信號節(jié)點的信號節(jié)點點擊點擊“LIST”SNF文件中文件中的信號節(jié)點的信號節(jié)點用此鍵選擇左用此鍵選擇左窗窗中需要的信中需要的信號進入右窗號進入右窗最后點擊最后點擊

39、“OK” 消去這里的勾,消去這里的勾,以便方便設置以便方便設置輸入電平輸入電平在在Options菜單中消去網格對齊菜單中消去網格對齊Snap to Grid的選擇的選擇(消去對勾消去對勾) 選擇選擇End Time調整仿真時間調整仿真時間區(qū)域。區(qū)域。選擇選擇65微秒微秒比較合適比較合適用此鍵改變仿真用此鍵改變仿真區(qū)域坐標到合適區(qū)域坐標到合適位置。位置。先點擊先點擊b,將將其點為黑色其點為黑色然后先點擊此處然后先點擊此處將彈出時鐘周期將彈出時鐘周期設置窗設置窗設置輸入信號設置輸入信號b的周期為的周期為800ns設置輸入信號設置輸入信號a的周期為的周期為2us仿真波形仿真波形文件存盤文件存盤!選擇

40、仿真器選擇仿真器運行仿真器運行仿真器4.4.4 時序仿真時序仿真圖圖4-17 mux21a仿真波形仿真波形引腳鎖定引腳鎖定可選擇鍵可選擇鍵8作為多作為多路選擇器的輸入路選擇器的輸入“s”選擇實驗電路結構圖選擇實驗電路結構圖6可選擇輸出可選擇輸出“y”的信號從揚的信號從揚聲器輸出聲器輸出信號信號a和和b輸入輸入兩個不同頻率兩個不同頻率的時鐘信號的時鐘信號鍵鍵8的引腳名的引腳名作為作為“s”信號信號鍵鍵8的引腳名的引腳名對應的引腳號對應的引腳號選擇實驗板上選擇實驗板上插有的目標器件插有的目標器件揚聲器引腳號揚聲器引腳號為:為:99信號信號b由由“clock0”輸入輸入時鐘信號,時鐘信號,引腳號為:

41、引腳號為:126信號信號a由由“clock5”輸入輸入時鐘信號,時鐘信號,引腳號為:引腳號為:56注意,對于注意,對于GWAK30+板,板,時鐘引腳必須查閱以下時鐘引腳必須查閱以下 “時鐘了解表時鐘了解表1” 引腳對應情況引腳對應情況實驗板位置實驗板位置 多路選擇器信號多路選擇器信號 通用目標器件引腳名通用目標器件引腳名 目標器件目標器件EP1K30TC144引腳號引腳號 1、鍵、鍵8: s PIO13 272、揚聲器、揚聲器 y SPEAKER 993、時鐘輸入信號、時鐘輸入信號 b CLOCK0 1264、時鐘輸入信號、時鐘輸入信號 a CLOCK5 56選擇引腳選擇引腳鎖定選項鎖定選項引

42、腳窗引腳窗此處輸入此處輸入信號名信號名此處輸入此處輸入引腳名引腳名按鍵按鍵“ADD”即可即可注意引腳屬性注意引腳屬性錯誤引腳名將錯誤引腳名將無正確屬性!無正確屬性!再編譯一次,再編譯一次,將引腳信息將引腳信息進去進去選擇編程器,選擇編程器,準備將設計準備將設計好的半加器好的半加器文件下載到目文件下載到目器件中去器件中去編程窗編程窗在編程窗打開在編程窗打開的情況下選擇的情況下選擇下載方式設置下載方式設置選擇此項下選擇此項下載方式載方式下載(配置)下載(配置)成功!成功!4.4.5 硬件測試硬件測試選擇電路選擇電路模式為模式為“6”模式選擇鍵模式選擇鍵“s”為高為高電平電平注意時鐘注意時鐘頻率選擇

43、頻率選擇CLOCK5:a頻率選擇頻率選擇1024HzCLOCK0:b頻率選擇頻率選擇256Hz實實 驗驗 實驗實驗4-1 簡單組合電路的設計簡單組合電路的設計(1) 實驗目的:實驗目的:熟悉熟悉Max+plus的的VHDL文本設計流程全過文本設計流程全過程,學習簡單組合電路的設計、多層次電路設計、仿真和硬程,學習簡單組合電路的設計、多層次電路設計、仿真和硬件測試。件測試。( 2 ) 實 驗 內 容實 驗 內 容 1 : 首 先 按 照首 先 按 照 4 . 4 節(jié) 給 出 的 步 驟 , 利 用節(jié) 給 出 的 步 驟 , 利 用MAX+plus完成完成2選選1多路選擇器的文本編輯輸入多路選擇器

44、的文本編輯輸入(mux21a.vhd)和仿真測試等步驟,給出圖和仿真測試等步驟,給出圖4-17所示的仿真波所示的仿真波形。最后在實驗系統(tǒng)上進行硬件測試,實際驗證本項設計的形。最后在實驗系統(tǒng)上進行硬件測試,實際驗證本項設計的功能。功能。實實 驗驗 實驗實驗4-1 簡單組合電路的設計簡單組合電路的設計(3 )實驗內容實驗內容2:將將5.4節(jié)的多路選擇器看成是一個元件節(jié)的多路選擇器看成是一個元件mux21a,利用元件例化利用元件例化語句描述圖語句描述圖5-20,并將此文件放在同一目錄,并將此文件放在同一目錄E:muxfile中。以下是參考程序:中。以下是參考程序: LIBRARY IEEE; USE

45、 IEEE.STD_LOGIC_1164.ALL; ENTITY MUXK IS PORT (a1,a2,a3,s0,s1 : IN STD_LOGIC; outy : OUT STD_LOGIC ); 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 ;實實 驗驗 實驗實驗4-1 簡單組合電路的設計簡單組合電路的設計 按照按照5.4節(jié)的步驟對上例分別進行編譯、綜合、仿真。并對其仿真波形節(jié)的步驟對上例分別進行編譯、綜合、仿真。并對其仿真波形(圖圖5-23)作出分析說明。作出分析說明。圖圖5-23 仿真波形仿真波形實實 驗驗 實驗實驗4-1 簡單組合電路的設計簡單組合電路的

溫馨提示

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

評論

0/150

提交評論