【正文】
=87。 13 when 42=d=64。 when 40=d=43。 when 38=d=26。 when 36=d=13。 when 34=d=4。 when 32=d=0。 when 30=d=1。 when 28=d=8。 when 26=d=19。 when 24=d=34。 when 22=d=53。 when 20=d=75。 when 18=d=99。 when 16=d=124。 when 14=d=150。 when 12=d=174。 when 10=d=197。 when 08=d=217。 when 06=d=233。 when 04=d=245。 when 02=d=252。 case tmp is when 00=d=255。 else tmp:=tmp+1。139。 elsif clk39。039。 architecture sin_arc of sin is begin process(clk,clr) variable tmp:integer range 0 to 63。 d:out integer range 0 to 255)。 use 。其 VHDL代碼如下: library ieee。 end delta_arc。 q=tmp。 end if。139。039。 else if tmp=00000001 then tmp:=00000000。139。139。 then if tmp=11111110 then tmp:=11111111。 then if a=39。event and clk=39。 then tmp:=00000000。 begin if reset=39。 architecture delta_arc of delta is begin 11 process(clk,reset) variable tmp:std_logic_vector(7 downto 0)。 q:out std_logic_vector(7 downto 0))。 use 。其 VHDL代碼如下: library ieee。 end one。 end if。 else q=0。139。139。 process(clk,a) begin if clk39。 end if。 a=not a。 then if t31 then t:=t+1。event and clk=39。039。039。 begin process(clk,clr) variable t:integer range 0 to 31。 architecture one of square is signal a:bit:=39。 q:out integer range 0 to 255)。 use 。 頻率為 1MHz 的分頻波形圖: 9 其生成元器件如圖 2所示: 圖 2 數(shù)控分頻器器件生成圖 產生方波,是通過交替送出全 0和全 1實現(xiàn),每 32 個時鐘翻轉一次。 end process p_div。 end if。 else d_out=39。139。139。 then t2:=not t2。event and full=39。 p_div:process(full) variable t2:std_logic。 end if。039。 else t8:=t8+1。 full=39。139。 begin if clk39。 architecture behav of fenpin is signal full:std_logic。 d_out:out std_logic)。 entity fenpin is port(d_mode:in std_logic_vector(3 downto 0)。 use 。 ( 3) 數(shù)據(jù)選擇器模塊 在波形開關的控制下,選擇相應的波形輸出。 方波可以通過交替輸出全 0和全 1,并給以 32個周期的延時來實現(xiàn)。 DA轉換采用的 DA0832,輸入有 8 個數(shù)據(jù)端,范圍是 0 到 255;而 且設置 64 個時鐘周期為一個三角波周期, 所有每次加、減為 1。則輸出頻率 Nff clkout .64? ( 2) 數(shù)據(jù)存儲模塊 (存 儲波形數(shù)據(jù)) 數(shù)據(jù)存儲模塊主要存的是正弦波 、 三角波、鋸齒波 等一個周期的 采樣點 。 ( 1) 數(shù)控分頻器 模塊 在時鐘的作用下,通過預置分頻數(shù) DIN,來改變輸出頻率。通過按鍵 1 到按鍵 8 控制頻率調節(jié) f〔 7...0〕 ,用按鍵 按鍵 按鍵 8 控制 dlt、 sin、 sqr波形選通 ,最后把八位輸出接 DAC0832通過 D/A轉換 ,從示波器上就能看到波形輸出。 當輸入端有時鐘信號輸入時,各個信號發(fā)生器模塊獨立運行,獨立存在,發(fā)出各種 信號,這些信號作為數(shù)據(jù)選擇器的輸入信號,在數(shù)據(jù)選擇器的作用下,波形切換到相應的模塊輸出,再通過數(shù)模轉換器( D/A),將通過示波器顯示出相應的波形圖,其程序流程圖如下圖所示: 用 VHDL語言結合原理圖設計實現(xiàn)一