第4章應(yīng)用VHDL設(shè)計數(shù)字系統(tǒng)ppt課件_第1頁
第4章應(yīng)用VHDL設(shè)計數(shù)字系統(tǒng)ppt課件_第2頁
第4章應(yīng)用VHDL設(shè)計數(shù)字系統(tǒng)ppt課件_第3頁
第4章應(yīng)用VHDL設(shè)計數(shù)字系統(tǒng)ppt課件_第4頁
第4章應(yīng)用VHDL設(shè)計數(shù)字系統(tǒng)ppt課件_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、EDA技術(shù)及其應(yīng)用第4章應(yīng)用VHDL設(shè)計數(shù)字系統(tǒng)4.1 多路選擇器的VHDL描述4.1.1多路選擇器的VHDL描述圖4-1 mux21a實體圖4-2 mux21a結(jié)構(gòu)體4.1 多路選擇器的VHDL描述4.1.1多路選擇器的VHDL描述【例4-1】ENTITY mux21a ISPORT ( a, b : IN BIT;s : IN BIT;y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINy = a WHEN s = 0 ELSE b ;END ARCHITECTURE one ;4.1 多路選擇器的VHDL描述

2、4.1.1多路選擇器的VHDL描述【例4-2】ENTITY mux21a ISPORT ( a, b : IN BIT;s : IN BIT;y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a ISSIGNAL d,e : BIT;BEGINd = a AND (NOT S) ;e = b AND s ;y = d OR e ;END ARCHITECTURE one ;4.1 多路選擇器的VHDL描述4.1.1多路選擇器的VHDL描述【例4-3】ENTITY mux21a ISPORT ( a, b, s: IN BIT;y

3、: OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINPROCESS (a,b,s)BEGINIF s = 0 THENy = a ; ELSEy = b ;END IF;END PROCESS;END ARCHITECTURE one ;4.1 多路選擇器的VHDL描述4.1.1多路選擇器的VHDL描述圖4-3 mux21a功能時序波形4.1 多路選擇器的VHDL描述4.1.2語句結(jié)構(gòu)和語法說明1. 實體表達實體表達【例【例4-4】ENTITY e_name ISPORT ( p_name : port_m data_

4、type;.p_namei : port_mi data_type );END ENTITY e_name;4.1 多路選擇器的VHDL描述4.1.2語句結(jié)構(gòu)和語法說明2. 實體名3. 端口語句和端口信號名4. 端口模式5. 數(shù)據(jù)類型4.1 多路選擇器的VHDL描述6. 結(jié)構(gòu)體表達結(jié)構(gòu)體表達【例4-5】ARCHITECTURE arch_name OF e_name IS說明語句說明語句BEGIN(功能描述語句功能描述語句)END ARCHITECTURE arch_name ;4.1 多路選擇器的VHDL描述7. 賦值符號和數(shù)據(jù)比較符號賦值符號和數(shù)據(jù)比較符號IF a THEN . - 留意,

5、留意,a的數(shù)據(jù)類型必須是的數(shù)據(jù)類型必須是booleanIF (s1=0)AND(s2=1)OR(cb+1) THEN . .8. 邏輯操作符邏輯操作符9. 條件語句條件語句4.1 多路選擇器的VHDL描述10. WHEN_ELSE條件信號賦值語句條件信號賦值語句賦值目標 = 表達式 WHEN 賦值條件 ELSE表達式 WHEN 賦值條件 ELSE.表達式 ;z = a WHEN p1 = 1 ELSEb WHEN p2 = 1 ELSEc ;4.1 多路選擇器的VHDL描述11. 進程語句和順序語句進程語句和順序語句12. 文件取名和存盤文件取名和存盤4.2 寄存器描述的VHDL程序4.2.1

6、D觸發(fā)器的描述圖4-4 D觸發(fā)器4.2 寄存器描述的VHDL程序【例4-6】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DFF1 ISPORT (CLK : IN STD_LOGIC ;D : IN STD_LOGIC ;Q : OUT STD_LOGIC );END ;ARCHITECTURE bhv OF DFF1 ISSIGNAL Q1 : STD_LOGIC ; -類似于在芯片內(nèi)部定義一個數(shù)據(jù)的暫存節(jié)點類似于在芯片內(nèi)部定義一個數(shù)據(jù)的暫存節(jié)點BEGINPROCESS (CLK,Q1)BEGINIF CLKEVENT AND CLK

7、= 1THEN Q1 = D ;END IF;END PROCESS ;Q = Q1 ; -將內(nèi)部的暫存數(shù)據(jù)向端口輸出雙橫線將內(nèi)部的暫存數(shù)據(jù)向端口輸出雙橫線-是注釋符號)是注釋符號)END bhv;4.2 寄存器描述的VHDL程序4.2.2VHDL描述的語言現(xiàn)象說明1. 標準邏輯位數(shù)據(jù)類型STD_LOGICBIT數(shù)據(jù)類型定義:TYPE BIT IS(0,1); -只有兩種取值STD_LOGIC數(shù)據(jù)類型定義:TYPE STD_LOGIC IS (U,X,0,1,Z,W,L,H,-);4.2 寄存器描述的VHDL程序4.2.2VHDL描述的語言現(xiàn)象說明2. 設(shè)計庫和標準程序包LIBRARY WOR

8、K ;LIBRARY STD ;USE STD.STANDARD.ALL ;LIBRARY ;USE .ALL ;LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;4.2 寄存器描述的VHDL程序4.2.2VHDL描述的語言現(xiàn)象說明3. 信號定義和數(shù)據(jù)對象信號定義和數(shù)據(jù)對象4. 上升沿檢測表式和信號屬性函數(shù)上升沿檢測表式和信號屬性函數(shù)EVENT5. 不完整條件語句與時序電路不完整條件語句與時序電路4.2 寄存器描述的VHDL程序4.2.2VHDL描述的語言現(xiàn)象說明5. 不完整條件語句與時序電路【例4-7】ENTITY COMP_BAD ISPORT( a1,

9、b1 : IN BIT;q1 : OUT BIT );END ;ARCHITECTURE one OF COMP_BAD ISBEGINPROCESS (a1,b1)BEGINIF a1 b1 THEN q1 = 1 ;ELSIF a1 b1 THEN q1 b1 THEN q1 = 1 ;ELSE q1 = 0 ; END IF;4.2 寄存器描述的VHDL程序4.2.3實現(xiàn)時序電路的不同表述【例4-9】.PROCESS (CLK)BEGINIF CLKEVENT AND (CLK=1) AND(CLKLAST_VALUE=0)THEN Q = D ; -確保CLK的變化是一次上升沿的跳變E

10、ND IF;END PROCESS ;4.2 寄存器描述的VHDL程序4.2.3實現(xiàn)時序電路的不同表述【例4-10】.PROCESS (CLK)BEGINIF CLK=1 AND CLKLAST_VALUE=0THEN Q = D ;END IF;END PROCESS ;4.2 寄存器描述的VHDL程序【例4-11】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DFF3 ISPORT (CLK,D : IN STD_LOGIC ;Q : OUT STD_LOGIC );END ;ARCHITECTURE bhv OF DFF3 ISSIG

11、NAL Q1 : STD_LOGIC;BEGINPROCESS (CLK)BEGINIF rising_edge(CLK) - 必須打開必須打開STD_LOGIC_1164程序包程序包THEN Q1 = D ;END IF;END PROCESS ;Q = Q1 ; -在此,賦值語句可以放在進程外,作為并行賦值語句在此,賦值語句可以放在進程外,作為并行賦值語句END ;4.2 寄存器描述的VHDL程序4.2.3實現(xiàn)時序電路的不同表述【例4-12】.PROCESSBEGINwait until CLK = 1Q = D ;END PROCESS;-利用利用wait語句語句4.2 寄存器描述的VH

12、DL程序4.2.3實現(xiàn)時序電路的不同表述【例4-13】.PROCESS (CLK)BEGINIF CLK = 1THEN Q = D ;END IF;END PROCESS ;-利用進程的啟動特性產(chǎn)生對利用進程的啟動特性產(chǎn)生對CLK的邊沿檢測的邊沿檢測圖4-7 例4-13的時序波形4.2 寄存器描述的VHDL程序4.2.3實現(xiàn)時序電路的不同表述【例4-14】.PROCESS (CLK,D) BEGINIF CLK = 1 -電平觸發(fā)型寄存器THEN Q = D ;END IF;END PROCESS圖4-8 例4-14的時序波形4.2 寄存器描述的VHDL程序4.2.4異步時序電路設(shè)計【例4-

13、15】.ARCHITECTURE bhv OF MULTI_DFF ISSIGNAL Q1,Q2 : STD_LOGIC;BEGINPRO1: PROCESS (CLK)BEGINIF CLKEVENT AND CLK=1THEN Q1 = NOT (Q2 OR A);END IF;END PROCESS ;PRO2: PROCESS (Q1)BEGINIF Q1EVENT AND Q1=1THEN Q2 = D;END IF;END PROCESS ; = Q2 ;.4.2 寄存器描述的VHDL程序4.2.4異步時序電路設(shè)計圖4-9 例4-15綜合后的電路Synplify綜合)4.3 1位全

