高等電子技術(VHDL)_第1頁
高等電子技術(VHDL)_第2頁
高等電子技術(VHDL)_第3頁
高等電子技術(VHDL)_第4頁
高等電子技術(VHDL)_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1第五章第五章 VHDLVHDL語言語言 VHDL的的 基本概念基本概念 VHDL的基本結構的基本結構 VHDL的數(shù)據(jù)類型與常用語句的數(shù)據(jù)類型與常用語句 常用電路的常用電路的VHDL描述描述 VHDL的設計舉例的設計舉例25 5.1 VHDL的的 基本概念基本概念 國際標準化的超高速集成電路硬件描述語言國際標準化的超高速集成電路硬件描述語言 Very High-speed Integrated Circuit Hardware Description Language 支持硬件的設計、驗證、綜合和測試支持硬件的設計、驗證、綜合和測試 電路組成的結構描述、電路功能的行為描述電路組成的結構描述、電

2、路功能的行為描述 支持系統(tǒng)級、算法級、寄存器傳輸級(支持系統(tǒng)級、算法級、寄存器傳輸級(RTLRTL)、)、邏輯級、開關級邏輯級、開關級 采用自頂向下分層描述方法采用自頂向下分層描述方法 新標準擴展到模擬電路、數(shù)?;旌想娐沸聵藴蕯U展到模擬電路、數(shù)?;旌想娐?可以描述與工藝有關的信息可以描述與工藝有關的信息35、2 VHDL的基本結構的基本結構一、實體:關鍵詞一、實體:關鍵詞(ENTITY)實體說明:實體名、輸入實體說明:實體名、輸入/ /輸出端口輸出端口ENTITY rsff ISPORT(set,reset:IN BIT; q,qb:BUFFER BIT);END rsff4二、二、PORTP

3、ORT端口定義端口定義:端口信號名:唯一而不重復端口信號名:唯一而不重復端口模式:說明信號的方向端口模式:說明信號的方向(IN,OUT,INOUT,BUFFER)端口類型:端口信號的取值類型端口類型:端口信號的取值類型(BITBIT,BITBIT- -VECTORVECTOR,STDSTD- -LOGICLOGIC, STDSTD- -LOGICLOGIC- -VECTORVECTOR,INTEGERINTEGER,BOOLEANBOOLEAN)5BIT:位類型,位類型, 取值取值0、1, 由由STANDARD程序包程序包定義定義BIT_VECTOR:位向量類型,位向量類型, 是是BIT的組合

4、的組合STD_LOGIC:工業(yè)標準的邏輯類型,工業(yè)標準的邏輯類型, 取值取值0、 1、 X、 Z, 由由STD_LOGIC_1164程序包定義程序包定義STD_LOGIC_VECTOR:工業(yè)標準的邏輯向量類工業(yè)標準的邏輯向量類型,型, 是是STD_LOGIC的組合的組合INTEGER:整數(shù)類型,整數(shù)類型, 可用作循環(huán)的指針或常數(shù)可用作循環(huán)的指針或常數(shù), 通常不用作通常不用作I/O信號信號BOOLEAN:布爾類型,布爾類型, 取值取值FALSE、 TRUE6d d15:015:0是是1616位輸入總線;位輸入總線;clkclk、 resetreset、 oeoe是輸入信號;是輸入信號;q1q11

5、5:015:0是是1616位三態(tài)輸出總線;位三態(tài)輸出總線;q2q215:015:0是是1616位雙向總線;位雙向總線;intint是輸出信號,是輸出信號, 也反饋到內(nèi)部使用;也反饋到內(nèi)部使用;opt是三態(tài)輸出信號是三態(tài)輸出信號 7ENTITYENTITY example2 example2 ISIS PORTPORT(d: IN STD_LOGIC_VECTOR (15 DOWNTO 0);(d: IN STD_LOGIC_VECTOR (15 DOWNTO 0); clk, reset, oeclk, reset, oe: IN STD_LOGIC;: IN STD_LOGIC; q1: O

6、UT STD_LOGIC_VECTOR (15 DOWNTO 0);q1: OUT STD_LOGIC_VECTOR (15 DOWNTO 0); q2: INOUT STD_LOGIC_VECTOR (15 DOWNTO 0);q2: INOUT STD_LOGIC_VECTOR (15 DOWNTO 0); intint: BUFFER STD_LOGIC;: BUFFER STD_LOGIC; opt: OUT STD_LOGIC);opt: OUT STD_LOGIC);ENDEND example2; example2; 8三、結構體描述三、結構體描述實體的硬件結構,元件之間的互連關

