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

基于DDS和PLL組合的波形發(fā)生器Verilog代碼Quartus DE1-SoC板子

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

2-2401041111032D.doc

共1個文件

名稱:基于DDS和PLL組合的波形發(fā)生器Verilog代碼Quartus? DE1-SoC板子

軟件:Quartus

語言:Verilog

代碼功能:基于DDS和PLL組合的波形發(fā)生器:利用DDS和PLL(鎖相環(huán),調(diào)IP核)實現(xiàn)輸出頻率在一定范圍內(nèi)連續(xù)可調(diào)的信號發(fā)生器

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

本代碼已在DE1-SoC板子驗證,DE1-SoC板子如下,其他開發(fā)板可以修改管腳適配:

DE1-SoC板子.jpg

演示視頻:

設(shè)計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. 管腳分配

6. Testbench

7. 仿真圖

整體仿真圖

PLL模塊

頻率控制模塊

正弦波ROM

相位累加器模塊

部分代碼展示:

module?DDS(
input?clk,//時鐘50M
input?rst_n,//復(fù)位
input?key0,//頻率增加
input?key1,//頻率減小
output?dac_clk,//DA時鐘
output?[7:0]?sin_wave//輸出波形
);
wire?clk_10M;
wire?[9:0]??address;
wire?[9:0]?q;//輸出波形
assign?dac_clk=clk_10M;
wire?[9:0]?freq_data;//頻率控制字10bit
//PLL_ip?50M->10M
pll_ippll_ip_inst?(
.inclk0?(?clk?),//輸入50M
.c0?(?clk_10M?)//輸出10M
);
//頻率控制模塊
Freq_ctrl?i_Freq_ctrl(
.?clk(clk_10M),
.?rst_n(rst_n),//復(fù)位
.?key0(key0),//頻率增加
.?key1(key1),//頻率減小
.?freq_data(freq_data)//頻率控制字9bit
);
//sin存儲Rom表
sin_ROM?i_sin_ROM?(
.address(address),//查找表地址
.clock(clk_10M),//時鐘
.q(q)//輸出波形
);
//相位累加器
Freq_sum?i_Freq_sum(
.?clk(clk_10M),
.?rst_n(rst_n),
.?freq_data(freq_data),//頻率控制字32bit
.?freq_out(address)//累加器輸出
);
assign?sin_wave=q[9:2];//輸出最終波形
endmodule

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

  • 2-2401041111032D.doc
    下載

相關(guān)推薦