EDAVHDL設(shè)計(jì)初步實(shí)用教案_第1頁
EDAVHDL設(shè)計(jì)初步實(shí)用教案_第2頁
EDAVHDL設(shè)計(jì)初步實(shí)用教案_第3頁
EDAVHDL設(shè)計(jì)初步實(shí)用教案_第4頁
EDAVHDL設(shè)計(jì)初步實(shí)用教案_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、STEP1:建立(jinl) 工作庫文件夾STEP2:輸入設(shè)計(jì)項(xiàng)目(xingm)原理圖/VHDL文本代碼STEP3:存盤,注意 原理圖/文本(wnbn)取名STEP4:將設(shè)計(jì)項(xiàng)目設(shè)置成ProjectSTEP5:選擇目標(biāo)器件 STEP11: 硬件測試STEP9:引腳鎖定并編譯STEP8:仿真測 試和波形分析STEP7:建立仿真波形文件STEP6:啟動編譯STEP10:編程 下載/配置VHDL文本輸入設(shè)計(jì)流程 第1頁/共35頁第一頁,共36頁?!纠?-1】ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ;END EN

2、TITY mux21a ;ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b ;END ARCHITECTURE one ;實(shí)體(sht)結(jié)構(gòu)(jigu)體4.1 多路選擇器VHDL描述(mio sh)圖4-1 mux21a實(shí)體圖4-2 mux21a結(jié)構(gòu)體4.1.1 2選1多路選擇器的VHDL描述第2頁/共35頁第二頁,共36頁。4.1.1 2選1多路選擇器的VHDL描述(mio sh)【例4-2】 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT )

3、; 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 ;第3頁/共35頁第三頁,共36頁。4.1.1 2選1多路選擇器的VHDL描述(mio sh)【例【例4-3】 ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BE