14、加器的VHDL描述4.3.1半加器描述【例4-16】LIBRARY IEEE; -半加器描述(1):布爾方程描述方法USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder ISPORT (a, b : IN STD_LOGIC;co, so : OUT STD_LOGIC);END ENTITY h_adder;ARCHITECTURE fh1 OF h_adder isBEGINso = NOT(a XOR (NOT b) ; co = a AND b ;END ARCHITECTURE fh1;4.3 1位全加器的VHDL描述4.3.1半加器描述aand2co

15、a00b01so01co00bnotxnor2so11011001圖4-10 半加器h_adder電路圖及其真值表a4.3 1位全加器的VHDL描述4.3.1半加器描述ainu1h_adderA codh_adderA co f bor2accoutainbinf_addercoutbinBsoeBsou3sumcinsumcinu2圖4-11 全加器f_adder電路圖及其實體模塊USE IEEE.STD_LOGIC_1164.ALL;END ARCHITECTURE fh1 ;4.3h_adder ISco, so OUT半加器描述半加器描述【例4-17】LIBRARY IEEE; -半加

16、器描述半加器描述(2):真值表描述方法:真值表描述方法ENTITY 1位全加器的位全加器的VHDL描述描述PORT (a, b : IN STD_LOGIC;4.3.1 : STD_LOGIC);END ENTITY h_adder;ARCHITECTURE fh1 OF h_adder isSIGNAL abc : STD_LOGIC_VECTOR(1 DOWNTO 0) ; -定義標準邏輯位矢量定義標準邏輯位矢量數(shù)據(jù)類型BEGINabc so=0; co so=1; co so=1; co so=0; co NULL ;END CASE;END PROCESS;圖4-11 全加器f_add

17、er電路圖及其實體模塊4.3 1位全加器的VHDL描述4.3.1半加器描述【例4-18】LIBRARY IEEE ; -或門邏輯描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a ISPORT (a, b :IN STD_LOGIC;c : OUT STD_LOGIC );END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINc 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=

18、d, b=f, c=cout);END ARCHITECTURE fd1;4.3 1位全加器的VHDL描述4.3.2CASE語句1. CASE語句CASE ISWhen = ; . ; ;When = ; . ; ;.WHEN OTHERS = ;END CASE ;WHEN OTHERS = ;4.3 1位全加器的VHDL描述4.3.2CASE語句2. 標準邏輯矢量數(shù)據(jù)類型B : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ; 或SIGNAL A :STD_LOGIC_VECTOR(1 TO 4)B = 01100010 ; - B(7)為 0B(4 DOWNTO 1)