7、系,實實體的硬件結構,元件之間的互連關系,實體所完成的邏輯功能,數(shù)據(jù)的傳輸變換體所完成的邏輯功能,數(shù)據(jù)的傳輸變換關鍵詞:關鍵詞:ARCHITECTURE,BEGIN,END;元件說明:元件說明:COMPONENT互連式結構體描述(互連式結構體描述(STRUCSTRUC):):PORT MAPPORT MAP行為式結構體描述(行為式結構體描述(BEHAVBEHAV):賦值語句):賦值語句= =算法式結構體描述(算法式結構體描述(ALGALG):進程語句):進程語句PROCESSPROCESS9ARCHITECTURE rs_struc OF rsffARCHITECTURE rs_struc O

8、F rsff IS ISCOMPONENT nand2COMPONENT nand2-元件說明元件說明 PORT (a, b: IN BIT; c: OUT BIT);PORT (a, b: IN BIT; c: OUT BIT);END COMPONENT;END COMPONENT;BEGINBEGIN u1: nand2 PORT MAP (a=set, b=qbu1: nand2 PORT MAP (a=set, b=qb, c=q);, c=q); - -元件例化語句元件例化語句 u2: nand2 PORT MAP (a=reset, b=q, c=qbu2: nand2 PORT

9、 MAP (a=reset, b=q, c=qb););END rs_struc; 1 1、互連式結構體描述(、互連式結構體描述(STRUCSTRUC):):PORT MAPPORT MAP10ENTITY nand2 ISENTITY nand2 IS PORT (a, b: IN BIT; c: OUT BIT);PORT (a, b: IN BIT; c: OUT BIT);END nand2; END nand2; ARCHITECTURE nand2_arc OF nand2 ISARCHITECTURE nand2_arc OF nand2 ISBEGINBEGIN C=NOT (

10、a AND b);C=NOT (a AND b);END nand2_arc; END nand2_arc; 112 2、行為式結構體描述(、行為式結構體描述(BEHAVBEHAV):賦值語句):賦值語句= =ARCHITECTURE rs_behav OF rsffARCHITECTURE rs_behav OF rsff IS ISBEGINBEGIN q = NOT (qbq = NOT (qb AND set); AND set); qbqb = NOT (q AND reset); = NOT (q AND reset);END rs_behavEND rs_behav; ;123

11、3、算法式結構體描述(、算法式結構體描述(ALGALG):進程語句):進程語句PROCESSPROCESSARCHITECTURE rs_alg OF rsffARCHITECTURE rs_alg OF rsff IS ISBEGINBEGIN PROCESS (set, reset) -PROCESS (set, reset) -進程進程 VARIABLE last_state: BIT; -VARIABLE last_state: BIT; -給輸出給輸出q q定義一個狀態(tài)定義一個狀態(tài)變量變量 BEGINBEGIN ASSERT NOT (reset=0 AND set=0) ASSER

12、T NOT (reset=0 AND set=0) REPORT Input IS 00REPORT Input IS 00 SEVERITY error;SEVERITY error; IF set =1 AND reset =1 THENIF set =1 AND reset =1 THEN last_state:=last_state last_state:=last_state ELSIF set=0 AND reset=1 THENELSIF set=0 AND reset=1 THEN last_state:=1;last_state:=1; 13 ELSIF set=1 AND

13、reset=0 THEN ELSIF set=1 AND reset=0 THEN last_state:=0;last_state:=0; END IF;END IF; q=last_state; -q=last_state; -給輸出信號賦值給輸出信號賦值 qbqb=NOT (last_state);a,y=b,z=l0);-元件例化語句元件例化語句 u2:and2 PORT MAP(x=a,y=b,z=l1); u3:xor2 PORT MAP(x=l0,y=cin,z=sum); u4:and2 PORT MAP(x=l0,y=cin,z=l2); u5:or2 PORT MAP(x=

14、l1,y=l2,z=cout); END fadd_struc;18-全加器行為式結構體全加器行為式結構體ARCHITECTURE fadd_behav OF fulladder ISBEGIN sum = a XOR b XOR cin; cout sum =0; cout sum =1; cout sum =0; cout sum =1; cout=1; END CASE; END PROCESS;END fadd_alg;21CONFIGURATION conf1 OF fulladder IS FOR fadd_behav; -選用的結構體名選用的結構體名 END FOR;END co

