




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、EDAEDA技術(shù)與技術(shù)與VHDL VHDL 第第3 3章章VHDL VHDL 入門入門 X康芯科技康芯科技3.1 3.1 簡單組合電路的簡單組合電路的VHDLVHDL描述描述 3.1.1 多路選擇器的多路選擇器的VHDL描述描述 圖圖3-1 mux21a3-1 mux21a實體實體 圖圖3-2 mux21a3-2 mux21a結(jié)構(gòu)體結(jié)構(gòu)體 X康芯科技康芯科技3.1 3.1 簡單組合電路的簡單組合電路的VHDLVHDL描述描述 3.1.1 多路選擇器的多路選擇器的VHDL描述描述 【例【例3-1】ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT;
2、 y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b ;END ARCHITECTURE one ; X康芯科技康芯科技3.1 3.1 簡單組合電路的簡單組合電路的VHDLVHDL描述描述 3.1.1 多路選擇器的多路選擇器的VHDL描述描述 【例【例3-2】 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a;ARCHITECTURE one OF
3、 mux21a IS SIGNAL d,e : BIT; BEGINd = a AND (NOT S) ;e = b AND s ;y = d OR e ; END ARCHITECTURE one ; X康芯科技康芯科技3.1 3.1 簡單組合電路的簡單組合電路的VHDLVHDL描述描述 3.1.1 多路選擇器的多路選擇器的VHDL描述描述 【例【例3-3】 ENTITY mux21a IS PORT ( a, b, s: IN BIT; y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN PROCESS (
4、a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y = b ;END IF; END PROCESS;END ARCHITECTURE one ; X康芯科技康芯科技3.1 3.1 簡單組合電路的簡單組合電路的VHDLVHDL描述描述 3.1.1 多路選擇器的多路選擇器的VHDL描述描述 圖圖3-3 mux21a3-3 mux21a功能時序波形功能時序波形 X康芯科技康芯科技3.1 3.1 簡單組合電路的簡單組合電路的VHDLVHDL描述描述 1. 實體表達(dá)實體表達(dá) 【例【例3-4】ENTITY e_name IS PORT ( p_name : port_m
5、data_type; . p_namei : port_mi data_type ); END ENTITY e_name; X康芯科技康芯科技3.1 3.1 簡單組合電路的簡單組合電路的VHDLVHDL描述描述 2. 實體名實體名 3. 端口語句和端口信號名端口語句和端口信號名 4. 端口模式端口模式 “IN”“IN”、“ “OUT”O(jiān)UT”、“ “INOUT”INOUT”、“ “BUFFER” BUFFER” 5. 數(shù)據(jù)類型數(shù)據(jù)類型 X康芯科技康芯科技3.1 3.1 簡單組合電路的簡單組合電路的VHDLVHDL描述描述 6. 結(jié)構(gòu)體表達(dá)結(jié)構(gòu)體表達(dá) 【例【例3-53-5】ARCHITECTU
6、RE arch_name OF e_name ISARCHITECTURE arch_name OF e_name IS 說說明明語語句句 BEGINBEGIN ( (功能描述功能描述語語句句) )END ARCHITECTURE arch_name END ARCHITECTURE arch_name ; X康芯科技康芯科技3.1 3.1 簡單組合電路的簡單組合電路的VHDLVHDL描述描述 7. 賦值符號和數(shù)據(jù)比較符號賦值符號和數(shù)據(jù)比較符號 IF a THEN . - 注意,注意,a的數(shù)據(jù)類型必須是的數(shù)據(jù)類型必須是boolean IF (s1=0)AND(s2=1)OR(cb+1) THE
7、N . 8. 邏輯操作符邏輯操作符 BIT、BOOLEAN、STD_LOGIC X康芯科技康芯科技3.1 3.1 簡單組合電路的簡單組合電路的VHDLVHDL描述描述 9. 條件語句條件語句 10. WHEN_ELSE條件信號賦值語句條件信號賦值語句 賦值賦值目目標(biāo)標(biāo) = = 表表達(dá)達(dá)式式 WHEN WHEN 賦值條賦值條件件 ELSEELSE表表達(dá)達(dá)式式 WHEN WHEN 賦值條賦值條件件 ELSEELSE . . 表表達(dá)達(dá)式式 ; z = a WHEN p1 = 1 ELSE b WHEN p2 = 1 ELSE c ; X康芯科技康芯科技3.1 3.1 簡單組合電路的簡單組合電路的VH
8、DLVHDL描述描述 11. 進(jìn)程語句和順序語句進(jìn)程語句和順序語句 12. 文件取名和存盤文件取名和存盤 IF_THEN_ELSE_END IF; IF_THEN_ELSE_END IF; “.vhd” adder_f.vhd X康芯科技康芯科技【例【例3-6】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
9、 : STD_LOGIC ; -類似于在芯片內(nèi)部定義一個數(shù)據(jù)的暫存節(jié)點(diǎn)類似于在芯片內(nèi)部定義一個數(shù)據(jù)的暫存節(jié)點(diǎn) BEGIN PROCESS (CLK,Q1) BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = D ; END IF; END PROCESS ;Q = Q1 ; -將內(nèi)部的暫存數(shù)據(jù)向端口輸出雙橫線將內(nèi)部的暫存數(shù)據(jù)向端口輸出雙橫線-是注釋符號)是注釋符號) END bhv; 3.2 3.2 簡單時序電路的簡單時序電路的VHDLVHDL描述描述 3.2.1 D觸發(fā)器觸發(fā)器 圖圖3-4 D3-4 D觸發(fā)器觸發(fā)器 X康芯科技康芯科技3.2 3.2 簡單時序電路的
10、簡單時序電路的VHDLVHDL描述描述 3.2.2 D觸發(fā)器觸發(fā)器VHDL描述的語言現(xiàn)象說明描述的語言現(xiàn)象說明 1. 標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類型標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類型STD_LOGIC BITBIT數(shù)數(shù)據(jù)據(jù)類類型定型定義義: TYPE BIT IS(0,1); -TYPE BIT IS(0,1); -只有只有兩種兩種取取值值STD_LOGICSTD_LOGIC數(shù)數(shù)據(jù)據(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,-); X康芯科技康芯科技3.2 3.2 簡單時序電路的簡單時序電路的VH
11、DLVHDL描述描述 3.2.2 D觸發(fā)器觸發(fā)器VHDL描述的語言現(xiàn)象說明描述的語言現(xiàn)象說明 2. 設(shè)計庫和標(biāo)準(zhǔn)程序包設(shè)計庫和標(biāo)準(zhǔn)程序包 LIBRARY WORK ;LIBRARY STD ; USE STD.STANDARD.ALL ; LIBRARY ; USE .ALL ; LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ; X康芯科技康芯科技3.2 3.2 簡單時序電路的簡單時序電路的VHDLVHDL描述描述 3.2.2 D觸發(fā)器觸發(fā)器VHDL描述的語言現(xiàn)象說明描述的語言現(xiàn)象說明 3. 信號定義和數(shù)據(jù)對象信號定義和數(shù)據(jù)對象 EVENT EVENT 4
12、. 上升沿檢測表式和信號屬性函數(shù)上升沿檢測表式和信號屬性函數(shù)EVENT 5. 不完整條件語句與時序電路不完整條件語句與時序電路 X康芯科技康芯科技3.2 3.2 簡單時序電路的簡單時序電路的VHDLVHDL描述描述 3.2.2 D觸發(fā)器觸發(fā)器VHDL描述的語言現(xiàn)象說明描述的語言現(xiàn)象說明 【例【例3-7】ENTITY COMP_BAD IS PORT( a1,b1 : IN BIT; q1 : OUT BIT ); END ; ARCHITECTURE one OF COMP_BAD IS BEGIN PROCESS (a1,b1) BEGIN IF a1 b1 THEN q1 = 1 ;ELS
13、IF a1 b1 THEN q1 b1 THEN q1 = 1 ; ELSE q1 = 0 ; END IF; . X康芯科技康芯科技3.2 3.2 簡單時序電路的簡單時序電路的VHDLVHDL描述描述 3.2.3 實現(xiàn)時序電路的不同表述實現(xiàn)時序電路的不同表述 【例【例3-9】.PROCESS (CLK) BEGINIF CLKEVENT AND (CLK=1) AND (CLKLAST_VALUE=0) THEN Q = D ; -確保確保CLK的變化是一次上升沿的跳變的變化是一次上升沿的跳變 END IF; END PROCESS ;【例【例3-10】.PROCESS (CLK) BEGI
14、NIF CLK=1 AND CLKLAST_VALUE=0 -同例同例3-9 THEN Q = D ; END IF; END PROCESS ; X康芯科技康芯科技3.2 3.2 簡單時序電路的簡單時序電路的VHDLVHDL描述描述 3.2.3 實現(xiàn)時序電路的不同表述實現(xiàn)時序電路的不同表述 【例【例3-11】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DFF3 IS PORT (CLK,D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF3 IS SI
15、GNAL Q1 : STD_LOGIC; BEGIN PROCESS (CLK) BEGIN IF rising_edge(CLK) - 必須打開必須打開STD_LOGIC_1164程序包程序包 THEN Q1 = D ; END IF; END PROCESS ; Q = Q1 ; -在此,賦值語句可以放在進(jìn)程外,作為并行賦值語句在此,賦值語句可以放在進(jìn)程外,作為并行賦值語句 END ; X康芯科技康芯科技3.2 3.2 簡單時序電路的簡單時序電路的VHDLVHDL描述描述 3.2.3 實現(xiàn)時序電路的不同表述實現(xiàn)時序電路的不同表述 【例【例3-123-12】.PROCESS PROCESS
16、BEGIN BEGIN wait until CLK = 1 ; - wait until CLK = 1 ; -利用利用waitwait語語句句 Q = D ;Q = D ;END PROCESS; END PROCESS; X康芯科技康芯科技3.2 3.2 簡單時序電路的簡單時序電路的VHDLVHDL描述描述 3.2.3 實現(xiàn)時序電路的不同表述實現(xiàn)時序電路的不同表述 【例【例3-133-13】.PROCESS (CLK)PROCESS (CLK) BEGIN BEGIN IF CLK = 1 IF CLK = 1 THEN Q = D ; - THEN Q = D ; -利用利用進(jìn)進(jìn)程的程
17、的啟動啟動特性特性產(chǎn)產(chǎn)生生對對CLKCLK的的邊邊沿沿檢測檢測 END IF; END IF; END PROCESS END PROCESS 圖圖3-7 3-7 例例3-133-13的時序波形的時序波形 X康芯科技康芯科技3.2 3.2 簡單時序電路的簡單時序電路的VHDLVHDL描述描述 3.2.3 實現(xiàn)時序電路的不同表述實現(xiàn)時序電路的不同表述 【例【例3-143-14】.PROCESS (CLKPROCESS (CLK,D) BEGIND) BEGIN IF CLK = 1 - IF CLK = 1 -電電平平觸發(fā)觸發(fā)型寄存器型寄存器 THEN Q = D ; THEN Q = D ;
18、END IF; END IF; END PROCESS ; END PROCESS ; 圖圖3-8 3-8 例例3-143-14的時序波形的時序波形 X康芯科技康芯科技3.2 3.2 簡單時序電路的簡單時序電路的VHDLVHDL描述描述 3.2.4 異步時序電路設(shè)計異步時序電路設(shè)計 【例【例3-15】 . 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; E
19、ND PROCESS ;PRO2: PROCESS (Q1) BEGIN IF Q1EVENT AND Q1=1 THEN Q2 = D; END IF; END PROCESS ; = Q2 ; . X康芯科技康芯科技3.2 3.2 簡單時序電路的簡單時序電路的VHDLVHDL描述描述 3.2.4 異步時序電路設(shè)計異步時序電路設(shè)計 圖圖3-9 3-9 例例3-153-15綜合后的電路綜合后的電路SynplifySynplify綜合)綜合) X康芯科技康芯科技3.3 3.3 含有層次結(jié)構(gòu)的含有層次結(jié)構(gòu)的VHDLVHDL描述描述 3.3.1 半加器描述和半加器描述和CASE語句語句 圖圖3-10
20、 3-10 半加器半加器h_adderh_adder電路圖及其真值表電路圖及其真值表 I113coasob1001010110001100cosobanotxnor2and2X康芯科技康芯科技3.3 3.3 含有層次結(jié)構(gòu)的含有層次結(jié)構(gòu)的VHDLVHDL描述描述 3.3.1 半加器描述和半加器描述和CASE語句語句 圖圖3-11 3-11 全加器全加器f_adderf_adder電路圖及其實體模塊電路圖及其實體模塊I113aincoutcoutainbinsumcinbinsumcinf_adderor2afedu3u2u1baccosoBcosoBh_adderAh_adderAX康芯科技康芯
21、科技3.3 3.3 含有層次結(jié)構(gòu)的含有層次結(jié)構(gòu)的VHDLVHDL描述描述 3.3.1 半加器描述和半加器描述和CASE語句語句 【例【例3-16】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 h_adder is BEGIN so = NOT(a XOR (NOT b) ;
22、co = a AND b ; END ARCHITECTURE fh1; X康芯科技康芯科技3.3 3.3 含有層次結(jié)構(gòu)的含有層次結(jié)構(gòu)的VHDLVHDL描述描述 3.3.1 半加器描述和半加器描述和CASE語句語句 【例【例3-17】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
23、h_adder is SIGNAL abc : STD_LOGIC_VECTOR(1 DOWNTO 0) ; -定義標(biāo)準(zhǔn)邏輯位矢量數(shù)據(jù)類型定義標(biāo)準(zhǔn)邏輯位矢量數(shù)據(jù)類型BEGIN abc so=0; co so=1; co so=1; co so=0; co NULL ; END CASE; END PROCESS; END ARCHITECTURE fh1 ; X康芯科技康芯科技3.3 3.3 含有層次結(jié)構(gòu)的含有層次結(jié)構(gòu)的VHDLVHDL描述描述 3.3.1 半加器描述和半加器描述和CASE語句語句 【例【例3-18】 LIBRARY IEEE ; -或門邏輯描述或門邏輯描述 USE IEEE.
24、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 ain,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; X康芯科技康芯科技3.3 3.3 含有層次結(jié)構(gòu)的含
25、有層次結(jié)構(gòu)的VHDLVHDL描述描述 3.3.2 半加器描述半加器描述 1. CASE語句語句 CASE ISWhen = ; . ; ;When = ; . ; ;.WHEN OTHERS = ;END CASE ; X康芯科技康芯科技3.3 3.3 含有層次結(jié)構(gòu)的含有層次結(jié)構(gòu)的VHDLVHDL描述描述 3.3.2 半加器描述半加器描述 2. 標(biāo)準(zhǔn)邏輯矢量數(shù)據(jù)類型標(biāo)準(zhǔn)邏輯矢量數(shù)據(jù)類型 B = 01100010 ; - B(7)為為 0 B(4 DOWNTO 1) = 1101 ; - B(4)為為 1 B(7 DOWNTO 4) = A ; - B(6)等于等于 A(2) SIGNAL C
26、:BIT_VECTOR(3 DOWNTO 0); X康芯科技康芯科技3.3 3.3 含有層次結(jié)構(gòu)的含有層次結(jié)構(gòu)的VHDLVHDL描述描述 3.3.2 半加器描述半加器描述 3. 并置操作符并置操作符 SIGNAL a : STD_LOGIC_VECTOR (3 DOWNTO 0) ;SIGNAL d : STD_LOGIC_VECTOR (1 DOWNTO 0) ;.a = 連接端口名連接端口名,.); ,.); X康芯科技康芯科技3.4 3.4 計數(shù)器設(shè)計計數(shù)器設(shè)計 【例【例3-20】ENTITY CNT4 IS PORT ( CLK : IN BIT ; Q : BUFFER INTEGE
27、R RANGE 15 DOWNTO 0 ) ; END ; ARCHITECTURE bhv OF CNT4 IS BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q = Q + 1 ; END IF; END PROCESS ;END bhv; X康芯科技康芯科技3.4 3.4 計數(shù)器設(shè)計計數(shù)器設(shè)計 3.4.1 4位加法計數(shù)器位加法計數(shù)器 表面上表面上BUFFERBUFFER具有雙向端口具有雙向端口INOUTINOUT的功能,但實際上其輸入功能的功能,但實際上其輸入功能是不完整的,它只能將自己輸出的信號再反饋回來,并不含有是不完整
28、的,它只能將自己輸出的信號再反饋回來,并不含有ININ的功的功能。能。 表式表式Q = Q + 1Q = Q + 1的右項與左項并非處于相同的時刻內(nèi),對于時的右項與左項并非處于相同的時刻內(nèi),對于時序電路,除了傳輸延時外,前者的結(jié)果出現(xiàn)于當(dāng)前時鐘周期;后者,序電路,除了傳輸延時外,前者的結(jié)果出現(xiàn)于當(dāng)前時鐘周期;后者,即左項要獲得當(dāng)前的即左項要獲得當(dāng)前的Q + 1Q + 1,需等待下一個時鐘周期。,需等待下一個時鐘周期。 X康芯科技康芯科技3.4 3.4 計數(shù)器設(shè)計計數(shù)器設(shè)計 3.4.2 整數(shù)類型整數(shù)類型 1 十進(jìn)制整數(shù)十進(jìn)制整數(shù)0 十進(jìn)制整數(shù)十進(jìn)制整數(shù)35 十進(jìn)制整數(shù)十進(jìn)制整數(shù)10E3 十進(jìn)制整
29、數(shù),等于十進(jìn)制整數(shù)十進(jìn)制整數(shù),等于十進(jìn)制整數(shù)100016#D9# 十六進(jìn)制整數(shù),等于十六進(jìn)制整數(shù)十六進(jìn)制整數(shù),等于十六進(jìn)制整數(shù)D9H8#720# 八進(jìn)制整數(shù),等于八進(jìn)制整數(shù)八進(jìn)制整數(shù),等于八進(jìn)制整數(shù)720O2#11010010# 二進(jìn)制整數(shù),等于二進(jìn)制整數(shù)二進(jìn)制整數(shù),等于二進(jìn)制整數(shù)11010010B Q : BUFFER NATURAL RANGE 15 DOWNTO 0; X康芯科技康芯科技3.4 3.4 計數(shù)器設(shè)計計數(shù)器設(shè)計 3.4.3 計數(shù)器設(shè)計的另一種表述計數(shù)器設(shè)計的另一種表述 【例【例3-21】 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ;
30、 USE IEEE.STD_LOGIC_UNSIGNED.ALL ; ENTITY CNT4 IS PORT ( CLK : IN STD_LOGIC ; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ) ; END ; ARCHITECTURE bhv OF CNT4 ISSIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = Q1 + 1 ; END IF; END PROCESS ; Q 0) ; -計數(shù)器異步復(fù)位
31、 ELSIF CLKEVENT AND CLK=1 THEN -檢測時鐘上升沿 IF EN = 1 THEN -檢測是否允許計數(shù)同步使能) IF CQI 0); -大于9,計數(shù)值清零 END IF; END IF; END IF; IF CQI = 9 THEN COUT = 1; -計數(shù)大于9,輸出進(jìn)位信號 ELSE COUT = 0; END IF; CQ X) SIGNAL d1 : STD_LOGIC_VECTOR(4 DOWNTO 0); VARIABLE a1 : STD_LOGIC_VECTOR(15 DOWNTO 0); . d1 0); a1 := (OTHERS=0) ;
32、d1 e(3),3=e(5), OTHERS=e(1) ); f = e(1) & e(5) & e(1) & e(3) & e(1) ; X康芯科技康芯科技3.5 3.5 一般加法計數(shù)器設(shè)計一般加法計數(shù)器設(shè)計 3.5.2 程序分析程序分析 圖圖3-14 3-14 例例3-223-22的的RTLRTL電路電路SynplifySynplify綜合)綜合) X康芯科技康芯科技3.5 3.5 一般加法計數(shù)器設(shè)計一般加法計數(shù)器設(shè)計 3.5.2 程序分析程序分析 圖圖3-15 3-15 例例3-223-22的工作時序的工作時序 X康芯科技康芯科技3.5 3.5 一般加法計
33、數(shù)器設(shè)計一般加法計數(shù)器設(shè)計 3.5.3 含并行置位的移位寄存器設(shè)計含并行置位的移位寄存器設(shè)計 【例【例3-23】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHFRT IS - 8位右移寄存器位右移寄存器 PORT ( CLK,LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0); QB : OUT STD_LOGIC );END SHFRT;ARCHITECTURE behav OF SHFRT IS BEGIN PROCESS (CLK, LOAD) VARIABLE REG
34、8 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLKEVENT AND CLK = 1 THEN IF LOAD = 1 THEN REG8 := DIN; -由由LOAD=1)裝載新數(shù)據(jù))裝載新數(shù)據(jù) ELSE REG8(6 DOWNTO 0) := REG8(7 DOWNTO 1); END IF; END IF; QB = REG8(0); - 輸出最低位輸出最低位 END PROCESS; END behav; X康芯科技康芯科技3.5 3.5 一般加法計數(shù)器設(shè)計一般加法計數(shù)器設(shè)計 3.5.3 含并行置位的移位寄存器設(shè)計含并行置位的移位寄存器設(shè)計
35、圖圖3-16 3-16 例例3-233-23的工作時序的工作時序 X康芯科技康芯科技3.6 VHDL3.6 VHDL語句結(jié)構(gòu)與語法小節(jié)語句結(jié)構(gòu)與語法小節(jié) 實體:以實體:以ENTITY. . .END ENTITY e_name描述器件的端口特性。描述器件的端口特性。結(jié)構(gòu)體:結(jié)構(gòu)體: 以以ARCHITECTURE . END ARCHITECTURE 給出器件給出器件 的邏輯功能的邏輯功能和行為。和行為。端口定義:端口定義: 以以PORT()語句定義器件端口及其數(shù)據(jù)類型。語句定義器件端口及其數(shù)據(jù)類型。端口模式:端口模式: IN、OUT、INOUT、BUFFER描述端口數(shù)據(jù)的流向特征。描述端口數(shù)據(jù)
36、的流向特征。數(shù)據(jù)類型:數(shù)據(jù)類型: 數(shù)據(jù)對象承載數(shù)據(jù)的類別:數(shù)據(jù)對象承載數(shù)據(jù)的類別:INTEGER、BOOLEAN、STD_LOGIC、BIT、STD_LOGIC_VECTOR。信號賦值符:信號賦值符:“=”,用于信號數(shù)據(jù)的傳輸,仿真?zhèn)鬏斞訒r最短為一個,用于信號數(shù)據(jù)的傳輸,仿真?zhèn)鬏斞訒r最短為一個。條件比較符:條件比較符: “=”,在條件語句表式中用于比較待測數(shù)據(jù)的關(guān)系。,在條件語句表式中用于比較待測數(shù)據(jù)的關(guān)系。 延時:延時: 模擬器最小分辨時間模擬器最小分辨時間,或稱延時,或稱延時 。邏輯操作符:邏輯操作符: AND、OR、NOT、NAND、XOR、XNOR。IF條件語句:條件語句:IF_THE
37、N_ELSE語句作為順序語句。語句作為順序語句。并行條件語句:并行條件語句:WHEN_ELSE條件信號賦值語句。條件信號賦值語句。進(jìn)程語句:進(jìn)程語句: 以以PROCESS .END PROCESS引導(dǎo)的語句結(jié)構(gòu)。引導(dǎo)的語句結(jié)構(gòu)。順序語句:順序語句: 由進(jìn)程語句引導(dǎo)的,以順序方式執(zhí)行的語句。由進(jìn)程語句引導(dǎo)的,以順序方式執(zhí)行的語句。并行語句:并行語句: 在結(jié)構(gòu)體中以并行方式執(zhí)行的語句。在結(jié)構(gòu)體中以并行方式執(zhí)行的語句。文件取名:文件取名: 建議文件名與建議文件名與VHDL設(shè)計的實體名一致,后綴是設(shè)計的實體名一致,后綴是.vhd。X康芯科技康芯科技3.6 VHDL3.6 VHDL語句結(jié)構(gòu)與語法小節(jié)語句
38、結(jié)構(gòu)與語法小節(jié) 文件存盤:文件存盤: VHDLVHDL設(shè)計文件必須存于指定為工程的目錄中,此目錄將被設(shè)定為設(shè)計文件必須存于指定為工程的目錄中,此目錄將被設(shè)定為WORKWORK庫,庫,WORKWORK庫的路徑即為此目錄的路徑。庫的路徑即為此目錄的路徑。VHDLVHDL庫:庫:LIBRARYLIBRARY語句打開語句打開VHDLVHDL庫:庫:IEEEIEEE庫、標(biāo)準(zhǔn)庫庫、標(biāo)準(zhǔn)庫STDSTD、工作庫、工作庫WORK . .WORK . .程序包:程序包:USEUSE語句聲明使用程序包:語句聲明使用程序包:STD_LOGIC_1164STD_LOGIC_1164、STD_LOGIC_UNSIGNED
39、STD_LOGIC_UNSIGNED、STANDARDSTANDARD等程序。等程序。數(shù)據(jù)對象:信號:數(shù)據(jù)對象:信號:SIGNALSIGNAL,變量:,變量:VERIABLEVERIABLE,常數(shù):,常數(shù):CONSTANTCONSTANT信號屬性函數(shù):信號屬性函數(shù)信號屬性函數(shù):信號屬性函數(shù)EVENTEVENT、LAST_VALUELAST_VALUE。時鐘檢測:時鐘檢測上升沿檢測表式:時鐘檢測:時鐘檢測上升沿檢測表式:CLKEVENT AND CLK=1CLKEVENT AND CLK=1、RISING_EDGE()RISING_EDGE()、FALLING_EDGE()FALLING_EDG
40、E()等。等。時序電路:不完整條件語句產(chǎn)生時序電路:時序電路:不完整條件語句產(chǎn)生時序電路:IF THEN END IFIF THEN END IF,IF THEN IF THEN ELSIF THEN END IF ELSIF THEN END IF真值表表達(dá):表達(dá)方法之一是用真值表表達(dá):表達(dá)方法之一是用CASE_WHENCASE_WHEN語句,但要注意語句,但要注意OTHERSOTHERS的應(yīng)用。的應(yīng)用。并置操作符:并置操作符并置操作符:并置操作符 可用于合并兩個或多個邏輯矢量,構(gòu)建成新的數(shù)組??捎糜诤喜蓚€或多個邏輯矢量,構(gòu)建成新的數(shù)組。元件例化:由元件調(diào)用聲明語句元件例化:由元件調(diào)用聲明語句COMPONENTCOMPONENT和映射語句和映射語句PORT MAP( )PORT MAP( )構(gòu)成。構(gòu)成。運(yùn)算符重載概念:當(dāng)進(jìn)行非整數(shù)類型數(shù)據(jù)運(yùn)算操作時需要調(diào)用運(yùn)算符重載函數(shù),運(yùn)算符重載概念:當(dāng)進(jìn)行非整數(shù)類型數(shù)據(jù)運(yùn)算操作時需要調(diào)用運(yùn)算符重載函數(shù),這可以打開程序包這可以打開程序包STD_LOGIC_UNSIGNEDSTD_LOGIC_UNSIGNED。 X康芯科技康芯科技習(xí)習(xí) 題題 3-1. 畫出與下例實體描述對應(yīng)的原理圖符號元件:畫出與下例實體描述對應(yīng)的原理圖符號元件:ENTITY buf3s IS - 實體實體1: 三態(tài)緩沖器三態(tài)緩沖器 PORT (i
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋼板合同協(xié)議書樣板圖
- 中國染布行業(yè)市場前景預(yù)測及投資價值評估分析報告
- 商務(wù)包車運(yùn)營方案范文
- 麻辣燙創(chuàng)業(yè)計劃書例文
- 中國橡膠及橡膠制品項目投資計劃書
- 噴頭維修合同協(xié)議書
- 外賣超時計劃書
- 校園桌游創(chuàng)業(yè)計劃書模板
- 經(jīng)紀(jì)合同合作協(xié)議書
- 馬病復(fù)習(xí)資料
- 辦公樓用電改造施工方案
- 安全風(fēng)險四色分布圖圖例
- 物理才是最好的人生指南
- 來華留學(xué)生對中國文化認(rèn)同感的探究
- 軟件系統(tǒng)操作手冊模板
- 物流專線合作協(xié)議書
- 華興報告生物育種:前沿生物技術(shù)改造下的新農(nóng)業(yè)
- 四川玖誼源粒子科技有限公司回旋加速器生產(chǎn)及同位素應(yīng)用研發(fā)基地環(huán)境影響報告表
- 樓頂發(fā)光字制作安裝合同
- 中德材料中英文對照
- 帶電流互感器三相四線有功電表的接線演示文稿
評論
0/150
提交評論