19、 = 1101 ; - B(4)為 1B(7 DOWNTO 4) = A ; - B(6)等于 A(2)SIGNAL C :BIT_VECTOR(3 DOWNTO 0);4.3 1位全加器的VHDL描述4.3.2CASE語句3. 并置操作符 &SIGNAL a : STD_LOGIC_VECTOR (3 DOWNTO 0) ;SIGNAL d : STD_LOGIC_VECTOR (1 DOWNTO 0) ;.a 連接端口名,.);4.4 計數(shù)器設(shè)計【例4-20】ENTITY CNT4 ISPORT ( CLK : IN BIT ;Q : BUFFER INTEGER RANGE 15

20、 DOWNTO 0 ) ;END ;ARCHITECTURE bhv OF CNT4 ISBEGINPROCESS (CLK)BEGINIF CLKEVENT AND CLK = 1 THENQ = Q + 1 ;END IF;END PROCESS ;END bhv;4.4 計數(shù)器設(shè)計.24位二進制加法計數(shù)器設(shè)計整數(shù)類型103510E316#D9#8#720#2#11010010#十進制整數(shù)十進制整數(shù)十進制整數(shù)十進制整數(shù),等于十進制整數(shù)1000十六進制整數(shù),等于十六進制整數(shù)D9H八進制整數(shù),等于八進制整數(shù)720O二進制整數(shù),等于二進制整數(shù)11010010B4.4 計數(shù)器設(shè)計4