15、nf1;22五、程序包五、程序包 多個實體公用的數(shù)據(jù)類型、常量、子程多個實體公用的數(shù)據(jù)類型、常量、子程序在程序包中定義與說明序在程序包中定義與說明 VHDL提供了提供了STANDARD程序包,在程序中程序包,在程序中直接使用,無需說明直接使用,無需說明 VHDL提供了提供了STD-LOGIN-1164STD-LOGIN-1164程序包,在程序包,在IEEEIEEE庫中編譯過,使用時要在實體說明前加庫中編譯過,使用時要在實體說明前加上調(diào)用語句:上調(diào)用語句:LIBRARY ieeeUSE ieee、std-logic-1164、all231 1、程序包、程序包 用戶自己定義程序包:程序包說明與程序

16、包體用戶自己定義程序包:程序包說明與程序包體 程序包說明(程序包說明( PACKGEPACKGE ):數(shù)據(jù)類型():數(shù)據(jù)類型(TYPETYPE)、)、常量(常量(CONSTANTCONSTANT)、元件()、元件(COMPONENTCOMPONENT)、子)、子程序(程序(PROCEDUREPROCEDURE,F(xiàn)UNCTIONFUNCTION,RETURNRETURN) 程序包體(程序包體(PACKGE BODYPACKGE BODY):具體的子程序、:具體的子程序、延時常量的具體值延時常量的具體值 FUNCTIONFUNCTION只返回一個只返回一個ININ變量,而變量,而PROCEDURE

17、PROCEDURE可可返回多個變量(返回多個變量(ININ,OUTOUT,INOUTINOUT) 用戶自己定義的程序包也要通過調(diào)用才能使用用戶自己定義的程序包也要通過調(diào)用才能使用(USEUSE)24-程序包說明程序包說明PACKAGE example IS TYPE alu_op IS (add,sub,mul,div,eq,gt,lt)-枚舉類型枚舉類型 CONSTANT pi:REAL:=3.14159265; -常量常量 delay1:TIME; -延時常量延時常量 COMPONENT nand2 -元件元件 PORT(a,b:IN BIT;c : OUT BIT); END COMPO

18、NENT; FUNCTION mean(a,b,c:REAL) RETURN REAL; -具體的函數(shù)具體的函數(shù)END example;25-程序包體程序包體PACKAGE BODY example IS CONSTANT delay1: TIME:=15ns; -定義延時常量定義延時常量的值的值 FUNCTION mean (a,b,c:REAL) RETURN REAL IS -具具體的函數(shù)體的函數(shù) BEGIN RETURN(a+b+c)/3.0; -求均值求均值 END mean; END example;262 2、設計庫、設計庫 用以存放已編譯過的設計單元用以存放已編譯過的設計單元

19、可供其它設計用戶使用可供其它設計用戶使用 調(diào)用語句:調(diào)用語句:LIBRARYLIBRARY WORKWORK275.3 VHDLVHDL數(shù)據(jù)類型和常用語句數(shù)據(jù)類型和常用語句1、對象和數(shù)據(jù)類型:對象和數(shù)據(jù)類型:1 1)對象:)對象:信號:信號:硬件連線的一種抽象,保持變化的硬件連線的一種抽象,保持變化的 數(shù)據(jù),元件之間數(shù)據(jù)傳輸?shù)耐?;?shù)據(jù),元件之間數(shù)據(jù)傳輸?shù)耐?;變量:變量:用于暫存局部?shù)據(jù),只用于進程和用于暫存局部數(shù)據(jù),只用于進程和子程序內(nèi)部定義使用;子程序內(nèi)部定義使用;常量:常量:保持某一特定不變的數(shù)據(jù);保持某一特定不變的數(shù)據(jù);282 2)數(shù)據(jù)類型數(shù)據(jù)類型 標量類型:整數(shù),實數(shù),枚舉,物理;

20、標量類型:整數(shù),實數(shù),枚舉,物理; 復合類型:數(shù)組,記錄復合類型:數(shù)組,記錄 子類型:已定義類型的一個子集子類型:已定義類型的一個子集 文件類型文件類型 尋址類型尋址類型 類型定義的格式:類型定義的格式:TYPE TYPE 類型類型 IS IS 類型范圍類型范圍29-物理類型物理類型 電流電流 currentTYPE current IS RANGE 0 TO 1000000000;UNITS na; -基本單位基本單位 ua=1000na; -次級單位,應為基本單位的整數(shù)倍次級單位,應為基本單位的整數(shù)倍 ma=1000ua; -次級單位次級單位 a=1000ma; -次級單位次級單位 END

