关于Xilinx中DDS IP的运用与讲解

项目简述
本次项目我们主要是为了讲解dds,所以我们使用了混频这个小项目来讲解。dds自己手写是比较简单且灵活,但是xilinx给我们提供了相应的ip核,那么这次我们将直接讲解使用ip来产生不同频率的正弦波。这篇博客我们也首次引入了xilinx中block design的设计方法,由于axi4总线的出现,我们使用block design的设计概念特别简单。本次的项目主要是:利用两个dds产生两个不同频率的正弦波,然后进行***相乘***混频,利用modelsim进行仿真验证我们实验的正确性。本次实验所用到的软硬件环境为:
1、vivado 2019.1软件环境
2、modelsim仿真环境
dds ip的定制及讲解
1、我们选择波形与相位同时存在的情况。
2、选择dds ip输入的系统时钟频率,这里我们选择100mhz。
3、dds通道的数目,我们这里选择一个。
4、整个ip配置的模式,我们这里选择标准模式即可。
5、参数选择的模式,我们这里选择系统参数,这个选择主要影响ip的定制界面所涉及到的参数。
6、频率的动态范围,主要和dds内部ram的数据位宽有关,计算方法是20log2n,其中n为ram的位宽。
7、选择dds的最小的频率分辨率。
1、相位增量我们选择固定
2、相位偏执我们也选择成固定,这两个参数可以动态控制输出的频率。
3、我们这里产生正弦波
4、因为我们只考虑正弦波的频率,座椅这里不再输出相位信息
1、输入我们需要dds输出的频率,这里我们输入5mhz。
其余选项,我们选择默认即可。这样,我们便定制了一个完整的dds ip核,接下来的博客我们会自己手写相应的dds的功能,感兴趣的同学可以保持关注。
block design涉及
我们这边博客首次引入了block design的设计方法,但是这个设计方法特别重要,希望同学们可以好好学习。进行block design的连线图如下:
然后验证设计的有效性,产生输出工程,生成相应的top文件,供我们接下来的设计使用。
测试文件代码
这里我们为了验证我们实验的正确性,给出相应的测试模块。
`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
仿真结果
我们进行modelsim仿真测试的结果如下:
从上面的仿真波形可以验证我们实验的准确性。


投资建设鸿利光电LED新型背光显示项目
10余款开源静态站点生成器
R型控制变压器的作用是什么?
基于SA1110的掌上电脑显示器的设计与实现
REECHO余音BR-1蓝牙耳机评测 相比同价位的耳机都有大幅度提升
关于Xilinx中DDS IP的运用与讲解
台积电拿下苹果A12订单 海康大华遭遇美政府采购禁令
三星评估在印度制造电信设备
真菌毒素分析测试仪的功能特点都有哪些
安森美半导体的高能效方案如何用最尖端的持续感知器技术实现无电池应用
!!销售/收购!TDS3012B 示波器 TDS3012 谭
汽车座椅新技术:ASPS防潜滑保护系统
基于Kinetis MK60N512和MAX5556的立体声音频接口设计
亿道数码Bay Trail-T Win8.1平板再创佳绩 成功举办答谢会
R&S推出测量高达90GHz的功率传感器NRP90S(N)
投影机灯泡的维护保养常识
LT1308A 5V 至 12V 升压型转换器
三相PFC整流器在输入电压不对称时的改进
一种新的水和锌基电池可以与锂电池竞争
暑期购机推荐:努比亚Z17、小米6、三星S8、一加5、荣耀9总有你的菜!