21、.4.3計數(shù)器設(shè)計的其他表述方法【例4-21】LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;USE IEEE.STD_LOGIC_UNSIGNED.ALL ;ENTITY CNT4 ISPORT ( 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);BEGINPROCESS (CLK)BEGINIF CLKEVENT AND CLK = 1

22、THENQ1 = Q1 + 1 ;END IF;END PROCESS ;Q 0) ; -計數(shù)器異步復(fù)位計數(shù)器異步復(fù)位ELSIF CLKEVENT AND CLK=1 THEN -檢測時鐘上升沿檢測時鐘上升沿IF EN = 1 THEN -檢測是否允許計數(shù)同步使能)檢測是否允許計數(shù)同步使能)IF CQI 0); -大于大于9,計數(shù)值清零,計數(shù)值清零END IF;END IF;END IF;IF CQI = 9 THEN COUT = 1; -計數(shù)大于計數(shù)大于9,輸出進位信號,輸出進位信號ELSE COUT = 0;END IF;CQ X)SIGNAL d1 : STD_LOGIC_VECTOR

23、(4 DOWNTO 0);VARIABLE a1 : STD_LOGIC_VECTOR(15 DOWNTO 0);.d1 0); a1 := (OTHERS=0) ;d1 e(3),3=e(5), OTHERS=e(1) );f = e(1) & e(5) & e(1) & e(3) & e(1) ;4.5 一般加法計數(shù)器設(shè)計4.5.2程序分析圖4-14 例4-22的RTL電路Synplify綜合)4.5 一般加法計數(shù)器設(shè)計4.5.2程序分析圖4-15 例4-22的工作時序4.5 一般加法計數(shù)器設(shè)計4.5.3含并行置位的移位寄存器設(shè)計【例4-23】LIBRARY

24、 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 ISBEGINPROCESS (CLK, LOAD)VARIABLE REG8 : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF CLKEVENT AND CLK = 1 THENIF LOAD =

25、 1 THEN REG8 := DIN; -由LOAD=1)裝載新數(shù)據(jù)ELSE REG8(6 DOWNTO 0) := REG8(7 DOWNTO 1);END IF;END IF;QB = REG8(0); - 輸出最低位END PROCESS;END behav;4.5 一般加法計數(shù)器設(shè)計4.5.3含并行置位的移位寄存器設(shè)計圖4-16 例4-23的工作時序4.6 基于QuartusII的VHDL文本輸入設(shè)計4.6.1建立工作庫文件夾和編輯設(shè)計文件圖4-17 選擇VHDL文本編輯器4.6 基于QuartusII的VHDL文本輸入設(shè)計4.6.1建立工作庫文件夾和編輯設(shè)計文件圖4-18 選擇編輯

26、文件的語言類型,鍵入源程序并存盤4.6 基于QuartusII的VHDL文本輸入設(shè)計4.6.2創(chuàng)建工程圖4-19 利用“New Preject Wizard創(chuàng)建工程cnt104.6 基于QuartusII的VHDL文本輸入設(shè)計4.6.2創(chuàng)建工程圖4-20 將所有相關(guān)的文件都加入進此工程4.6 基于QuartusII的VHDL文本輸入設(shè)計.4全程編譯時序仿真圖4-21例4-22的時序仿真波形圖4.6 基于QuartusII的VHDL文本輸入設(shè)計4.6.5應(yīng)用RTL電路圖觀察器圖4-22 RTL Viewer選擇4.6 基于QuartusII的VHDL文本輸入設(shè)計4.6.5應(yīng)用RT

