項目簡述
本次項目我們主要是為了講解DDS,所以我們使用了混頻這個小項目來講解。DDS自己手寫是比較簡單且靈活,但是Xilinx給我們提供了相應(yīng)的IP核,那么這次我們將直接講解使用IP來產(chǎn)生不同頻率的正弦波。這篇博客我們也首次引入了Xilinx中block design的設(shè)計方法,由于AXI4總線的出現(xiàn),我們使用block design的設(shè)計概念特別簡單。本次的項目主要是:利用兩個DDS產(chǎn)生兩個不同頻率的正弦波,然后進行***相乘***混頻,利用Modelsim進行仿真驗證我們實驗的正確性。本次實驗所用到的軟硬件環(huán)境為:
1、VIVADO 2019.1軟件環(huán)境
2、Modelsim仿真環(huán)境
DDS IP的定制及講解
1、我們選擇波形與相位同時存在的情況。
2、選擇DDS IP輸入的系統(tǒng)時鐘頻率,這里我們選擇100MHz。
3、DDS通道的數(shù)目,我們這里選擇一個。
4、整個IP配置的模式,我們這里選擇標(biāo)準(zhǔn)模式即可。
5、參數(shù)選擇的模式,我們這里選擇系統(tǒng)參數(shù),這個選擇主要影響IP的定制界面所涉及到的參數(shù)。
6、頻率的動態(tài)范圍,主要和DDS內(nèi)部RAM的數(shù)據(jù)位寬有關(guān),計算方法是20log2n,其中n為RAM的位寬。
7、選擇DDS的最小的頻率分辨率。
1、相位增量我們選擇固定
2、相位偏執(zhí)我們也選擇成固定,這兩個參數(shù)可以動態(tài)控制輸出的頻率。
3、我們這里產(chǎn)生正弦波
4、因為我們只考慮正弦波的頻率,座椅這里不再輸出相位信息
1、輸入我們需要DDS輸出的頻率,這里我們輸入5MHz。
其余選項,我們選擇默認(rèn)即可。這樣,我們便定制了一個完整的DDS IP核,接下來的博客我們會自己手寫相應(yīng)的DDS的功能,感興趣的同學(xué)可以保持關(guān)注。
Block Design涉及
我們這邊博客首次引入了block design的設(shè)計方法,但是這個設(shè)計方法特別重要,希望同學(xué)們可以好好學(xué)習(xí)。進行block design的連線圖如下:
然后驗證設(shè)計的有效性,產(chǎn)生輸出工程,生成相應(yīng)的top文件,供我們接下來的設(shè)計使用。
測試文件代碼
這里我們?yōu)榱蓑炞C我們實驗的正確性,給出相應(yīng)的測試模塊。
`timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2020/04/03 22:39:17 // Design Name: // Module Name: tb // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // // module tb; wire [15:0] P ; reg aclk ; initial begin aclk = 1‘b0; end always #5 aclk = ~aclk; system_wrapper system_wrapper_inst( .P (P ), .aclk (aclk ) ); endmodule
仿真結(jié)果
我們進行Modelsim仿真測試的結(jié)果如下:
從上面的仿真波形可以驗證我們實驗的準(zhǔn)確性。
編輯:lyn
-
Xilinx
+關(guān)注
關(guān)注
71文章
2155瀏覽量
120853 -
IP
+關(guān)注
關(guān)注
5文章
1610瀏覽量
149247 -
DDS
+關(guān)注
關(guān)注
21文章
629瀏覽量
152483
發(fā)布評論請先 登錄
相關(guān)推薦
評論