21、 UNITS;-數(shù)組類型數(shù)組類型TYPE hex IS ARRAY (8 DOWNTO 1) OF BIT; -一維數(shù)組一維數(shù)組TYPE matrix IS ARRAY(1 TO 10,1 TO 20) OF REAL;-二維數(shù)組二維數(shù)組30-枚舉類型枚舉類型TYPE optype IS (add,sub,mul,div); -定義定義“+,-,*,/”四種操四種操作作-記錄類型記錄類型TYPE instruction IS -定義一個指令記錄定義一個指令記錄RECORD opcode:optype; -操作碼操作碼 sou:INTEGER; -源操作數(shù)源操作數(shù) dst:INTEGER; -目

22、的操作數(shù)目的操作數(shù)-子類型子類型SUBTYPE int4 IS INTEGER RANGE 0 TO 3; -整數(shù)子類型,整數(shù)子類型,取值取值0-3312 2、VHDLVHDL的常用語句的常用語句1)并行語句:用來描述模塊之間的連接關并行語句:用來描述模塊之間的連接關系,當某個信號發(fā)生變化時,受此信號系,當某個信號發(fā)生變化時,受此信號觸發(fā)的所有語句同時執(zhí)行。觸發(fā)的所有語句同時執(zhí)行。 信號賦值語句信號賦值語句:C1=NOT(a ANDb) ;C2=b AND c; 條件賦值語句條件賦值語句:WITH-SELECT-WHEN 元件例化語句:用于調(diào)用庫單元或低一元件例化語句:用于調(diào)用庫單元或低一級實

23、體。級實體。32條件賦值語句條件賦值語句:WITH-SELECT-WHENENTITY mux4 IS PORT(i0,i1,i2,i3: IN BIT; s: IN BIT_VECTOR (1 DOWNTO 0); z: OUT BIT);END mux4;ARCHITECTURE behavel OF mux4 ISBEGIN WITH s SELECT -根據(jù)輸入根據(jù)輸入s的不同對的不同對z賦值賦值 z=i0 WHEN 00, i1 WHEN 01, i2 WHEN 10, i3 WHEN 11;END behavel;33RCHITECTURE behav2 OF mux4 ISBEG