27、L電路圖觀察器圖4-23 例4-22的RTL圖4.6 基于QuartusII的VHDL文本輸入設(shè)計4.6.6硬件測試器圖4-24下載cnt10.sof并啟動SignalTap II,測試輸出數(shù)據(jù)4.6 基于QuartusII的VHDL文本輸入設(shè)計4.6.6硬件測試器圖4-25 SignalTap II數(shù)據(jù)窗設(shè)置后的信號波形習(xí) 題4-1. 畫出與下例實體描述對應(yīng)的原理圖符號元件:畫出與下例實體描述對應(yīng)的原理圖符號元件:ENTITY buf3s IS - 實體實體1: 三態(tài)緩沖器三態(tài)緩沖器PORT (input : IN STD_LOGIC ; - 輸入端輸入端enable : IN STD_LO

28、GIC ; - 使能端使能端output : OUT STD_LOGIC ) ; - 輸出端輸出端END buf3x ;ENTITY mux21 IS -實體實體2: 2選選1多路選擇器多路選擇器PORT (in0, in1, sel : IN STD_LOGIC;output : OUT STD_LOGIC);習(xí) 題4-2. 圖圖4-26所示的是所示的是4選選1多路選擇器,試分別用多路選擇器,試分別用IF_THEN語句和語句和CASE語句的表達方式寫出此電路的VHDL程序。選擇控制的信號s1和s0的數(shù)據(jù)類型為STD_LOGIC_VECTOR;當(dāng)s1=0,s0=0;s1=0,s0=1;s1=1

29、,s0=0和和s1=1,s0=1分別執(zhí)行分別執(zhí)行y=a、y=b、y=c、y=d。圖4-26 4選1多路選擇器習(xí) 題4-3. 圖圖4-27所示的是雙所示的是雙2選選1多路選擇器構(gòu)成的電路多路選擇器構(gòu)成的電路MUXK,對于其中,對于其中MUX21A,當(dāng),當(dāng)s=0和和1時,分別有時,分別有y=a和和ya2,b=a3,s=s0,y=tmp);u2 : MUX21A PORT MAP(a=a1,b=tmp,s=s1,y=outy);END ARCHITECTURE BHV ;實驗與實踐4-2. 時序電路的設(shè)計時序電路的設(shè)計4-3. 含異步清含異步清0和同步時鐘使能的加法計數(shù)器的設(shè)計和同步時鐘使能的加法計

30、數(shù)器的設(shè)計4-4. 數(shù)控分頻器的設(shè)計數(shù)控分頻器的設(shè)計圖4-31 當(dāng)給出不同輸入值D時,F(xiàn)OUT輸出不同頻率(CLK周期=50ns)實驗與實踐END;4-2. 時序電路的設(shè)計時序電路的設(shè)計P_REG: PROCESS(CLK)VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0);IF CNT8 = 11111111 THENCNT8 := D;4-4. 數(shù)控分頻器的設(shè)計數(shù)控分頻器的設(shè)計【例4-24】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DV

31、F ISPORT ( CLK : IN STD_LOGIC;D : IN STD_LOGIC_VECTOR(7 DOWNTO 0);FOUT : OUT STD_LOGIC );ARCHITECTURE one OF DVF ISSIGNAL FULL : STD_LOGIC;BEGIN4-3. 含異步清含異步清0和同步時鐘使能的加法計數(shù)器的設(shè)計和同步時鐘使能的加法計數(shù)器的設(shè)計BEGINIF CLKEVENT AND CLK = 1 THEN-當(dāng)CNT8計數(shù)計滿時,輸入數(shù)據(jù)D被同步預(yù)置給計數(shù)器CNT8FULL = 1; -同時使溢出標志信號FULL輸出為高電平ELSE CNT8 := CNT8

32、 + 1; -否則繼續(xù)作加1計數(shù)FULL = 0; -且輸出溢出標志信號FULL為低電平END IF;END IF;END PROCESS P_REG ;P_DIV: PROCESS(FULL)VARIABLE CNT2 : STD_LOGIC;BEGINIF FULLEVENT AND FULL = 1 THENCNT2 := NOT CNT2; -如果溢出標志信號如果溢出標志信號FULL為高電平,為高電平,D觸發(fā)器輸出取反觸發(fā)器輸出取反IF CNT2 = 1 THEN FOUT = 1; ELSE FOUT CLK8HZ, ToneIndex=ToneIndex);u2 : ToneTab

33、a PORT MAP (Index=ToneIndex,Tone=Tone,CODE=CODE1,HIGH=HIGH1);u3 : Speakera PORT MAP(clk=CLK12MHZ,Tone=Tone, SpkS=SPKOUT );END實驗與實踐4-5 PreCLK, FullSpkS : STD_LOGIC;【例4-26】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Speakera ISPORT ( clk : IN STD_LOGIC;Tone : IN STD

34、_LOGIC_VECTOR (10 DOWNTO 0);SpkS : OUT STD_LOGIC );END;ARCHITECTURE one OF Speakera ISSIGNAL樂曲硬件演奏電路設(shè)計樂曲硬件演奏電路設(shè)計BEGINDivideCLK : PROCESS(clk)VARIABLE Count4 : STD_LOGIC_VECTOR (3 DOWNTO 0) ;BEGINPreCLK 11 THEN PreCLK = 1; Count4 := 0000;ELSIF clkEVENT AND clk = 1 THEN Count4 := Count4 + 1;END IF;END

