項(xiàng)目簡(jiǎn)述
本次項(xiàng)目我們主要是為了講解DDS,所以我們使用了混頻這個(gè)小項(xiàng)目來講解。DDS自己手寫是比較簡(jiǎn)單且靈活,但是Xilinx給我們提供了相應(yīng)的IP核,那么這次我們將直接講解使用IP來產(chǎn)生不同頻率的正弦波。這篇博客我們也首次引入了Xilinx中block design的設(shè)計(jì)方法,由于AXI4總線的出現(xiàn),我們使用block design的設(shè)計(jì)概念特別簡(jiǎn)單。本次的項(xiàng)目主要是:利用兩個(gè)DDS產(chǎn)生兩個(gè)不同頻率的正弦波,然后進(jìn)行***相乘***混頻,利用Modelsim進(jìn)行仿真驗(yàn)證我們實(shí)驗(yàn)的正確性。本次實(shí)驗(yàn)所用到的軟硬件環(huán)境為:
1、VIVADO 2019.1軟件環(huán)境
2、Modelsim仿真環(huán)境
DDS IP的定制及講解
1、我們選擇波形與相位同時(shí)存在的情況。
2、選擇DDS IP輸入的系統(tǒng)時(shí)鐘頻率,這里我們選擇100MHz。
3、DDS通道的數(shù)目,我們這里選擇一個(gè)。
4、整個(gè)IP配置的模式,我們這里選擇標(biāo)準(zhǔn)模式即可。
5、參數(shù)選擇的模式,我們這里選擇系統(tǒng)參數(shù),這個(gè)選擇主要影響IP的定制界面所涉及到的參數(shù)。
6、頻率的動(dòng)態(tài)范圍,主要和DDS內(nèi)部RAM的數(shù)據(jù)位寬有關(guān),計(jì)算方法是20log2n,其中n為RAM的位寬。
7、選擇DDS的最小的頻率分辨率。
1、相位增量我們選擇固定
2、相位偏執(zhí)我們也選擇成固定,這兩個(gè)參數(shù)可以動(dòng)態(tài)控制輸出的頻率。
3、我們這里產(chǎn)生正弦波
4、因?yàn)槲覀冎豢紤]正弦波的頻率,座椅這里不再輸出相位信息
1、輸入我們需要DDS輸出的頻率,這里我們輸入5MHz。
其余選項(xiàng),我們選擇默認(rèn)即可。這樣,我們便定制了一個(gè)完整的DDS IP核,接下來的博客我們會(huì)自己手寫相應(yīng)的DDS的功能,感興趣的同學(xué)可以保持關(guān)注。
Block Design涉及
我們這邊博客首次引入了block design的設(shè)計(jì)方法,但是這個(gè)設(shè)計(jì)方法特別重要,希望同學(xué)們可以好好學(xué)習(xí)。進(jìn)行block design的連線圖如下:
然后驗(yàn)證設(shè)計(jì)的有效性,產(chǎn)生輸出工程,生成相應(yīng)的top文件,供我們接下來的設(shè)計(jì)使用。
測(cè)試文件代碼
這里我們?yōu)榱蓑?yàn)證我們實(shí)驗(yàn)的正確性,給出相應(yīng)的測(cè)試模塊。
`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é)果
我們進(jìn)行Modelsim仿真測(cè)試的結(jié)果如下:
從上面的仿真波形可以驗(yàn)證我們實(shí)驗(yàn)的準(zhǔn)確性。
編輯:lyn
-
Xilinx
+關(guān)注
關(guān)注
71文章
2171瀏覽量
122205 -
IP
+關(guān)注
關(guān)注
5文章
1721瀏覽量
150008 -
DDS
+關(guān)注
關(guān)注
21文章
636瀏覽量
152961
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
如何理解芯片設(shè)計(jì)中的IP
DDS通信中間件——DCPS規(guī)范(下)
![<b class='flag-5'>DDS</b>通信中間件——DCPS規(guī)范(下)](https://file.elecfans.com/web2/M00/52/D4/pYYBAGLNkrKAeFJaAAAjXRuImx0496.png)
Vivado中DDRX控制器(mig)ip核配置中關(guān)于命令序號(hào)選擇和地址映射說明
![Vivado<b class='flag-5'>中</b>DDRX控制器(mig)<b class='flag-5'>ip</b>核配置<b class='flag-5'>中</b><b class='flag-5'>關(guān)于</b>命令序號(hào)選擇和地址映射說明](https://file1.elecfans.com/web3/M00/00/13/wKgZPGdGdsqANeiHAAAabIIjepo671.png)
Xilinx DDS IP核的使用和參數(shù)配置
![<b class='flag-5'>Xilinx</b> <b class='flag-5'>DDS</b> <b class='flag-5'>IP</b>核的使用和參數(shù)配置](https://file1.elecfans.com/web1/M00/F3/B4/wKgZoWcbXXCATrZhAAAai_rONMA247.png)
如何申請(qǐng)xilinx IP核的license
![如何申請(qǐng)<b class='flag-5'>xilinx</b> <b class='flag-5'>IP</b>核的license](https://file1.elecfans.com/web2/M00/0A/36/wKgZomcbW8KAAwLHAAALYsx2gPs295.jpg)
DDS通信中間件——DCPS規(guī)范(上)
![<b class='flag-5'>DDS</b>通信中間件——DCPS規(guī)范(上)](https://file.elecfans.com/web2/M00/52/D4/pYYBAGLNkrKAeFJaAAAjXRuImx0496.png)
![](https://file1.elecfans.com/web2/M00/06/E2/wKgaombg2-aAQrFdAAJvPJ56fs0759.jpg)
關(guān)于IP地址的那些事兒
TCP IP協(xié)議屬性設(shè)置中的IP配置
如何在ModelSim中添加Xilinx仿真庫
![](https://file1.elecfans.com/web2/M00/EA/56/wKgZomZX5nOARv2BAADmGAAN95c730.jpg)
時(shí)間同步對(duì)DDS實(shí)時(shí)性能的影響#DDS #TSN #時(shí)間敏感網(wǎng)絡(luò)
![](https://file1.elecfans.com/web2/M00/E7/44/wKgZomZLI0aASA1LAAEi4broCFk538.png)
FPGA開發(fā)如何降低成本,比如利用免費(fèi)的IP內(nèi)核
關(guān)于MOS管電路工作原理的講解
![<b class='flag-5'>關(guān)于</b>MOS管電路工作原理的<b class='flag-5'>講解</b>](https://file1.elecfans.com/web2/M00/D5/7C/wKgaomYl51yAUPtbAAAW0vC6Erk606.jpg)
DDS協(xié)議測(cè)試實(shí)踐及問題分析
![<b class='flag-5'>DDS</b>協(xié)議測(cè)試實(shí)踐及問題分析](https://file.elecfans.com/web2/M00/52/D4/pYYBAGLNkrKAeFJaAAAjXRuImx0496.png)
評(píng)論