版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、edaeda技術(shù)技術(shù)實(shí)用教程實(shí)用教程z原理圖輸入與 vhdl文本輸入設(shè)計(jì)的區(qū)別ygraphic is what you draw is what you getx“ tell me what hardware you want and i will give it to you”yvhdl is what you write is what functional you getx“ tell me how your circuit should behave and the vhdl compiler will give you the hardware that does the job”x
2、 but the designer can not control how the circuit implement是什么是vhdl? very high speed integrated hardware description language (vhdl)y是ieee、工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言y用語(yǔ)言的方式而非圖形等方式描述硬件電路x容易修改x容易保存y特別適合于設(shè)計(jì)的電路有:x復(fù)雜組合邏輯電路,如: 譯碼器、編碼器、加減法器、多路選擇器、地址譯碼器.x狀態(tài)機(jī)x等等.vhdlvhdl的功能和標(biāo)準(zhǔn)的功能和標(biāo)準(zhǔn)z vhdl 描述y輸入端口y輸出端口y電路的行為和功能zvhdl有過(guò)兩個(gè)標(biāo)準(zhǔn):yi
3、eee std 1076-1987 (called vhdl 1987)yieee std 1076-1993 (called vhdl 1993)vhdl synthesis vs. other hdls synthesiszvhdl: “tell me how your circuit should behave and i will give you hardware that does the job”zabel, palasm, ahdl:“tell me what hardware you want and i will give it to you”why using vhdl
4、instead of graphiczeasy to modifyzit is more powerful than graphiczvhdl is a portable language becauseyis device independentythe same code can be applied to device manufactured by company a or company b 【例5-1】entity mux21a is port( a, b : in bit ; s : in bit; y : out bit ) ;end entity mux21a ;archit
5、ecture 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 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;architectu
6、re 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】 . . . architecture 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 :
7、out bit );end entity mux21a;architecture 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 ;5.1.1 2選選1多路選擇器的多路選擇器的vhdl描述描述圖圖5-3 mux21a功能時(shí)序波形功能時(shí)序波形5.1.2 vhdl相關(guān)語(yǔ)句說(shuō)明相關(guān)語(yǔ)句說(shuō)明1. 1. 實(shí)體表達(dá)實(shí)體表達(dá)【例【例5-5】entity e_name is port ( p_name : port_m
8、data_type; . p_namei : port_mi data_type );end entity e_name;或:或:【例【例5-6】entity e_name is port ( p_name : port_m data_type; . 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. 3. portport語(yǔ)句和端口信號(hào)名語(yǔ)句和端口信號(hào)名4. 4. 端口模式端口模式inoutinoutbuffer5. 5. 數(shù)據(jù)類型數(shù)據(jù)類型bitbit5.1.2 vhdl相關(guān)語(yǔ)句說(shuō)明相關(guān)語(yǔ)
9、句說(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 ;或:或:【例【例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
10、、oror、notnot9. 9. if_thenif_then條件語(yǔ)句條件語(yǔ)句10. 10. when_elsewhen_else條件信號(hào)賦值語(yǔ)句條件信號(hào)賦值語(yǔ)句賦值目標(biāo)賦值目標(biāo) = 表達(dá)式表達(dá)式 when 賦值條件賦值條件 else 表達(dá)式表達(dá)式 when 賦值條件賦值條件 else . 表達(dá)式表達(dá)式 ;11. 11. processprocess進(jìn)程語(yǔ)句和順序語(yǔ)句進(jìn)程語(yǔ)句和順序語(yǔ)句12. 12. 文件取名和存盤文件取名和存盤5.1.3 vhdl設(shè)計(jì)的基本概念和語(yǔ)句小節(jié)設(shè)計(jì)的基本概念和語(yǔ)句小節(jié)數(shù)據(jù)類型信號(hào)賦值符條件比較符 延時(shí)實(shí)體結(jié)構(gòu)體端口定義端口模式邏輯操作符if條件語(yǔ)句并行條件語(yǔ)句進(jìn)程
11、語(yǔ)句順序語(yǔ)句并行語(yǔ)句文件取名文件存盤5.2 寄存器描述及其寄存器描述及其vhdl語(yǔ)言現(xiàn)象語(yǔ)言現(xiàn)象5.2.1 d觸發(fā)器的觸發(fā)器的vhdl描述描述【例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 bhv of dff1 is signal q1 : std_logic ; -類似于在芯片內(nèi)部定義一個(gè)數(shù)據(jù)的暫存節(jié)點(diǎn) begin process (clk
12、) begin if clkevent and clk = 1 then q1 = d ; end if; q = q1 ; -將內(nèi)部的暫存數(shù)據(jù)向端口輸出 end process ; end bhv;d觸發(fā)器觸發(fā)器比較用5種不同語(yǔ)句的d觸發(fā)器vhdl程序entity test1 isport (clk, d : in bit; q : out bit);end test1;architecture body of test1 issignal q1 : bit ;beginprocess (clk)begin if clk=1 and clklast_value=0 then q1 = d;
13、end if; q = q1 ;end process;end test1_body;library ieee;use ieee.std_logic_1164.all;entity test1 isport (clk, d : in bit; q : out bit);end test1;architecture body of test1 isbeginprocess (clk,d)begin if rising_edge(clk) then q = d; end if;end process;end test1_body;entity test1 isport (clk : in bit;
14、 d : in bit; q : out bit);end test1;architecture body of test1 issignal q1 : bit ;beginprocess (clk,d)begin if (clk = 1) then q1 = d; end if; q = q1 ;end process;end body;entity test1 isport (clk : in bit; d : in bit; q : out bit);end test1;architecture body of test1 issignal q1 : bit ;beginprocess
15、(clk)begin if (clk = 1) then q1 = d; end if; q = q1 ;end process;end body;how many registers?entity reg1 isport ( d: in bit;clk : in bit;q: out bit);end reg1;architecture reg1 of reg1 issignal a, b : bit;beginprocess (clk)beginif clk=1 and clkevent thena = d;b = a;q = b;end if;end process;end reg1;h
16、ow many registers?entity reg1 isport ( d: in bit;clk : in bit;q: out bit);end reg1;architecture reg1 of reg1 isbeginprocess (clk)variable a, b : bit;beginif clk=1 and clkevent thena := d;b := a;q = b;end if;end process;end reg1;用用vhdl設(shè)計(jì)設(shè)計(jì)4位計(jì)數(shù)器位計(jì)數(shù)器ab01010101取整數(shù)數(shù)據(jù)類型,為什么?整數(shù)取值范圍端口信號(hào)模式取buffer,為什么?注意整數(shù)和位的
17、不同表達(dá)方式!修改后的程序運(yùn)算符加載注意,信號(hào)注意,信號(hào)端口模式和端口模式和數(shù)據(jù)類型的數(shù)據(jù)類型的改變!改變!注意,引注意,引進(jìn)內(nèi)部信進(jìn)內(nèi)部信號(hào)矢量!號(hào)矢量!4位鎖存器位鎖存器組合電路加組合電路加1器器鎖存信號(hào)鎖存信號(hào)輸出反饋輸出反饋用用vhdl設(shè)計(jì)設(shè)計(jì)7段段16進(jìn)制譯碼器進(jìn)制譯碼器用用case語(yǔ)句完成真值表的功能語(yǔ)句完成真值表的功能向向7段數(shù)碼段數(shù)碼管輸出信號(hào),管輸出信號(hào),最高位控制最高位控制小數(shù)點(diǎn)小數(shù)點(diǎn)注意,此語(yǔ)句必須加入注意,此語(yǔ)句必須加入4位加法位加法計(jì)數(shù)器計(jì)數(shù)器7段譯碼器段譯碼器8位總線輸出位總線輸出信信號(hào)號(hào)輸輸出出數(shù)據(jù)對(duì)象信號(hào)signal 和變量 variablezsignal as
18、signmentyreceive the assign value after a period of timezvariable assignmentyhappens immediately when the statement is executed, no delaysignals vs. variablesrepresent circuitrepresent local storageinterconnectglobal scope (anywhere)local scope(inside process)updated at end of processupdated immedia
19、tely(new value not available)(new value available) signalsvariables utility: scope:behavior:例1library ieee;use ieee.std_logic_1164.all;entity mux4 isport (i0, i1, i2, i3, a, b : in std_logic; q : out std_logic);end mux4;architecture body_mux4 of mux4 issignal muxval : integer;beginprocess(i0,i1,i2,i
20、3,a,b)beginmuxval = 0;if (a = 1) then muxval = muxval + 1;end if;if (b = 1) then muxval q q q q null;end case;end process; end body_mux4;why ?library ieee;use ieee.std_logic_1164.all;entity mux4 isport (i0, i1, i2, i3, a, b : in std_logic; q : out std_logic);end mux4;architecture body_mux4 of mux4 i
21、sbeginprocess(i0,i1,i2,i3,a,b)variable muxval : integer range 0 to 3;beginmuxval := 0;if (a = 1) then muxval := muxval + 1;end if;if (b = 1) then muxval := muxval + 2;end if;case muxval is when 0 = q q q q null;end case;end process; end body_mux4;library ieee; use ieee.std_logic_1164.all; entity h_a
22、dder is port (a,b : in std_logic; co, so : out std_logic); end entity h_adder; architecture fh1 of h_adder ibegin so = (a or b)and(a nand b); co = not( a nand b); end architecture fh1;用一位全加器設(shè)計(jì)用一位全加器設(shè)計(jì)1位二進(jìn)制半加器位二進(jìn)制半加器1位二進(jìn)制全加器位二進(jìn)制全加器內(nèi)部端口外部端口端口連線5.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ù)類
23、型std_logicstd_logicbit數(shù)據(jù)類型定義: type bit is(0,1);type bit is(0,1);std_logic數(shù)據(jù)類型定義:type std_logic is (u,x,0,1,z,w,l,h,-);type std_logic is (u,x,0,1,z,w,l,h,-);std_logic所定義的9種數(shù)據(jù)的含義是:uu表示未初始化的;表示未初始化的; xx表示強(qiáng)未知的;表示強(qiáng)未知的; 0 0表示強(qiáng)表示強(qiáng)邏輯邏輯0 0; 1 1表示強(qiáng)邏輯表示強(qiáng)邏輯1 1; zz表示高阻態(tài);表示高阻態(tài); w w 表示弱未知的;表示弱未知的; ll表示弱邏輯表示弱邏輯0 0;
24、 hh表示弱表示弱邏輯邏輯1 1; - -表示忽略。表示忽略。5.2.2 d觸發(fā)器觸發(fā)器vhdl描述的語(yǔ)言現(xiàn)象說(shuō)明描述的語(yǔ)言現(xiàn)象說(shuō)明2. 2. 設(shè)計(jì)庫(kù)和標(biāo)準(zhǔn)程序包設(shè)計(jì)庫(kù)和標(biāo)準(zhǔn)程序包3. 3. signalsignal信號(hào)定義和數(shù)據(jù)對(duì)象信號(hào)定義和數(shù)據(jù)對(duì)象【例5-10】architecture bhv of dff1 is begin process (clk) begin if clkevent and clk = 1 then q = d ; end if; end process ;end ;使用庫(kù)和程序包的一般定義表式是: library library ; use use .all ;
25、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)鍵詞event是信號(hào)屬性,vhdl通過(guò)以下表式來(lái)測(cè)定某信號(hào)的跳變邊沿: eventevent5. 5. 不完整條件語(yǔ)句與時(shí)序電路不完整條件語(yǔ)句與時(shí)序電路【例【例5-11】entity comp_bad is port( a1 : in bit; b1 : in bit; q1 : out bit ); end ; architecture one of comp_bad is begin process (a1,b1) b
26、egin 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的電路圖的電路圖5.2.3 實(shí)現(xiàn)時(shí)序電路的實(shí)現(xiàn)時(shí)序電路的vhdl不同表達(dá)方式不同表達(dá)方式【例【例5-13】.process (clk) beginif clkevent and (clk=1) and (clklast_value=0) then q = d ; -確保確保clk的變化是一次上升沿的跳變的變化是一次上升沿的跳變 end if; end proces
27、s ;【例【例5-14】.process (clk) beginif clk=1 and clklast_value=0 -同例同例5-13 then q = d ; end if; end process ;5.2.3 實(shí)現(xiàn)時(shí)序電路的實(shí)現(xiàn)時(shí)序電路的vhdl不同表達(dá)方式不同表達(dá)方式【例【例5-15】library ieee ;use ieee.std_logic_1164.all ;entity dff3 is port (clk : in std_logic ; d : in std_logic ; q : out std_logic ); end ; architecture bhv of
28、 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 ;5.2.3 實(shí)現(xiàn)時(shí)序電路的實(shí)現(xiàn)時(shí)序電路的vhdl不同表達(dá)方式不同表達(dá)方式【例5-16】 . process begin wait until clk = 1 ; -利用利用wait語(yǔ)句語(yǔ)句 q = d ; end process;【例5-17】. process (clk) beg
29、in 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 ;【例5-18】. process (clk,d) begin if clk = 1 -電平觸發(fā)型寄存器電平觸發(fā)型寄存器 then q = d ; end if; end process ;5.2.3 實(shí)現(xiàn)時(shí)序電路的實(shí)現(xiàn)時(shí)序電路的vhdl不同表達(dá)方式不同表達(dá)方式圖圖5-7 邊沿型觸發(fā)器時(shí)序波形邊沿型觸發(fā)器時(shí)序波形圖圖5-8 電平觸發(fā)型寄存器的時(shí)序波形電平觸發(fā)型寄存器的時(shí)序波形5.2.4 異步時(shí)序電路設(shè)計(jì)異步時(shí)序電路設(shè)計(jì) 【例
30、例5-19】. 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); end if; end process ;pro2:process (q1) begin if q1event and q1=1 then q2 = d; end if; qq = q2 ; end process ; 圖圖5-9 例例5-19綜合的電路綜合的電路5.2.5 vhdl設(shè)計(jì)基本概念和語(yǔ)言現(xiàn)象小節(jié)
31、設(shè)計(jì)基本概念和語(yǔ)言現(xiàn)象小節(jié)數(shù)據(jù)類型數(shù)據(jù)對(duì)象信號(hào)屬性時(shí)鐘檢測(cè)vhdl庫(kù)程序包時(shí)序電路異步時(shí)序5.3 1位二進(jìn)制全加器的位二進(jìn)制全加器的vhdl設(shè)計(jì)設(shè)計(jì)圖圖5-10半加器半加器h_adder電路圖電路圖圖圖5-11 全加器全加器f_adder電路圖電路圖5.3.1 半加器描述和半加器描述和case語(yǔ)句語(yǔ)句absoco0000011010101101表表5-1 半加器半加器h_adder邏輯功能真值表邏輯功能真值表1. 1. casecase語(yǔ)句語(yǔ)句case語(yǔ)句的一般表式是:語(yǔ)句的一般表式是:case iswhen = ; . ; ;when = ; . ; ;.end case ;2. 2. 標(biāo)準(zhǔn)
32、邏輯矢量數(shù)據(jù)類型標(biāo)準(zhǔn)邏輯矢量數(shù)據(jù)類型std_logic_vectorstd_logic_vector3. 3. 并置操作符并置操作符 以下是一些并置操作示例:以下是一些并置操作示例:signal a : std_logic_vector (3 downto 0) ;signal d : std_logic_vector (1 downto 0) ; .a = 1 0 d(1) 1 ; - 元素與元素并置,并置后的數(shù)組長(zhǎng)度為元素與元素并置,并置后的數(shù)組長(zhǎng)度為4 .if a d = 101011 then . - 在在if條件句中可以使用并置符條件句中可以使用并置符 5.3.1 半加器描述和半加器
33、描述和case語(yǔ)句語(yǔ)句在使用std_logic_vector中,必須注明其數(shù)組寬度,即位寬,如: b : out std_logic_vector(7 downto 0) ; 或或 signal a :std_logic_vector(1 to 4)5.3.1 半加器描述和半加器描述和case語(yǔ)句語(yǔ)句【例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; architectur
34、e one of or2a is begin c = a or b ; end architecture fu1;【例5-21】library ieee; -半加器描述(1)use ieee.std_logic_1164.all; 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; 【
35、例5-22】library ieee; -半加器描述(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
36、 architecture fh1 ;【例5-22】 . -半加器描述(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;5.3.2 全加器描述和例化語(yǔ)句全加器描述和例化語(yǔ)句 元
37、件例化語(yǔ)句由兩部分組成,第一部分是對(duì)一個(gè)現(xiàn)成的設(shè)計(jì)實(shí)體定元件例化語(yǔ)句由兩部分組成,第一部分是對(duì)一個(gè)現(xiàn)成的設(shè)計(jì)實(shí)體定義為一個(gè)元件,語(yǔ)句的功能是對(duì)待調(diào)用的元件作出調(diào)用聲明,它的最義為一個(gè)元件,語(yǔ)句的功能是對(duì)待調(diào)用的元件作出調(diào)用聲明,它的最簡(jiǎn)表達(dá)式如下所示:簡(jiǎn)表達(dá)式如下所示: component 元件名元件名 is port (端口名表端口名表) ; end component 文件名文件名 ; 元件例化語(yǔ)句的第二部分則是此元件與當(dāng)前設(shè)計(jì)實(shí)體元件例化語(yǔ)句的第二部分則是此元件與當(dāng)前設(shè)計(jì)實(shí)體(頂層文件頂層文件)中中元件間及端口的連接說(shuō)明。語(yǔ)句的表達(dá)式如下:元件間及端口的連接說(shuō)明。語(yǔ)句的表達(dá)式如下: 例化
38、名例化名 : 元件名元件名 port map( 端口名端口名 = 連接端口名連接端口名,.);vhdl 設(shè)計(jì)流程 : v-s-f-phdlentryuse any text editor to input your designynthesisuse any vhdl compiler to convertyour language designto gate level withoptimization in termof speed / areaittingarchitecture synthesisto map the logicto altera device architecture
39、e.g. lut, carry/cascade chain, eab.(further logic optimization)erogr. down loadconfigure/programming the altera deviceand do on board debugging,prototyping or productionstep1:建立 工作庫(kù)文件夾step2:輸入設(shè)計(jì)項(xiàng)目原理圖/vhdl文本代碼step3:存盤,注意 原理圖/文本取名step4:將設(shè)計(jì)項(xiàng)目設(shè)置成projectstep5:選擇目標(biāo)器件 step11: 硬件測(cè)試step9:引腳鎖定并編譯step8:仿真測(cè) 試和波
40、形分析step7:建立仿真波形文件step6:?jiǎn)?dòng)編譯step10:編程 下載/配置vhdl文本輸入設(shè)計(jì)流程 5.4 vhdl文本輸入設(shè)計(jì)方法初步文本輸入設(shè)計(jì)方法初步為設(shè)計(jì)全加器新建一個(gè)文件夾作工作庫(kù)文件夾名取為my_prjct注意,不可用中文!5.4.1 編輯輸入并保存編輯輸入并保存vhdl源文件源文件新建一個(gè)設(shè)計(jì)文件使用文本輸入方法設(shè)計(jì),必須選擇打開文本編輯器圖圖5-13 在文本編輯窗中輸入在文本編輯窗中輸入vhdl文件并存盤文件并存盤圖圖5-12 建立文本編輯器對(duì)話框建立文本編輯器對(duì)話框文本編輯窗用鍵盤輸入設(shè)計(jì)文件:多路選擇器存盤文件名必須取為:mux21a.vhd注意,要存在自己建立的
41、文件夾中文件存盤后,關(guān)鍵詞將改變顏色!否則文件名一定有錯(cuò)!5.4.2 將當(dāng)前設(shè)計(jì)設(shè)定為工程將當(dāng)前設(shè)計(jì)設(shè)定為工程圖圖5-14 設(shè)定當(dāng)前文件為工程設(shè)定當(dāng)前文件為工程首先點(diǎn)擊這里然后選擇此項(xiàng),將當(dāng)前的原理圖設(shè)計(jì)文件設(shè)置成工程最后注意此路徑指向的改變注意,此路徑指向當(dāng)前的工程!首先選擇這里器件系列選擇窗,選擇acex1k系列根據(jù)實(shí)驗(yàn)板上的目標(biāo)器件型號(hào)選擇,如選ep1k30注意,首先消去這里的勾,以便使所有速度級(jí)別的器件都能顯示出來(lái)選擇編譯器編譯窗5.4.3 選擇選擇vhdl文本編譯版本號(hào)和排錯(cuò)文本編譯版本號(hào)和排錯(cuò)圖圖5-15 設(shè)定設(shè)定vhdl編譯版本號(hào)編譯版本號(hào)選擇此項(xiàng)選擇vhdl1993項(xiàng)選擇此項(xiàng)消
42、去這里的勾編譯出錯(cuò)!5.4.3 選擇選擇vhdl文本編譯版本號(hào)和排錯(cuò)文本編譯版本號(hào)和排錯(cuò)圖圖5-16 確定設(shè)計(jì)文件中的錯(cuò)誤確定設(shè)計(jì)文件中的錯(cuò)誤打開錯(cuò)誤提示窗錯(cuò)誤所在錯(cuò)誤所在改正錯(cuò)誤完成編譯!完成編譯!首先選擇此項(xiàng),為仿真測(cè)試新建一個(gè)文件時(shí)序仿真時(shí)序仿真選擇波形編輯器文件從從snf文件中文件中輸入設(shè)計(jì)文件輸入設(shè)計(jì)文件的信號(hào)節(jié)點(diǎn)的信號(hào)節(jié)點(diǎn)點(diǎn)點(diǎn)擊擊“l(fā)ist”snf文件中文件中的信號(hào)節(jié)點(diǎn)的信號(hào)節(jié)點(diǎn)用此鍵用此鍵選擇左窗選擇左窗中需要的信號(hào)中需要的信號(hào)進(jìn)入右窗進(jìn)入右窗最后點(diǎn)擊最后點(diǎn)擊“ok”消去消去這里的勾,這里的勾,以便方便設(shè)置以便方便設(shè)置輸入電平輸入電平在在options菜單中消去網(wǎng)格對(duì)齊菜單中消去
43、網(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)擊擊1,使拖黑,使拖黑的電平為高電平的電平為高電平先點(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仿真波形文件仿真波形文件存盤!存盤!選擇仿真器選擇仿真器運(yùn)行仿真器運(yùn)行仿真器5.4.4 時(shí)序仿真時(shí)序仿真圖圖
44、5-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)為:引腳號(hào)為:126信號(hào)信號(hào)a由由“clock5”輸入輸入時(shí)鐘信號(hào),時(shí)鐘
45、信號(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)引腳窗引腳窗此處輸入此處輸入信號(hào)名信號(hào)名此處輸入此處輸入引腳名引腳名按
46、鍵按鍵“add”即可即可注意引腳屬性注意引腳屬性錯(cuò)誤引腳名將錯(cuò)誤引腳名將無(wú)正確屬性!無(wú)正確屬性!再編譯一次,再編譯一次,將引腳信息將引腳信息進(jìn)去進(jìn)去選擇編程器,選擇編程器,準(zhǔn)備將設(shè)計(jì)準(zhǔn)備將設(shè)計(jì)好的半加器好的半加器文件下載到目文件下載到目器件中去器件中去編程窗編程窗在編程窗打開在編程窗打開的情況下選擇的情況下選擇下載方式設(shè)置下載方式設(shè)置選擇此項(xiàng)下選擇此項(xiàng)下載方式載方式下載(配置)下載(配置)成功!成功!5.4.5 硬件測(cè)試硬件測(cè)試選擇電路選擇電路模式為模式為“6”模式選擇鍵模式選擇鍵“s”為高為高電平電平注意時(shí)鐘注意時(shí)鐘頻率選擇頻率選擇clock5:a頻率選擇頻率選擇1024hzclock0:b
47、頻率選擇頻率選擇256hz實(shí)實(shí) 驗(yàn)驗(yàn) 實(shí)驗(yàn)實(shí)驗(yàn)5-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 : 首 先 按 照首 先 按 照 5 . 4 節(jié) 給 出 的 步 驟 , 利 用節(jié) 給 出 的 步 驟 , 利 用max+plus完成完成2選選1多路選擇器的文本編輯輸入多路選擇器的文本編輯輸入(mux21a.vhd)和仿真測(cè)試等步驟,給出圖和仿真
48、測(cè)試等步驟,給出圖5-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)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 m
49、uxk 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)5-1 簡(jiǎn)單組合電路的設(shè)計(jì)簡(jiǎn)單組合電路的設(shè)計(jì) 按照按照5.4節(jié)的步驟
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB 39800.8-2024個(gè)體防護(hù)裝備配備規(guī)范第8部分:船舶
- 2025年度床墊行業(yè)展會(huì)參展商采購(gòu)合同3篇
- 2024版航天器發(fā)射與數(shù)據(jù)服務(wù)合同
- 2024版臨時(shí)工合同協(xié)議書范文
- 2024年軟件開發(fā)購(gòu)銷合同
- 個(gè)人借款協(xié)議模板2024專業(yè)版版B版
- 二零二五版二手房買賣合同公證服務(wù)合同規(guī)范與執(zhí)行2篇
- 2024版股權(quán)激勵(lì)合同2篇
- 二零二五版房屋買賣更名與配套設(shè)施移交協(xié)議3篇
- 二零二五年度環(huán)保項(xiàng)目墊資合同范本2篇
- 2024-2025學(xué)年成都高新區(qū)七上數(shù)學(xué)期末考試試卷【含答案】
- 定額〔2025〕1號(hào)文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價(jià)格水平調(diào)整的通知
- 2025年浙江杭州市西湖區(qū)專職社區(qū)招聘85人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《數(shù)學(xué)廣角-優(yōu)化》說(shuō)課稿-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)人教版
- “懂你”(原題+解題+范文+話題+技巧+閱讀類素材)-2025年中考語(yǔ)文一輪復(fù)習(xí)之寫作
- 2025年景觀照明項(xiàng)目可行性分析報(bào)告
- 2025年江蘇南京地鐵集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 2025年度愛讀書學(xué)長(zhǎng)參與的讀書項(xiàng)目投資合同
- 電力系統(tǒng)分析答案(吳俊勇)(已修訂)
- 化學(xué)-河北省金太陽(yáng)質(zhì)檢聯(lián)盟2024-2025學(xué)年高三上學(xué)期12月第三次聯(lián)考試題和答案
- 期末復(fù)習(xí)試題(試題)-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué) 北師大版
評(píng)論
0/150
提交評(píng)論