• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

DDS信號發(fā)生器Verilog任意波形發(fā)生器

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

1-230925221I5927.doc

共1個文件

名稱:DDS信號發(fā)生器Verilog波形發(fā)生器(代碼在文末付費(fèi)下載)

軟件:Quartus

語言:Verilog

要求:

1.可產(chǎn)生正弦波,鋸齒波三角波,方波4種波形,頻率可調(diào)。

2.具有波形選擇、起動、停止功能。

演示視頻:

部分代碼展示

`timescale?1ns?/?1ps
//輸出頻率f=clk_50M*frequency/2^10
module?DDS_top(
????input?clk_50M,//時鐘輸入
?input?wave_en,//波形起的停止開關(guān)
????input?[1:0]?wave_select,//波形選擇開關(guān):00輸出鋸齒波,01輸出sin,10輸出方波,11輸出三角波
????input?[7:0]?frequency,//頻率控制字,控制輸出波形頻率
????output?[7:0]?wave//輸出波形
????);
?
wire?[9:0]?addra;
wire?[7:0]?douta_fangbo;
wire?[7:0]?douta_sanjiao;
wire?[7:0]?douta_sin;
wire?[7:0]?douta_juchi;
//鋸齒ROM
juchi_ROM?i_juchi_ROM?(
??????.clock(clk_50M),????//?input?wire?clka
??????.address(addra),??//?input?wire?[9?:?0]?addra
??????.q(douta_juchi)??//?output?wire?[7?:?0]?douta
????);
//方波ROM
fangbo_ROM?i_fangbo_ROM?(
??????.clock(clk_50M),????//?input?wire?clka
??????.address(addra),??//?input?wire?[9?:?0]?addra
??????.q(douta_fangbo)??//?output?wire?[7?:?0]?douta
????);
?
//三角波ROM
sanjiao_ROM?i_sanjiao_ROM?(
??.clock(clk_50M),????//?input?wire?clka
??.address(addra),??//?input?wire?[9?:?0]?addra
??.q(douta_sanjiao)??//?output?wire?[7?:?0]?douta
);
//sin波ROM
sin_ROM?i_sin_ROM?(
??.clock(clk_50M),????//?input?wire?clka
??.address(addra),??//?input?wire?[9?:?0]?addra
??.q(douta_sin)??//?output?wire?[7?:?0]?douta
);
//相位累加器
Frequency_ctrl?i_Frequency_ctrl(
.?clk_50M(clk_50M),
.?frequency(frequency),//頻率控制字
.?addra(addra)//輸出地址
????);
//波形選擇控制
wave_sel?i_wave_sel(
.?clk_50M(clk_50M),
.?wave_en(wave_en),
.?wave_select(wave_select),//00輸出鋸齒波,01輸出sin,10輸出方波,11輸出三角波
.?douta_fangbo(douta_fangbo),//方波
.?douta_sanjiao(douta_sanjiao),//三角
.?douta_sin(douta_sin),????//正弦???
.?douta_juchi(douta_juchi),
.?wave(wave)//輸出波形????
????);
endmodule

設(shè)計文檔(文檔點(diǎn)擊可下載):

1.?工程文件

2.?程序文件

3.?程序編譯


4. RTL?圖

5. Testbench

6.?仿真圖

整體仿真圖

相位累加器模塊

鋸齒波?ROM


方波?ROM

三角波?ROM

sin?波?ROM

波形選擇模塊

  • 1-230925221I5927.doc
    下載

相關(guān)推薦