24、IN z z z z zyyyyyyyyy=*;-不定狀態(tài)不定狀態(tài) END CASE; ELSE y=11111111; END IF; END PROCESS;END sequent;39PROCESS(sel,a,b,c,d)BEGIN IF(sel=00) THEN step=a; ELSIF(sel=01) THEN step=b; ELSIF( sel=10) THEN step=c; ELSE step=d; END IF;END PROCESS;405、4 常用電路的常用電路的VHDLVHDL描述描述 寄存器(寄存器(RegisterRegister)的描述()的描述(1 1)P

25、ROCESS (clkPROCESS (clk,d),d)BEGINBEGIN IF (clkEVENT AND clk IF (clkEVENT AND clk=1) THEN =1) THEN q=d; q=d; END IF;END IF;END PROCESS;END PROCESS;41寄存器(寄存器(RegisterRegister)的描述()的描述(2 2)PROCESS(clk,d)BEGIN IF RISING_EDGE(clk) THEN q=d; END IF;END PROCESS;42三態(tài)輸出鎖存器(三態(tài)輸出鎖存器(LatchLatch)RNTITY RNTITY l

26、atch IS latch IS PORT(d:IN STD_LOGIC_VECTOR(7 DOWNTO 0); PORT(d:IN STD_LOGIC_VECTOR(7 DOWNTO 0); q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); clk,oe clk,oe:IN STD_LOGIC );:IN STD_LOGIC );END latch;END latch;ARCHITECTURE ARCHITECTURE arc1 OF latch IS arc1 OF latch IS SIGNAL

27、 SIGNAL qint qint:STD_LOGIC_VECTOR(7 DOWNTO 0);:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINBEGIN 43PROCESS (clkPROCESS (clk,d),d) BEGIN BEGIN IF (clkEVENT AND clk IF (clkEVENT AND clk=1) THEN=1) THEN qint qint=d;=d; END END IF; IF; END PROCESS; END PROCESS; q=qint WHEN (oe=0) -oe q=qint WHEN (oe=0) -oe為低電平,鎖

28、存輸為低電平,鎖存輸出出 ELSE ZZZZZZZZ; -oeELSE ZZZZZZZZ; -oe為高電平,輸出呈高阻態(tài)為高電平,輸出呈高阻態(tài)END arc1;END arc1;44計數(shù)器(計數(shù)器(CounterCounter)ENTITY counter1 IS PORT(clk:IN BIT; clr:IN BIT; en:IN BIT; up_down:IN BIT; q:OUT INTEGER RANGE 0 TO 255;END counter1;45ARCHITECTURE cnt_arc OF counter1 ISBEGIN PROCESS (clk) VARIABLE cnt

29、:INTEGER RANGE 0 TO 255; VARIABLE direction: INTEGER; BEGIN IF (up_down=1) THEN direction:=1; -加加1計數(shù)計數(shù) ELSE direction:=-1; -減減1計數(shù)計數(shù) END IF; IF (clkEVENT AND clk=1) THEN -判判clk上升沿上升沿 IF clr=0 THEN cnt:=0; -清零清零 ELSE IF en=0 THEN -使能使能 IF cnt=255 THEN cnt:=0; ELSE cnt:=cnt+direction; -計數(shù)計數(shù) END IF; END

30、 IF; END IF; END IF; q=cnt; -計數(shù)輸出計數(shù)輸出 END PROCESS;46狀態(tài)機(狀態(tài)機(State MachineState Machine)LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY air_cont IS PORT(clk:IN STD_LOGIC; temp_high:IN STD_LOGIC; temp_low:IN STD_LOGIC; heat:OUT STD_LOGIC; cool:OUT STD_LOGIC );END air_cont;4748ARCHITECTURE arc1 OF air-

31、cont IS -狀態(tài)類型,枚舉三種狀態(tài)狀態(tài)類型,枚舉三種狀態(tài) TYPE state_type IS (just_right,too_cold,too_hot); SIGNAL stvar:state_type;-狀態(tài)變量狀態(tài)變量BEGIN PROCESS BEGIN WAIT ON clk UNTIL RISING _EDGE(clk);-等待等待clk上升沿上升沿 -次態(tài)邏輯次態(tài)邏輯 IF (temp_low=1) THEN stvar=too_cold; ELSIF (temp_high=1) THEN stvar=too_hot; ELSE stvarheat=0;coolheat=1

32、;coolheat=0;cool=1; -太熱,制冷太熱,制冷 END CASE; END PROCESS; END arc1;49設計舉例:移相正弦信號發(fā)生器設計移相正弦信號發(fā)生器設計 直接數(shù)字合成直接數(shù)字合成DDS的數(shù)字信號發(fā)生器。的數(shù)字信號發(fā)生器。輸出參考信號和可移相正弦波信號。輸出參考信號和可移相正弦波信號。頻率與相位步進頻率與相位步進508位頻率控制位頻率控制字字8位相移控制字位相移控制字10位加法器位加法器32位加法器位加法器32位寄存器位寄存器10位寄存器位寄存器存放正弦波數(shù)據(jù)存放正弦波數(shù)據(jù)的的ROM51 “FWORD” 是是8位頻率控制字,控制輸出正弦信位頻率控制字,控制輸出正

33、弦信 號的頻率;號的頻率; “PWORD”是是8位相移控制字,控制輸出正弦信位相移控制字,控制輸出正弦信號的相移量;號的相移量; ADDER32B和和ADDER10B分別為分別為32位和位和10位加位加法器;法器; SIN_ROM是存放正弦波數(shù)據(jù)的是存放正弦波數(shù)據(jù)的ROM,10位數(shù)據(jù)位數(shù)據(jù)線 ,線 , 1 0 位 地 址 線 , 其 中 的 數(shù) 據(jù) 文 件 是位 地 址 線 , 其 中 的 數(shù) 據(jù) 文 件 是LUT10X10.mif,可由,可由MATLAB直接生成;直接生成; REG32B和和REG10B分別是分別是32位和位和10位寄存器;位寄存器; POUT和和FOUT分別為分別為10位輸

34、出,可以分別與兩位輸出,可以分別與兩個高速個高速D/A相接,他們分別輸出參考信號和可移相相接,他們分別輸出參考信號和可移相正弦波信號。正弦波信號。521. 利用利用MATLABMATLAB和和DSP BuilderDSP Builder完成此項設計,圖為此項完成此項設計,圖為此項設計的設計的MATLABMATLAB電路模型:電路模型:53數(shù)字移相信號發(fā)生器數(shù)字移相信號發(fā)生器VHDL參考程序如下參考程序如下【1】數(shù)字移相信號發(fā)生器頂層設計文件】數(shù)字移相信號發(fā)生器頂層設計文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UN

35、SIGNED.ALL;ENTITY DDS_VHDL IS - 頂層設計頂層設計 PORT ( CLK : IN STD_LOGIC; -系統(tǒng)時鐘系統(tǒng)時鐘 FWORD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); -頻率控制字頻率控制字 PWORD : IN STD_LOGIC_VECTOR(7 DOWNTO 0); -相位控制字相位控制字 FOUT : OUT STD_LOGIC_VECTOR(9 DOWNTO 0); -可移相正弦信號輸出可移相正弦信號輸出 POUT : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) ); -參考信號輸出參考信號輸

36、出 END;ARCHITECTURE one OF DDS_VHDL IS COMPONENT REG32B -32位鎖存器位鎖存器 PORT ( LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END COMPONENT;54 COMPONENT REG10B -10位鎖存器位鎖存器 PORT ( LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(9 DOWNTO 0); DOUT : O

37、UT STD_LOGIC_VECTOR(9 DOWNTO 0) ); END COMPONENT; COMPONENT ADDER32B -32位加法器位加法器 PORT ( A : IN STD_LOGIC_VECTOR(31 DOWNTO 0); B : IN STD_LOGIC_VECTOR(31 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END COMPONENT; COMPONENT ADDER10B -10位加法器位加法器 PORT ( A : IN STD_LOGIC_VECTOR(9 DOWNTO 0); B : I

38、N STD_LOGIC_VECTOR(9 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) ); END COMPONENT; COMPONENT SIN_ROM -10位地址位地址10位數(shù)據(jù)正弦信號數(shù)據(jù)位數(shù)據(jù)正弦信號數(shù)據(jù)ROM PORT( address: IN STD_LOGIC_VECTOR(9 DOWNTO 0); inclock : IN STD_LOGIC ; q: OUT STD_LOGIC_VECTOR(9 DOWNTO 0); END COMPONENT; 55 SIGNAL F32B : STD_LOGIC_VECTOR(31

39、DOWNTO 0); SIGNAL D32B : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL DIN32B : STD_LOGIC_VECTOR(31 DOWNTO 0); SIGNAL P10B : STD_LOGIC_VECTOR( 9 DOWNTO 0); SIGNAL LIN10B : STD_LOGIC_VECTOR( 9 DOWNTO 0); SIGNAL SIN10B : STD_LOGIC_VECTOR( 9 DOWNTO 0); BEGIN F32B(27 DOWNTO 20)=FWORD ; F32B(31 DOWNTO 28)=0000;

40、F32B(19 DOWNTO 0)=00000000000000000000 ; P10B( 9 DOWNTO 2)=PWORD ; P10B( 1 DOWNTO 0)F32B,B=D32B, S=DIN32B ); u2:REG32B PORT MAP( DOUT=D32B,DIN= DIN32B, LOAD=CLK ); u3:SIN_ROM PORT MAP(address=SIN10B,q=FOUT,inclock=CLK ); u4:ADDER10B PORT MAP(A=P10B,B=D32B(31 DOWNTO 22),S=LIN10B ); u5:REG10B PORT MAP

41、( DOUT=SIN10B,DIN=LIN10B, LOAD=CLK ); u6:SIN_ROM PORT MAP( address=D32B(31 DOWNTO 22), q=POUT, inclock=CLK );END; 56【2】32位加法器,位加法器,10位加法器略去位加法器略去LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER32B IS PORT ( A : IN STD_LOGIC_VECTOR(31 DOWNTO 0); B : IN STD_LOGIC_V

42、ECTOR(31 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) );END ADDER32B;ARCHITECTURE behav OF ADDER32B IS BEGINS = A + B;END behav; 57【3】 正弦信號數(shù)據(jù)正弦信號數(shù)據(jù)ROMLIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;USE altera_mf.altera_mf_components.all;ENTITY sin_rom ISPORT(address: IN STD_LOGIC_VECTOR (9 DOWNTO 0);inclock: IN STD_LOGIC ;q: OUT STD_LOGIC_VECTOR (9 DOWNTO 0);END sin_rom;ARCHITECTURE SYN

溫馨提示

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

評論

0/150

提交評論