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

VIVADO軟件DDS信號發(fā)生器Verilog語言的任意波形發(fā)生器

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

1-23111023012S03.doc

共1個文件

名稱:VIVADO軟件DDS信號發(fā)生器Verilog語言的任意波形發(fā)生器(代碼在文末下載)

軟件:VIVADO

語言:Verilog

代碼功能:

1.可產(chǎn)生正弦波,鋸齒波三角波,方波4種波形。

2.輸出波形的頻率可調(diào)、相位可調(diào)、幅值可調(diào)。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

演示視頻:

設(shè)計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. Testbench

6. 仿真圖

1. 任意正弦波輸出

2. 10K、1MHz、10K~1MHz波形

3. 對應(yīng)頻率控制字和相位控制

4. 不同初相正弦波

5. 不同振幅、均值正弦波

6. 方波、鋸齒波、三角波等

部分代碼展示:

`timescale?1ns?/?1ps
module?DDS_top(
????input?clk_in,//時鐘
????input?[1:0]?wave_select,//01輸出sin,10輸出方波,11輸出三角波,00鋸齒
????input?[9:0]?frequency,//頻率控制字,控制輸出波形頻率,值越大,頻率越大
????input?[15:0]?phase,//相位控制字
????input?[7:0]?amplitude,//幅值控制字
????output?[15:0]?wave_out//輸出波形
????);
wire?[15:0]?addra;
wire?[7:0]?douta_fangbo;
wire?[7:0]?douta_sanjiao;
wire?[7:0]?douta_sin;
wire?[7:0]?douta_juchi;
//方波ROM
fangbo_ROM?i_fangbo_ROM?(
??????.clka(clk_in),????//?input?wire?clka
??????.addra(addra),??//?input?wire?[15?:?0]?addra
??????.douta(douta_fangbo)??//?output?wire?[7?:?0]?douta
????);
//三角波ROM
sanjiao_ROM?i_sanjiao_ROM?(
??.clka(clk_in),????//?input?wire?clka
??.addra(addra),??//?input?wire?[15?:?0]?addra
??.douta(douta_sanjiao)??//?output?wire?[7?:?0]?douta
);
//sin波ROM
sin_ROM?i_sin_ROM?(
??.clka(clk_in),????//?input?wire?clka
??.addra(addra),??//?input?wire?[15?:?0]?addra
??.douta(douta_sin)??//?output?wire?[7?:?0]?douta
);
//鋸齒
juchi_ROM?i_juchi_ROM?(
??.clka(clk_in),????//?input?wire?clka
??.addra(addra),??//?input?wire?[15?:?0]?addra
??.douta(douta_juchi)??//?output?wire?[7?:?0]?douta
);
//相位累加器
Frequency_ctrl?i_Frequency_ctrl(
.?clk_in(clk_in),
.?frequency(frequency),//頻率控制字
.?phase(phase),//相位控制字
.?addra(addra)//輸出地址
????);
wire?[7:0]?wave;
//波形選擇控制
wave_sel?i_wave_sel(
.?clk_in(clk_in),
.?wave_select(wave_select),//01輸出sin,10輸出方波,11輸出三角波
.?douta_fangbo(douta_fangbo),//方波
.?douta_sanjiao(douta_sanjiao),//三角
.?douta_juchi(douta_juchi),//鋸齒
.?douta_sin(douta_sin),????//正弦???
.?wave(wave)//輸出波形????
????);
assign?wave_out=wave*amplitude;//輸出波形
endmodule

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=277

  • 1-23111023012S03.doc
    下載

相關(guān)推薦