4、GIN PROCESS (a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y = b ;END IF; END PROCESS;END ARCHITECTURE one ;第4頁/共35頁第四頁,共36頁。4.1.2 VHDL相關(guān)(xinggun)語句說明1. 1. 實(shí)體實(shí)體(sht)(sht)表表達(dá)達(dá)【例【例4-4】ENTITY e_name IS PORT ( p_name : port_m data_type; . p_namei : port_mi data_type );END ENTITY e_name;或:或:ENTITY e_name IS PO

5、RT ( p_name : port_m data_type; . p_namei : port_mi data_type );END e_name;第5頁/共35頁第五頁,共36頁。4.1.2 VHDL相關(guān)(xinggun)語句說明2. 2. 實(shí)體實(shí)體(sht)(sht)名名3. PORT3. PORT語句語句(yj)(yj)和端口和端口信號名信號名4. 4. 端口模式端口模式INOUTINOUTBUFFER回讀第6頁/共35頁第六頁,共36頁。5. 數(shù)據(jù)類型BIT, 1,0STD_logic, 1,0,h,l,U,X, W,Z, - BOOLEAN, ture, false Integer

6、 0 第7頁/共35頁第七頁,共36頁。4.1.2 VHDL相關(guān)(xinggun)語句說明6. 6. 結(jié)構(gòu)結(jié)構(gòu)(jigu)(jigu)體表達(dá)體表達(dá)【例【例4-5】ARCHITECTURE arch_name OF e_name IS (說明說明(shumng)語句語句)BEGIN (功能描述語句功能描述語句)END ARCHITECTURE arch_name ;或:或:ARCHITECTURE arch_name OF e_name IS (說明說明(shumng)語句語句)BEGIN (功能描述語句功能描述語句)END arch_name ;7. 7. 信號傳輸信號傳輸( (賦值賦值) )

7、符號和數(shù)據(jù)比較符號符號和數(shù)據(jù)比較符號第8頁/共35頁第八頁,共36頁。4.1.2 VHDL相關(guān)(xinggun)語句說明8. 8. 邏輯邏輯(lu j)(lu j)操作符操作符ANDAND、OROR、NOTNOT9. IF_THEN9. IF_THEN條件條件(tiojin)(tiojin)語句語句10. 10. WHEN_ELSEWHEN_ELSE條件信號賦值語句條件信號賦值語句賦值目標(biāo) = 表達(dá)式 WHEN 賦值條件 ELSE 表達(dá)式 WHEN 賦值條件 ELSE . 表達(dá)式 ;11. 11. PROCESSPROCESS進(jìn)程語句和順序語句進(jìn)程語句和順序語句12. 12. 文件取名和存盤文

8、件取名和存盤第9頁/共35頁第九頁,共36頁。4.1.3 VHDL設(shè)計(jì)的基本概念和語句(yj)小節(jié)數(shù)據(jù)類型信號(xnho)賦值符條件(tiojin)比較符 延時實(shí)體結(jié)構(gòu)體端口定義端口模式邏輯操作符IF條件語句并行條件語句進(jìn)程語句順序語句并行語句文件取名文件存盤第10頁/共35頁第十頁,共36頁。4.2 寄存器描述及其VHDL語言(yyn)現(xiàn)象4.2.1 D觸發(fā)器的VHDL描述(mio sh)【例4-6】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF1 IS PORT (CLK : IN STD_LOGIC ; D : IN STD_

9、LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1 : STD_LOGIC ; -類似于在芯片內(nèi)部定義一個數(shù)據(jù)(shj)的暫存節(jié)點(diǎn) BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = D ; END IF; Q = Q1 ; -將內(nèi)部的暫存數(shù)據(jù)(shj)向端口輸出 END PROCESS ; END bhv;D觸發(fā)器第11頁/共35頁第十一頁,共36頁。比較用5種不同(b tn)語句的D觸發(fā)器VHDL程序Entity test1 is

10、port (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; 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 tes

11、t1;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; 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;

12、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 (clk)begin if (clk = 1) then q1 = d; end if; q = q1 ;end process;end body;第12頁/共35頁第十二頁,共36頁。D觸發(fā)器VHDL程序(chngx)1 例4-10Entity test1 isport (clk,

13、 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; end if; q = q1 ;end process;end test1_body第13頁/共35頁第十三頁,共36頁。D觸發(fā)器VHDL程序(chngx)2 例4-11LIBRARY IEEE;USE IEEE.std_logic_1164.all;Entity test1 isport (clk,

14、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;第14頁/共35頁第十四頁,共36頁。D觸發(fā)器VHDL程序(chngx)3Entity test1 isport (clk : in bit; d : in bit; q : out bit);end test1;architecture body of test1 issignal q

15、1 : bit ;beginprocess (clk)begin if (clk = 1) then q1 = d; end if; q = q1 ;end process;end body第15頁/共35頁第十五頁,共36頁。D觸發(fā)器VHDL程序4(電平(din pn)型觸發(fā))Entity test1 isport (clk : in bit; d : in bit; q : out bit);end test1;architecture body of test1 issignal q1 : bit ;beginprocess (clk,d)begin if (clk = 1) then

16、q1 = d; end if; q y y y y null; END CASE; END PROCESS;END ARCHITECTURE fh1 ;第19頁/共35頁第十九頁,共36頁。4.3 1位二進(jìn)制全加器的VHDL描述(mio sh)圖4-11半加器h_adder電路圖圖4-10 全加器f_adder電路圖第20頁/共35頁第二十頁,共36頁。半加器描述(mio sh)、或門描述(mio sh)【例4-16】LIBRARY IEEE; -半加器描述(mio sh)(1)USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT (a, b

17、: IN STD_LOGIC; co, so : OUT STD_LOGIC); END ENTITY h_adder; ARCHITECTURE fh1 OF h_adder is BEGIN so = NOT(a XOR (NOT b) ; co = a AND b ; END ARCHITECTURE fh1; 【例4-18】 LIBRARY IEEE ;-或門邏輯(lu j)描述 USE IEEE.STD_LOGIC_1164.ALL; ENTITY or2a IS PORT (a, b :IN STD_LOGIC; c : OUT STD_LOGIC ); END ENTITY or

18、2a; ARCHITECTURE one OF or2a IS BEGIN c = a OR b ; END ARCHITECTURE one;第21頁/共35頁第二十一頁,共36頁?!纠?-17】LIBRARY IEEE; -半加器描述(mio sh)(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_LOG

19、IC_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 ;第22頁/共35頁第二十二頁,共36頁。半加器描述(mio sh)CASE語句absoco0000011010101101表4-1 半加器h_adder邏輯(lu j)功能真值表1. CASE1. CASE語句語句(yj)(yj)CASE語句的一般表式是:CASE IS When = ; . ; ; When = ; . ; ; . WHEN OTHERS=

20、 ; END CASE ;第23頁/共35頁第二十三頁,共36頁。2. 2. 標(biāo)準(zhǔn)標(biāo)準(zhǔn)(biozhn)(biozhn)邏輯矢量數(shù)據(jù)類型邏輯矢量數(shù)據(jù)類型STD_LOGIC_VECTORSTD_LOGIC_VECTOR3. 3. 并置操作符并置操作符 以下是一些(yxi)并置操作示例:SIGNAL a : STD_LOGIC_VECTOR (3 DOWNTO 0) ;SIGNAL d : STD_LOGIC_VECTOR (1 DOWNTO 0) ; .a ain,b=bin,co=d,so=e); u2 : h_adder PORT MAP(a=e, b=cin, co=f,so=sum); u

21、3 : or2a PORT MAP(a=d, b=f, c=cout); END ARCHITECTURE fd1;第25頁/共35頁第二十五頁,共36頁。4.3.3 全加器描述(mio sh)和例化語句 元件例化語句由兩部分組成,第一部分是對一個現(xiàn)成的設(shè)計(jì)實(shí)體定義為一個元件,語句的功能(gngnng)是對待調(diào)用的元件作出調(diào)用聲明,它的最簡表達(dá)式如下所示: COMPONENT 元件名 IS PORT (端口名表) ; END COMPONENT 文件名 ; 元件例化語句的第二部分則是此元件與當(dāng)前設(shè)計(jì)實(shí)體(sht)(頂層文件)中元件間及端口的連接說明。語句的表達(dá)式如下: 例化名 : 元件名 PO

22、RT MAP( 端口名 = 連接端口名,.);第26頁/共35頁第二十六頁,共36頁。4.4 4位二進(jìn)制加法(jif)計(jì)數(shù)器設(shè)計(jì)AB01010101取整數(shù)(zhngsh)數(shù)據(jù)類型,為什么?整數(shù)(zhngsh)取值范圍端口信號模式取BUFFER,為什么?注意整數(shù)和位的不同表達(dá)方式!或者是BIT類型第27頁/共35頁第二十七頁,共36頁。另一種(y zhn)表達(dá)方式運(yùn)算符加載注意(zh y),信號端口模式和數(shù)據(jù)類型的改變!注意(zh y),引進(jìn)內(nèi)部信號矢量!第28頁/共35頁第二十八頁,共36頁。4位鎖存器組合(zh)電路加1器鎖存信號(xnho)輸出(shch)反饋第29頁/共35頁第二十九頁,

23、共36頁。4.5 一般(ybn)加法計(jì)數(shù)器設(shè)計(jì)4.5.1 相關(guān)(xinggun)語法1. 1. 變量變量(binli(binling)ng)2. 2. 省略賦值操作符(省略賦值操作符(OTHERS=XOTHERS=X) 為了簡化表達(dá)才使用短語為了簡化表達(dá)才使用短語“( (OTHERS=X)OTHERS=X)”,這是一個省略賦值操作這是一個省略賦值操作符,它可以在較多位的位矢量賦值中作省略化的賦值,如以下語句符,它可以在較多位的位矢量賦值中作省略化的賦值,如以下語句: SIGNAL d1,d2 : STD_LOGIC_VECTOR(4 DOWNTO 0); VARIABLE a1 : STD_L

24、OGIC_VECTOR(15 DOWNTO 0); . d1 0); a1 := (OTHERS=0) ; d21,4=1,others=0); 則d2為 10010,d1為00000,a1為0000000000000000第30頁/共35頁第三十頁,共36頁。例4-22 帶有復(fù)位(f wi)和時鐘使能的10進(jìn)制計(jì)數(shù)器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS PORT (CLK,RST,EN : IN STD_LOGIC; CQ : OUT STD_LOGIC

25、_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT10;ARCHITECTURE behav OF CNT10 ISBEGIN PROCESS(CLK, RST, EN) VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST = 1 THEN CQI := (OTHERS =0) ; -計(jì)數(shù)器復(fù)位 ELSIF CLKEVENT AND CLK=1 THEN -檢測時鐘上升沿 IF EN = 1 THEN -檢測是否允許計(jì)數(shù) IF CQI 0);-大于9,計(jì)數(shù)值(shz)清零 EN

26、D IF; END IF; END IF; IF CQI = 1001 THEN COUT = 1; -計(jì)數(shù)大于9,輸出進(jìn)位信號 ELSE COUT = 0; END IF; CQ = CQI; -將計(jì)數(shù)值(shz)向端口輸出 END PROCESS;END behav;第31頁/共35頁第三十一頁,共36頁。圖4-14 例4-22的RTL電路(dinl)圖4-15 例4-22的工作(gngzu)時序第32頁/共35頁第三十二頁,共36頁。4.5.3 帶有并行(bngxng)置位的移位寄存器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHFRT IS -

溫馨提示

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

評論

0/150

提交評論