【正文】
WHEN OTHERS=NULL。 遞減波形輸出WHEN010=q=d2。 q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0))。其選擇VHDL程序如下:LIBRARY IEEE。 END PROCESS。 a=1, 輸出一個(gè)波形周期內(nèi)的高電平 ELSEq=0。139。 END IF。 當(dāng)計(jì)數(shù)的值大于64時(shí),清零。EVENT AND clk=39。039。 END square。模塊程序如下:LIBRARY IEEE。END SYN。 計(jì)數(shù) end if。 計(jì)數(shù)器異步復(fù)位 elsif clk 39。039。 q: out std_logic_vector(5 downto 0))。use 。BEGIN q = sub_wire0(7 DOWNTO 0)。 PORT ( clock0 : IN STD_LOGIC 。 outdata_reg_a : STRING。 lpm_type : STRING。 COMPONENT altsyncram 例化altsyncram元件,調(diào)用了LPM模塊altsyncram GENERIC ( 參數(shù)傳遞語句 address_aclr_a : STRING。 inclock : IN STD_LOGIC 。USE 。地址發(fā)生器的時(shí)鐘CLK的輸入頻率F0與每周期的波形數(shù)據(jù)點(diǎn)數(shù)以及D/A輸出頻率F的關(guān)系是:F=F0/64。 END behave。 循環(huán)計(jì)數(shù) END IF。139。 計(jì)數(shù)到最大清零a:=39。 THEN 檢測(cè)時(shí)鐘上升沿 IF a=39。 THEN tmp:=00000000。ARCHITECTURE behave OF ladder ISBEGINPROCESS(clk,reset)VARIABLE tmp: STD_LOGIC_VECTOR(7 DOWNTO 0)。 USE 。階梯波模塊階梯波ladder的VHDL程序如附錄所示,其中clk是輸入時(shí)鐘端口,reset為輸入復(fù)位端口,q為八位二進(jìn)制輸出端口。 END IF。039。 ELSE 不是最大值時(shí)遞增tmp:=tmp+1。039。 復(fù)位信號(hào)為0,置最小值 ELSIF clk39。 VARIABLE a:STD_LOGIC。 ENTITY delta IS PORT(clk,reset:IN STD_LOGIC。從仿真波形圖也能看出這種變化規(guī)律。三角波模塊三角波波delat的VHDL程序如附錄所示,其中clk是輸入時(shí)鐘端口,reset為輸入復(fù)位端口,q為八位二進(jìn)制輸出端口。 END IF。139。039。 q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0))。模塊程序如下:LIBRARY IEEE。圖2 遞減斜波模塊仿真圖程序設(shè)計(jì)的是復(fù)位信號(hào)為0時(shí)輸出為0,無對(duì)應(yīng)的波形產(chǎn)生。 q=tmp。 THEN IF tmp=11111111 THEN tmp:=00000000。 THEN tmp:= 00000000。 END icrs。 USE 。當(dāng)復(fù)位信號(hào)為1時(shí),每當(dāng)檢測(cè)到時(shí)鐘上升沿時(shí),計(jì)數(shù)器值加1,當(dāng)增加到最大后清零。五、各模塊程序設(shè)計(jì)及仿真根據(jù)自上而下的思路進(jìn)行項(xiàng)目設(shè)計(jì)。在實(shí)驗(yàn)課時(shí)候已經(jīng)完成8選1數(shù)據(jù)選擇器的設(shè)計(jì)制作,因此本次設(shè)計(jì)可以直接調(diào)用。此種方案完全可以生成設(shè)計(jì)要求的6種波形,而且通過軟件仿真可以直觀的觀測(cè)的輸出的波形參數(shù),方便調(diào)試和更改波形參數(shù),外圍電路簡(jiǎn)單,減少器件損耗,精度高。通過以上分析設(shè)計(jì)要求完成的功能,確定函數(shù)發(fā)生器可由遞增斜波產(chǎn)生模塊、遞減斜波產(chǎn)生模塊、三角波產(chǎn)生模塊、階梯波產(chǎn)生模塊、正弦波產(chǎn)生模塊、方波產(chǎn)生模塊和輸出波形選擇模塊組成,以及按鍵復(fù)位控制和時(shí)鐘輸入。信號(hào)發(fā)生器在我們的日常中有很重要的應(yīng)用,用VHDL語言去實(shí)現(xiàn)設(shè)計(jì)將會(huì)使我們對(duì)本學(xué)科知識(shí)可以更好地掌握。作為一個(gè)學(xué)通信工程專業(yè)的學(xué)生,我們必須不斷地去了解更多的新產(chǎn)品信息,這就更加要求我們對(duì)EDA有個(gè)全面的認(rèn)識(shí)。FPGA是整個(gè)系統(tǒng)的核心,構(gòu)成系統(tǒng)控制器,波形數(shù)據(jù)生成器,加法器,運(yùn)算/譯碼等功能。用VHDL語言編寫程序,調(diào)試成功后下載至實(shí)驗(yàn)裝