版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、EDA技術(shù)實(shí)用教程技術(shù)實(shí)用教程n原理圖輸入與原理圖輸入與 VHDL文本輸入設(shè)計(jì)的區(qū)別文本輸入設(shè)計(jì)的區(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è)標(biāo)準(zhǔn)硬件描述語(yǔ)言工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言q用語(yǔ)言的方式而非圖形等方式描述硬件電路用語(yǔ)言的方式而非圖形等方式描述硬件電路n容易修改容易修改n容易保存容易保存q特別適合于設(shè)計(jì)的電路有:特別適合于設(shè)計(jì)的電路有:n復(fù)雜組合邏輯電路,如:復(fù)雜組合邏輯電路,如: q譯碼器、編碼器、加減法器、多路選擇器、
3、地址譯碼器譯碼器、編碼器、加減法器、多路選擇器、地址譯碼器.n狀態(tài)機(jī)狀態(tài)機(jī)n等等等等.VHDL的功能和標(biāo)準(zhǔn)的功能和標(biāo)準(zhǔn):n VHDL 描述描述q輸入端口輸入端口q輸出端口輸出端口q電路的行為和功能電路的行為和功能nVHDL有過(guò)兩個(gè)標(biāo)準(zhǔn):有過(guò)兩個(gè)標(biāo)準(zhǔn):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 ;實(shí)體實(shí)體結(jié)構(gòu)體結(jié)構(gòu)體4.1 多路選擇器多路選擇器VHDL描述描述圖圖4-1 mux21a實(shí)體實(shí)體圖圖4-2 mux21a結(jié)構(gòu)體結(jié)構(gòu)體4.1.1 2選選1多路選擇器的多路選擇器的VHDL描
6、述描述實(shí)體描述的是電路器件的實(shí)體描述的是電路器件的端口構(gòu)成和信號(hào)屬性。端口構(gòu)成和信號(hào)屬性。結(jié)構(gòu)體描述的是電路器件的結(jié)構(gòu)體描述的是電路器件的內(nèi)部邏輯功能或電路結(jié)構(gòu)。內(nèi)部邏輯功能或電路結(jié)構(gòu)。WHEN_ELSE 并行語(yǔ)句并行語(yǔ)句對(duì)照對(duì)照1對(duì)照對(duì)照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等布爾方程表達(dá)式等布爾方程表達(dá)式 并行語(yǔ)句并行語(yǔ)句對(duì)照對(duì)照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 順序語(yǔ)句順序語(yǔ)句對(duì)照對(duì)照4.1.1 2選選1多路選擇器的多路選擇器的VHDL描述描述圖圖4-3 mux21a功能時(shí)序波形功能時(shí)序波形4.1.1 2選選1多路選擇器的多路選擇器的VHDL描述描述4.1.2 VHDL相關(guān)語(yǔ)法說(shuō)明相關(guān)語(yǔ)法說(shuō)明1. 實(shí)體表達(dá)實(shí)體表達(dá)【例【例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 實(shí)體名實(shí)體名 IS PORT ( 端口名端口名 : 端口模式端口模式 數(shù)據(jù)類型數(shù)據(jù)類型; . 端口名端口名 : 端口模式端口模式 數(shù)據(jù)類型數(shù)據(jù)類型 );END 實(shí)體名實(shí)體名; 關(guān)鍵詞關(guān)鍵詞 不分大小寫(xiě)不分大小寫(xiě)2. 實(shí)體名實(shí)體名(不能用中文或全用數(shù)字,不能以數(shù)字開(kāi)頭,不能用中文或全用數(shù)字,不能以數(shù)字開(kāi)頭,不能應(yīng)用與不能應(yīng)用與EDA工具庫(kù)中已定義好的元件名工具庫(kù)中已定義好的元件名)3. PORT語(yǔ)句和端口信號(hào)名語(yǔ)句
10、和端口信號(hào)名4. 端口模式端口模式INOUTINOUTBUFFER5. 數(shù)據(jù)類型數(shù)據(jù)類型BIT4.1.2 VHDL相關(guān)語(yǔ)法說(shuō)明相關(guān)語(yǔ)法說(shuō)明6. 結(jié)構(gòu)體表達(dá)結(jié)構(gòu)體表達(dá)【例【例4-6】ARCHITECTURE arch_name OF e_name IS (說(shuō)明語(yǔ)句說(shuō)明語(yǔ)句)BEGIN (功能描述語(yǔ)句功能描述語(yǔ)句)END ARCHITECTURE arch_name ;或:或:【例【例4-6】ARCHITECTURE 結(jié)構(gòu)體名結(jié)構(gòu)體名 OF 實(shí)體名實(shí)體名 IS (說(shuō)明語(yǔ)句說(shuō)明語(yǔ)句)BEGIN (功能描述語(yǔ)句功能描述語(yǔ)句)END 結(jié)構(gòu)體名結(jié)構(gòu)體名 ;7. 信號(hào)傳輸信號(hào)傳輸(賦值賦值)符號(hào)和數(shù)據(jù)比較符
11、號(hào)符號(hào)和數(shù)據(jù)比較符號(hào)對(duì)照對(duì)照14.1.2 VHDL相關(guān)語(yǔ)法說(shuō)明相關(guān)語(yǔ)法說(shuō)明8. 邏輯操作符邏輯操作符AND、OR、NOT (BIT/BOOLEAN/STD_LOGIC)9. IF_THEN條件語(yǔ)句條件語(yǔ)句(順序語(yǔ)句)(順序語(yǔ)句)10. WHEN_ELSE條件信號(hào)賦值語(yǔ)句條件信號(hào)賦值語(yǔ)句(并行語(yǔ)句)(并行語(yǔ)句)賦值目標(biāo)賦值目標(biāo) = 表達(dá)式表達(dá)式 WHEN 賦值條件賦值條件 ELSE 表達(dá)式表達(dá)式 WHEN 賦值條件賦值條件 ELSE . 表達(dá)式表達(dá)式 ;11. PROCESS進(jìn)進(jìn)程語(yǔ)句和順序語(yǔ)句程語(yǔ)句和順序語(yǔ)句12. 文文件取名和存盤(pán)件取名和存盤(pán)(文件名最好與文件實(shí)體名相同)(文件名最好與文件實(shí)
12、體名相同)對(duì)照對(duì)照對(duì)照對(duì)照對(duì)照對(duì)照2對(duì)照對(duì)照4.1.2 VHDL相關(guān)語(yǔ)法說(shuō)明相關(guān)語(yǔ)法說(shuō)明4.1.3 VHDL設(shè)計(jì)的基本概念和語(yǔ)句小節(jié)設(shè)計(jì)的基本概念和語(yǔ)句小節(jié)(p76)數(shù)據(jù)類型數(shù)據(jù)類型信號(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)4.2 寄存器描述及其寄存器描述及其VHDL語(yǔ)言現(xiàn)語(yǔ)言現(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 ; -類似于在芯片內(nèi)部定義一個(gè)數(shù)據(jù)的暫存節(jié)點(diǎn)類似于在芯片內(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)部的暫存
14、數(shù)據(jù)向端口輸出 END PROCESS ;END bhv;D觸發(fā)器觸發(fā)器對(duì)照對(duì)照1 對(duì)照對(duì)照2 對(duì)照對(duì)照34.2.2 D觸發(fā)器觸發(fā)器VHDL描述的語(yǔ)言現(xiàn)象說(shuō)明描述的語(yǔ)言現(xiàn)象說(shuō)明1. 1. 標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類型標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類型STD_LOGICBIT數(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表示強(qiáng)未知的;表示強(qiáng)未知的; 0表示強(qiáng)邏輯表示強(qiáng)邏輯0; 1表
15、示強(qiáng)邏輯表示強(qiáng)邏輯1; Z表示高阻態(tài);表示高阻態(tài); W 表示弱表示弱未知的;未知的; L表示弱邏輯表示弱邏輯0; H表示弱邏輯表示弱邏輯1; -表示表示忽略。忽略。對(duì)照對(duì)照12. 設(shè)計(jì)庫(kù)和標(biāo)準(zhǔn)程序包設(shè)計(jì)庫(kù)和標(biāo)準(zhǔn)程序包3. SIGNAL信號(hào)定義和數(shù)據(jù)對(duì)象信號(hào)定義和數(shù)據(jù)對(duì)象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;使用庫(kù)和程序包的一般定
16、義表達(dá)式是:使用庫(kù)和程序包的一般定義表達(dá)式是: LIBRARY ; USE .ALL ; 4.2.2 D觸發(fā)器觸發(fā)器VHDL描述的語(yǔ)言現(xiàn)象說(shuō)明描述的語(yǔ)言現(xiàn)象說(shuō)明對(duì)照對(duì)照2數(shù)據(jù)對(duì)象有三類:信號(hào)、變量、常數(shù)數(shù)據(jù)對(duì)象有三類:信號(hào)、變量、常數(shù)VHDL中,被定義的標(biāo)識(shí)符必須確定為某類數(shù)據(jù)中,被定義的標(biāo)識(shí)符必須確定為某類數(shù)據(jù)對(duì)象,同時(shí)還必須定義為某種數(shù)據(jù)類型。對(duì)象,同時(shí)還必須定義為某種數(shù)據(jù)類型。4. 上升沿檢測(cè)表達(dá)式和信號(hào)屬性函數(shù)上升沿檢測(cè)表達(dá)式和信號(hào)屬性函數(shù)EVENT 關(guān)鍵詞關(guān)鍵詞EVENT是信號(hào)屬性,是信號(hào)屬性,VHDL通過(guò)以下表達(dá)式來(lái)通過(guò)以下表達(dá)式來(lái)測(cè)定某信號(hào)的跳變邊沿:測(cè)定某信號(hào)的跳變邊沿: 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的電路圖的電路圖不完整條件語(yǔ)句的不完整條件語(yǔ)句的出現(xiàn)是引入時(shí)序電出現(xiàn)是引入時(shí)序電路結(jié)構(gòu)的必要條件路結(jié)構(gòu)的必要條件和關(guān)鍵所在。和關(guān)鍵所在。4.2.3 實(shí)現(xiàn)時(shí)序電路的實(shí)現(xiàn)時(shí)序電路的VHDL不同表達(dá)方式
18、不同表達(dá)方式【例【例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ù)據(jù)類型必須是的數(shù)據(jù)類型必須是STD_LOGIC THEN Q1 = D ; END IF; Q = Q1 ; END PROCESS ; END ;4.2.3 實(shí)現(xiàn)時(shí)序電路的實(shí)現(xiàn)時(shí)序電路的VHDL不同表達(dá)方式
20、不同表達(dá)方式【例【例4-14】 . PROCESS BEGIN wait until CLK = 1 ; -利用利用wait語(yǔ)句語(yǔ)句 Q = D ; END PROCESS;【例【例4-15】. 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-16】. PROCESS (CLK,D) BEGIN IF CLK = 1 -電平觸發(fā)型寄存器電平觸發(fā)型寄存器 THEN Q = D ; END IF; END PROCESS ;4.
21、2.3 實(shí)現(xiàn)時(shí)序電路的實(shí)現(xiàn)時(shí)序電路的VHDL不同表達(dá)方式不同表達(dá)方式圖圖4-7 邊沿型觸發(fā)器時(shí)序波形邊沿型觸發(fā)器時(shí)序波形圖圖4-8 電平觸發(fā)型寄存器的時(shí)序波形電平觸發(fā)型寄存器的時(shí)序波形4.2.3 實(shí)現(xiàn)時(shí)序電路的實(shí)現(xiàn)時(shí)序電路的VHDL不同表達(dá)方式不同表達(dá)方式 4.2.4 異步時(shí)序電路設(shè)計(jì)異步時(shí)序電路設(shè)計(jì) 【例例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綜合的電路綜合的電路一個(gè)時(shí)鐘進(jìn)程只一個(gè)時(shí)鐘進(jìn)程只能構(gòu)成對(duì)應(yīng)單一能構(gòu)成對(duì)應(yīng)單一時(shí)鐘信號(hào)的時(shí)序時(shí)鐘信號(hào)的時(shí)序電路。故異步邏電路。故異步邏輯需多個(gè)時(shí)鐘進(jìn)輯需多個(gè)時(shí)鐘進(jìn)程來(lái)構(gòu)成。程來(lái)構(gòu)成。n復(fù)習(xí)復(fù)習(xí) qp70-86n預(yù)習(xí)預(yù)習(xí)qp86_92, q下次實(shí)驗(yàn)課內(nèi)容:下次實(shí)驗(yàn)課內(nèi)容:2位十進(jìn)制數(shù)字頻率計(jì)設(shè)計(jì)(已位十進(jìn)制數(shù)字頻率計(jì)設(shè)計(jì)(已經(jīng)做完的同學(xué)可以考慮經(jīng)做完的同學(xué)可
23、以考慮p167_實(shí)驗(yàn)與設(shè)計(jì)中的實(shí)驗(yàn)與設(shè)計(jì)中的6_2)n設(shè)計(jì)設(shè)計(jì)(兩人一組任選兩人一組任選1題,上繳題,上繳gdf和和scf等文件等文件)qP166_6-16-13n下次課上課地點(diǎn)下次課上課地點(diǎn)q本樓機(jī)房本樓機(jī)房205(影像)、(影像)、206(電子)(電子)4.3 1位二進(jìn)制全加器的位二進(jìn)制全加器的VHDL設(shè)計(jì)設(shè)計(jì)圖圖4-10 半加器半加器h_adder電路圖電路圖圖圖4-11 全加器全加器f_adder電路圖電路圖【例【例4-18】 LIBRARY IEEE ;-或門(mén)邏輯描述或門(mén)邏輯描述 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語(yǔ)句語(yǔ)句4.3.1 半加器描述和半加器描述和CASE語(yǔ)句語(yǔ)句absoco0000011010101101表表4-1 半加器半加器h_adder邏輯功能真值表邏輯功能真值表1. CASECASE語(yǔ)句語(yǔ)句CASE語(yǔ)句的一般表達(dá)式是:語(yǔ)句的一般表達(dá)式是:CASE ISWhen = ; . ; ;When = ; . ; ;.END CASE ;順序順序語(yǔ)句語(yǔ)句【例【例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 ;對(duì)照對(duì)照說(shuō)明說(shuō)明:1)選擇值或標(biāo)識(shí)符所代表的值必須在表達(dá)式的)選擇值或標(biāo)識(shí)符所代表的值必須在表達(dá)式的取值范圍內(nèi),且選擇值取值范圍內(nèi),且選擇值只能出現(xiàn)只能出現(xiàn)1次次,不允許有相,不允許有相同選擇值的條件語(yǔ)句出現(xiàn);同選擇值的條件語(yǔ)句出現(xiàn);2)如果選擇值不能覆蓋表達(dá)式的所有取值,必)如果選擇值不能覆蓋表達(dá)式的所有取值,必須在最末一個(gè)條件句中用須在最末一個(gè)條件句中用OTHERS,以免綜合器插,以免綜合器插入不必要的鎖存器。入不必要的鎖存器。OTHERS只能出現(xiàn)一次,且必只能出現(xiàn)一次,且必須作為最后一種條件取值須作為最后一種條件取值。3)CASE語(yǔ)句執(zhí)行過(guò)程中語(yǔ)句執(zhí)行過(guò)程中必須選中,且只能選
28、中必須選中,且只能選中所列條件語(yǔ)句中的一條。所列條件語(yǔ)句中的一條。4)與)與whenelse 語(yǔ)句比較:語(yǔ)句比較: whenelse語(yǔ)句是語(yǔ)句是并行語(yǔ)句,但內(nèi)部按順序執(zhí)行,故允許相同條件,并行語(yǔ)句,但內(nèi)部按順序執(zhí)行,故允許相同條件,但前面的優(yōu)先。但前面的優(yōu)先。2. 標(biāo)準(zhǔn)邏輯矢量數(shù)據(jù)類型標(biāo)準(zhǔn)邏輯矢量數(shù)據(jù)類型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ù)組長(zhǎng)度為元素與元素并置,并置后的數(shù)組長(zhǎng)度為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語(yǔ)句語(yǔ)句對(duì)照對(duì)照【例【例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;對(duì)照對(duì)照4.3.2 全加器描述和例化語(yǔ)句全加器描述和例化語(yǔ)句 由兩部分組成,由兩部分組成,第一部分是第一部分是將一個(gè)現(xiàn)成的設(shè)
31、計(jì)實(shí)體定將一個(gè)現(xiàn)成的設(shè)計(jì)實(shí)體定義為一個(gè)元件,語(yǔ)句的功能是對(duì)待調(diào)用的元件作出義為一個(gè)元件,語(yǔ)句的功能是對(duì)待調(diào)用的元件作出調(diào)用聲調(diào)用聲明明,它的最簡(jiǎn)表達(dá)式如下所示:,它的最簡(jiǎn)表達(dá)式如下所示: COMPONENT 元件名元件名 PORT (端口名表端口名表) ; END COMPONENT 文件名文件名 ; 第二部分是第二部分是待用元件與當(dāng)前設(shè)計(jì)實(shí)體待用元件與當(dāng)前設(shè)計(jì)實(shí)體(頂層文件頂層文件)中元件中元件間及端口的間及端口的連接說(shuō)明連接說(shuō)明。語(yǔ)句的表達(dá)式如下:。語(yǔ)句的表達(dá)式如下: 例化名例化名 : 元件名元件名 PORT MAP( 端口名端口名 = 連接端口名連接端口名,.);指待調(diào)用指待調(diào)用元件的元
32、件的指頂層指頂層元件的元件的對(duì)照對(duì)照必須有必須有/似插座名似插座名待調(diào)用待調(diào)用元件名元件名4.3.3 VHDL設(shè)計(jì)基本概念和語(yǔ)言現(xiàn)象小節(jié)設(shè)計(jì)基本概念和語(yǔ)言現(xiàn)象小節(jié)(p92)數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)對(duì)象數(shù)據(jù)對(duì)象信號(hào)屬性信號(hào)屬性時(shí)鐘檢測(cè)時(shí)鐘檢測(cè)VHDLVHDL庫(kù)庫(kù)程序包程序包時(shí)序電路時(shí)序電路異步時(shí)序異步時(shí)序 真值表表達(dá)真值表表達(dá) 標(biāo)準(zhǔn)邏輯矢量標(biāo)準(zhǔn)邏輯矢量 并置操作符并置操作符 元件例化元件例化VHDL 設(shè)計(jì)流程設(shè)計(jì)流程 : 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:建立建立工作庫(kù)文件夾工作庫(kù)文件夾STEP2STEP2:輸入設(shè)計(jì)項(xiàng)目輸入設(shè)計(jì)項(xiàng)目原理圖原理圖/ /VHDLVHDL文本代碼文本代碼STEP3STEP3:存盤(pán),注意存盤(pán),注意 原理圖原理圖/ /文本取名文本取名STEP4STEP4:將設(shè)計(jì)項(xiàng)將設(shè)計(jì)項(xiàng)目設(shè)置成目設(shè)置成ProjectProjectSTEP5STEP5:選選擇目標(biāo)器件擇目標(biāo)器件 STEP11STEP11: 硬件測(cè)試硬件測(cè)試STEP9STEP9:引腳引腳鎖定并編譯鎖定并編譯STEP8STEP8:仿真測(cè)仿真測(cè) 試和波形分析試和波形分析STEP7STEP7:建立仿建立仿真波形文件真波形
35、文件STEP6STEP6:?jiǎn)?dòng)編譯啟動(dòng)編譯STEP10STEP10:編程編程 下載下載/ /配置配置VHDL文本輸入設(shè)計(jì)流程文本輸入設(shè)計(jì)流程 4.4 VHDL文本輸入設(shè)計(jì)方法初步文本輸入設(shè)計(jì)方法初步為設(shè)計(jì)為設(shè)計(jì)MUX新建一個(gè)文新建一個(gè)文件夾作工作庫(kù)件夾作工作庫(kù)文件夾名取為文件夾名取為My_prjct注意,不可注意,不可用中文!用中文!4.4.1 編輯輸入并保存編輯輸入并保存VHDL源文件源文件新建一個(gè)設(shè)新建一個(gè)設(shè)計(jì)文件計(jì)文件使用文本輸入方使用文本輸入方法設(shè)計(jì),必須選擇法設(shè)計(jì),必須選擇打開(kāi)文本編輯器打開(kāi)文本編輯器圖圖4-12 建立文本編輯器對(duì)話框建立文本編輯器對(duì)話框圖圖4-13 在文本編輯窗中輸
36、入在文本編輯窗中輸入VHDL文件并存盤(pán)文件并存盤(pán)文本編輯窗文本編輯窗用鍵盤(pán)輸入設(shè)計(jì)用鍵盤(pán)輸入設(shè)計(jì)文件:多路選擇器文件:多路選擇器存盤(pán)文件名必須存盤(pán)文件名必須取為:取為:mux21a.vhd注意,要存在注意,要存在自己建立的自己建立的文件夾中文件夾中文件存盤(pán)后,文件存盤(pán)后,關(guān)鍵詞將改變關(guān)鍵詞將改變顏色!否則文顏色!否則文件名一定有錯(cuò)!件名一定有錯(cuò)!4.4.2 將當(dāng)前設(shè)計(jì)設(shè)定為工程和選定目標(biāo)器件將當(dāng)前設(shè)計(jì)設(shè)定為工程和選定目標(biāo)器件圖圖4-14 設(shè)定當(dāng)前文件為工程設(shè)定當(dāng)前文件為工程首先點(diǎn)擊這里首先點(diǎn)擊這里然后選擇此項(xiàng),然后選擇此項(xiàng),將當(dāng)前的文本將當(dāng)前的文本設(shè)計(jì)文件設(shè)置成設(shè)計(jì)文件設(shè)置成工程工程最后注意此
37、路最后注意此路徑指向的改變徑指向的改變注意,此路徑指注意,此路徑指向當(dāng)前的工程!向當(dāng)前的工程!首先選擇這里首先選擇這里器件系列選擇窗,器件系列選擇窗,選擇選擇ACEX1K系列系列根據(jù)實(shí)驗(yàn)板上的根據(jù)實(shí)驗(yàn)板上的目標(biāo)器件型號(hào)選目標(biāo)器件型號(hào)選擇,如選擇,如選EP1K100注意,首先消去這注意,首先消去這里的勾,以便使所里的勾,以便使所有速度級(jí)別的器件有速度級(jí)別的器件都能顯示出來(lái)都能顯示出來(lái)選擇編譯器選擇編譯器編譯窗編譯窗4.4.3 選擇選擇VHDL文本編譯版本號(hào)和排錯(cuò)文本編譯版本號(hào)和排錯(cuò)圖圖4-15 設(shè)定設(shè)定VHDL編譯版本號(hào)編譯版本號(hào)選擇此項(xiàng)選擇此項(xiàng)選擇選擇VHDL1993項(xiàng)項(xiàng)選擇此項(xiàng)選擇此項(xiàng)消去這
38、里的勾消去這里的勾編譯出錯(cuò)!編譯出錯(cuò)!4.4.3 選擇選擇VHDL文本編譯版本號(hào)和排錯(cuò)文本編譯版本號(hào)和排錯(cuò)圖圖4-16 確定設(shè)計(jì)文件中的錯(cuò)誤確定設(shè)計(jì)文件中的錯(cuò)誤打開(kāi)錯(cuò)誤提示窗打開(kāi)錯(cuò)誤提示窗錯(cuò)誤所在錯(cuò)誤所在錯(cuò)誤所在錯(cuò)誤所在改正錯(cuò)誤改正錯(cuò)誤完成編譯!完成編譯!首先選擇此項(xiàng),首先選擇此項(xiàng),為仿真測(cè)試新為仿真測(cè)試新建一個(gè)文件建一個(gè)文件4.4.4 時(shí)序仿真時(shí)序仿真選擇波形選擇波形編輯器文件編輯器文件從從SNF文件中文件中輸入設(shè)計(jì)文件輸入設(shè)計(jì)文件的信號(hào)節(jié)點(diǎn)的信號(hào)節(jié)點(diǎn)點(diǎn)擊點(diǎn)擊“LIST”SNF文件中文件中的信號(hào)節(jié)點(diǎn)的信號(hào)節(jié)點(diǎn)用此鍵選擇左用此鍵選擇左窗窗中需要的信中需要的信號(hào)進(jìn)入右窗號(hào)進(jìn)入右窗最后點(diǎn)擊最后點(diǎn)擊
39、“OK” 消去這里的勾,消去這里的勾,以便方便設(shè)置以便方便設(shè)置輸入電平輸入電平在在Options菜單中消去網(wǎng)格對(duì)齊菜單中消去網(wǎng)格對(duì)齊Snap to Grid的選擇的選擇(消去對(duì)勾消去對(duì)勾) 選擇選擇End Time調(diào)整仿真時(shí)間調(diào)整仿真時(shí)間區(qū)域。區(qū)域。選擇選擇65微秒微秒比較合適比較合適用此鍵改變仿真用此鍵改變仿真區(qū)域坐標(biāo)到合適區(qū)域坐標(biāo)到合適位置。位置。先點(diǎn)擊先點(diǎn)擊b,將將其點(diǎn)為黑色其點(diǎn)為黑色然后先點(diǎn)擊此處然后先點(diǎn)擊此處將彈出時(shí)鐘周期將彈出時(shí)鐘周期設(shè)置窗設(shè)置窗設(shè)置輸入信號(hào)設(shè)置輸入信號(hào)b的周期為的周期為800ns設(shè)置輸入信號(hào)設(shè)置輸入信號(hào)a的周期為的周期為2us仿真波形仿真波形文件存盤(pán)文件存盤(pán)!選擇
40、仿真器選擇仿真器運(yùn)行仿真器運(yùn)行仿真器4.4.4 時(shí)序仿真時(shí)序仿真圖圖4-17 mux21a仿真波形仿真波形引腳鎖定引腳鎖定可選擇鍵可選擇鍵8作為多作為多路選擇器的輸入路選擇器的輸入“s”選擇實(shí)驗(yàn)電路結(jié)構(gòu)圖選擇實(shí)驗(yàn)電路結(jié)構(gòu)圖6可選擇輸出可選擇輸出“y”的信號(hào)從揚(yáng)的信號(hào)從揚(yáng)聲器輸出聲器輸出信號(hào)信號(hào)a和和b輸入輸入兩個(gè)不同頻率兩個(gè)不同頻率的時(shí)鐘信號(hào)的時(shí)鐘信號(hào)鍵鍵8的引腳名的引腳名作為作為“s”信號(hào)信號(hào)鍵鍵8的引腳名的引腳名對(duì)應(yīng)的引腳號(hào)對(duì)應(yīng)的引腳號(hào)選擇實(shí)驗(yàn)板上選擇實(shí)驗(yàn)板上插有的目標(biāo)器件插有的目標(biāo)器件揚(yáng)聲器引腳號(hào)揚(yáng)聲器引腳號(hào)為:為:99信號(hào)信號(hào)b由由“clock0”輸入輸入時(shí)鐘信號(hào),時(shí)鐘信號(hào),引腳號(hào)為:
41、引腳號(hào)為:126信號(hào)信號(hào)a由由“clock5”輸入輸入時(shí)鐘信號(hào),時(shí)鐘信號(hào),引腳號(hào)為:引腳號(hào)為:56注意,對(duì)于注意,對(duì)于GWAK30+板,板,時(shí)鐘引腳必須查閱以下時(shí)鐘引腳必須查閱以下 “時(shí)鐘了解表時(shí)鐘了解表1” 引腳對(duì)應(yīng)情況引腳對(duì)應(yīng)情況實(shí)驗(yàn)板位置實(shí)驗(yàn)板位置 多路選擇器信號(hào)多路選擇器信號(hào) 通用目標(biāo)器件引腳名通用目標(biāo)器件引腳名 目標(biāo)器件目標(biāo)器件EP1K30TC144引腳號(hào)引腳號(hào) 1、鍵、鍵8: s PIO13 272、揚(yáng)聲器、揚(yáng)聲器 y SPEAKER 993、時(shí)鐘輸入信號(hào)、時(shí)鐘輸入信號(hào) b CLOCK0 1264、時(shí)鐘輸入信號(hào)、時(shí)鐘輸入信號(hào) a CLOCK5 56選擇引腳選擇引腳鎖定選項(xiàng)鎖定選項(xiàng)引
42、腳窗引腳窗此處輸入此處輸入信號(hào)名信號(hào)名此處輸入此處輸入引腳名引腳名按鍵按鍵“ADD”即可即可注意引腳屬性注意引腳屬性錯(cuò)誤引腳名將錯(cuò)誤引腳名將無(wú)正確屬性!無(wú)正確屬性!再編譯一次,再編譯一次,將引腳信息將引腳信息進(jìn)去進(jìn)去選擇編程器,選擇編程器,準(zhǔn)備將設(shè)計(jì)準(zhǔn)備將設(shè)計(jì)好的半加器好的半加器文件下載到目文件下載到目器件中去器件中去編程窗編程窗在編程窗打開(kāi)在編程窗打開(kāi)的情況下選擇的情況下選擇下載方式設(shè)置下載方式設(shè)置選擇此項(xiàng)下選擇此項(xiàng)下載方式載方式下載(配置)下載(配置)成功!成功!4.4.5 硬件測(cè)試硬件測(cè)試選擇電路選擇電路模式為模式為“6”模式選擇鍵模式選擇鍵“s”為高為高電平電平注意時(shí)鐘注意時(shí)鐘頻率選擇
43、頻率選擇CLOCK5:a頻率選擇頻率選擇1024HzCLOCK0:b頻率選擇頻率選擇256Hz實(shí)實(shí) 驗(yàn)驗(yàn) 實(shí)驗(yàn)實(shí)驗(yàn)4-1 簡(jiǎn)單組合電路的設(shè)計(jì)簡(jiǎn)單組合電路的設(shè)計(jì)(1) 實(shí)驗(yàn)?zāi)康模簩?shí)驗(yàn)?zāi)康模菏煜な煜ax+plus的的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 : 首 先 按 照首 先 按 照 4 . 4 節(jié) 給 出 的 步 驟 , 利 用節(jié) 給 出 的 步 驟 , 利 用MAX+plus完成完成2選選1多路選擇器的文本編輯輸入多路選擇器
44、的文本編輯輸入(mux21a.vhd)和仿真測(cè)試等步驟,給出圖和仿真測(cè)試等步驟,給出圖4-17所示的仿真波所示的仿真波形。最后在實(shí)驗(yàn)系統(tǒng)上進(jìn)行硬件測(cè)試,實(shí)際驗(yàn)證本項(xiàng)設(shè)計(jì)的形。最后在實(shí)驗(yàn)系統(tǒng)上進(jìn)行硬件測(cè)試,實(shí)際驗(yàn)證本項(xiàng)設(shè)計(jì)的功能。功能。實(shí)實(shí) 驗(yàn)驗(yàn) 實(shí)驗(yàn)實(shí)驗(yàn)4-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
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 ;實(shí)實(shí) 驗(yàn)驗(yàn) 實(shí)驗(yàn)實(shí)驗(yàn)4-1 簡(jiǎn)單組合電路的設(shè)計(jì)簡(jiǎn)單組合電路的設(shè)計(jì) 按照按照5.4節(jié)的步驟對(duì)上例分別進(jìn)行編譯、綜合、仿真。并對(duì)其仿真波形節(jié)的步驟對(duì)上例分別進(jìn)行編譯、綜合、仿真。并對(duì)其仿真波形(圖圖5-23)作出分析說(shuō)明。作出分析說(shuō)明。圖圖5-23 仿真波形仿真波形實(shí)實(shí) 驗(yàn)驗(yàn) 實(shí)驗(yàn)實(shí)驗(yàn)4-1 簡(jiǎn)單組合電路的設(shè)計(jì)簡(jiǎn)單組合電路的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 美術(shù)館策展人招聘協(xié)議
- 國(guó)際文化園精裝房施工合同
- 酒店兼職廚師合同范本
- 2025年度蘭州租賃合同范本(含租賃物使用監(jiān)督)3篇
- 2024年度電子元器件展覽會(huì)策劃與實(shí)施服務(wù)合同3篇
- 2025年智慧城市債券擔(dān)保合同范本3篇
- 2024年辣椒干購(gòu)買(mǎi)合同
- 2024年購(gòu)房中介服務(wù)全條款合同
- 2025版企業(yè)辦公耗材一站式采購(gòu)合同3篇
- 2025年度鍋爐安裝與遠(yuǎn)程監(jiān)控維護(hù)服務(wù)合同
- SFC15(發(fā)送)和SFC14(接收)組態(tài)步驟
- 旅行社公司章程53410
- 小學(xué)班主任工作總結(jié)PPT
- 起世經(jīng)白話解-
- 螺桿式制冷壓縮機(jī)操作規(guī)程完整
- 頜下腺囊腫摘除手術(shù)
- 五金件成品檢驗(yàn)報(bào)告
- CDN基礎(chǔ)介紹PPT課件
- SPC八大控制圖自動(dòng)生成器v1.01
- 復(fù)晶砂、粉在硅溶膠精密鑄造面層制殼中的應(yīng)用
- 實(shí)驗(yàn)室設(shè)備和分析儀器的確認(rèn)和驗(yàn)證
評(píng)論
0/150
提交評(píng)論