35、 PROCESS;GenSpkS : PROCESS(PreCLK, Tone)- 11位可預(yù)置計數(shù)器位可預(yù)置計數(shù)器VARIABLE Count11 : STD_LOGIC_VECTOR (10 DOWNTO 0);BEGINIF PreCLKEVENT AND PreCLK = 1 THENIF Count11 = 16#7FF# THEN Count11 := Tone ; FullSpkS = 1;ELSE Count11 := Count11 + 1; FullSpkS = 0; END IF;END IF;END PROCESS;DelaySpkS : PROCESS(FullSpk

36、S)-將輸出再將輸出再2分頻,展寬脈沖,使揚聲器有足夠功率發(fā)音分頻,展寬脈沖,使揚聲器有足夠功率發(fā)音VARIABLE Count2 : STD_LOGIC;BEGINIF FullSpkSEVENT AND FullSpkS = 1 THEN Count2 := NOT Count2;IF Count2 = 1 THEN SpkS = 1;ELSE SpkS Tone=11111111111; CODE Tone=01100000101; CODE Tone=01110010000; CODE Tone=10000001100; CODE Tone=10010101101; CODE Tone

37、=10100001010; CODE Tone=10101011100; CODE Tone=10110000010; CODE Tone=10111001000; CODE Tone=11000000110; CODE Tone=11001010110; CODE Tone=11010000100; CODE Tone=11011000000; CODE NULL;END CASE;END PROCESS;END;HIGHHIGHHIGHHIGHHIGHHIGHHIGHHIGHHIGHHIGHHIGHHIGHHIGH=0;-2047=0;-773;=0;-912;=0;-1036;=0;-1

38、197;=0;-1290;=0;-1372;=1;-1410;=1;-1480;=1;-1542;=1;-1622;=1;-1668;=1;-1728;LIBRARY IEEE;ToneIndex : OUT【例4-28】USE IEEE.STD_LOGIC_1164.ALL;實驗與實踐實驗與實踐USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY NoteTabs ISPORT ( clk : IN STD_LOGIC;4-5 樂曲硬件演奏電路設(shè)計樂曲硬件演奏電路設(shè)計STD_LOGIC_VECTOR (3 DOWNTO 0) );END;ARCHITECTURE on

39、e OF NoteTabs ISCOMPONENT MUSIC -音符數(shù)據(jù)音符數(shù)據(jù)ROMPORT(address : IN STD_LOGIC_VECTOR (7 DOWNTO 0);inclock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);END COMPONENT;SIGNAL Counter : STD_LOGIC_VECTOR (7 DOWNTO 0);BEGINCNT8 : PROCESS(clk, Counter)BEGINIF Counter= THEN Counter = 00000000;ELSIF (clkE

40、VENT AND clk = 1) THEN Counter Counter , q=ToneIndex,inclock=clk);END;4-5 4 ; -“梁祝樂曲演奏數(shù)據(jù)梁祝樂曲演奏數(shù)據(jù)實驗與實踐【例4-29】WIDTH =樂曲硬件演奏電路設(shè)計樂曲硬件演奏電路設(shè)計DEPTH = 256 ;ADDRESS_RADIX = DEC ;DATA_RADIX = DEC ;CONTENT BEGIN -注意實用文件中要展開以下數(shù)據(jù),每一組占一行注意實用文件中要展開以下數(shù)據(jù),每一組占一行00: 3 ; 01: 3 ; 02: 3 ; 03: 3; 04: 5; 05: 5; 06: 5;07: 6; 08: 8; 09: 8;10: 8 ; 11: 9 ; 12: 6 ; 13: 8; 14: 5; 15: 5; 16: 12;17: 12;18: 12; 19:15;20:13 ; 21:12 ; 22:10 ; 23:12; 24: 9; 25: 9; 26: 9; 27: 9; 28: 9; 29: 9;30: 9 ; 31: 0 ; 32: 9 ; 33: 9; 34: 9; 35:10; 36: 7; 37: 7; 38: 6; 39: 6

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論