0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅析Vivado的IP核DDS使用方式及注意事项

Hx 来源:CSDN技术社区 作者:雷凌峻毅 2021-04-27 15:52 次阅读

vivado提供了DDS IP核可以输出正余弦波形,配置方法如下

打开VIVADO,选择IP Catalog

100062957-125934-01.jpg

输入DDS,找到DDS IP核,双击打开

100062957-125935-02.jpg

打开IP核配置,parameter Selection选择System Parameters

设置System Parameters参数

Spurious Free Dynamic Range的设置,这个参数与输出数据的宽度相关。

100062957-125936-03.jpg

我需要位宽为10位的输出,因此Spurious Free Dynamic Range设置为10*6=60

Frequency Resolution的设置,这个参数与输出相位数据的宽度相关,如果想要得到16bit的宽度,channels为1,系统输入时钟为100MHz

Frequency Resolution = 100000000/2^16 = 1525.8789025

设置如图:

100062957-125937-04.jpg

设置Phase Increment Programmability和Phase offset programmability为固定模式,输出为正弦波

100062957-125938-05.jpg

设置输出频率10M

100062957-125939-06.jpg

查看配置好的DDS参数

100062957-125940-07.jpg

编写代码和TESTBENCH,进行仿真

顶层程序

`timescale 1ns / 1ps module top( input clk_100m, input rst_n, ///DAC0/ output [9:0]DAC0_D, output DAC0_CLK, output DAC0_PD ); wire [15:0]dac_data; wire phase_tvalid; wire [15:0]phase_data; wire dds_valid; dac dac_ini( .clk_100m(clk_100m), .dac_data(dac_data), .DAC0_D(DAC0_D), .DAC0_CLK(DAC0_CLK), .DAC0_PD(DAC0_PD) ); dds_compiler_0 dds_compiler_0_ini( .aclk(clk_100m), .m_axis_data_tvalid(dds_valid), .m_axis_phase_tvalid(phase_tvalid), .m_axis_phase_tdata(phase_tdata), .m_axis_data_tdata(dac_data) ); endmodule

testbench

`timescale 1ns / 1ps module top_tb( ); reg clk_100m; reg rst_n; wire [9:0]DAC0_D; wire DAC0_CLK; wire DAC0_PD; initial begin clk_100m = 1‘b0; rst_n = 1’b1; #10 rst_n = 1‘b0; #500 rst_n = 1’b1; end always #5 clk_100m = ~clk_100m; top top_ini( .clk_100m(clk_100m), .rst_n(rst_n), .DAC0_D(DAC0_D), .DAC0_CLK(DAC0_CLK), .DAC0_PD(DAC0_PD) ); endmodule

testbench

`timescale 1ns / 1ps module top_tb( ); reg clk_100m; reg rst_n; wire [9:0]DAC0_D; wire DAC0_CLK; wire DAC0_PD; initial begin clk_100m = 1‘b0; rst_n = 1’b1; #10 rst_n = 1‘b0; #500 rst_n = 1’b1; end always #5 clk_100m = ~clk_100m; top top_ini( .clk_100m(clk_100m), .rst_n(rst_n), .DAC0_D(DAC0_D), .DAC0_CLK(DAC0_CLK), .DAC0_PD(DAC0_PD) ); endmodule

仿真时注意DDSIP核输出的是有符号数,因此需要将DDS输出的数据设置成有符号数,即将仿真数据radix为signed decimal

100062957-125941-08.jpg

注意:因为DDSIP核输出的是有符号数,因此虽然我们设置的是10位的位宽,但输出数据共有16位,因为需要高位来作补码。在使用时只用低10位即可。
编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DDS
    DDS
    +关注

    关注

    21

    文章

    614

    浏览量

    151725
  • IP核
    +关注

    关注

    4

    文章

    317

    浏览量

    49039
  • Vivado
    +关注

    关注

    18

    文章

    789

    浏览量

    65092
收藏 人收藏

    评论

    相关推荐

    芯片金线包封胶的使用注意事项是什么?

    芯片金线包封胶的使用注意事项是什么?金线包封胶是一种高性能、高粘度的密封胶,广泛应用于电子、电器、汽车等领域。它具有良好的防水、防潮、防震等性能,能够保护产品内部零件不受环境影响,提高产品的使用寿命
    的头像 发表于 01-05 11:29 438次阅读
    芯片金线包封胶的使用<b class='flag-5'>注意事项</b>是什么?

    DC电源模块有哪些注意事项和使用技巧?

    DC电源模块有哪些注意事项和使用技巧?
    的头像 发表于 12-25 13:59 237次阅读
    DC电源模块有哪些<b class='flag-5'>注意事项</b>和使用技巧?

    电流互感器的使用注意事项

    当谈到电流互感器的使用时,有一些重要的注意事项需要我们牢记。在本文中,我们将探讨这些注意事项,为您提供详细和全面的信息。
    的头像 发表于 12-15 10:34 570次阅读
    电流互感器的使用<b class='flag-5'>注意事项</b>

    pcb板线路腐蚀清洗注意事项

    pcb板线路腐蚀清洗注意事项
    的头像 发表于 11-24 17:21 511次阅读

    VGA OUT 的PCB设计注意事项

    VGA OUT 的PCB设计注意事项
    的头像 发表于 11-23 09:04 338次阅读

    振弦式渗压计的安装方式注意事项

    振弦式渗压计的安装方式注意事项 振弦式渗压计是一种常用的测量土壤水位的仪器,可以用于监测地下水位、土壤含水量、岩层渗透系数等参数。其原理是依靠振弦的共振频率变化来测量介质中的压力变化
    的头像 发表于 11-20 13:27 369次阅读
    振弦式渗压计的安装<b class='flag-5'>方式</b>及<b class='flag-5'>注意事项</b>

    紫光同创DDR3_IP_example仿真操作及注意事项

    DDR3_IP_example仿真操作及注意事项#紫光同创PDS软件操作指南#盘古系列开发板软件使用指南~~
    发表于 11-02 17:47

    中8位MCU EEPROM使用注意事项

    中颖8位MCU EEPROM使用注意事项
    的头像 发表于 09-27 15:34 496次阅读
    中8位MCU EEPROM使用<b class='flag-5'>注意事项</b>

    直线模组的运行注意事项

    直线模组的运行注意事项
    的头像 发表于 08-21 17:36 890次阅读
    直线模组的运行<b class='flag-5'>注意事项</b>

    安全光栅选择注意事项

    安全光栅选择注意事项
    的头像 发表于 07-14 10:24 549次阅读
    安全光栅选择<b class='flag-5'>注意事项</b>

    使用注意事项

    使用注意事项
    发表于 07-07 19:04 0次下载
    使用<b class='flag-5'>注意事项</b>

    安全光幕选型方法以及注意事项

    安全光幕选型方法以及注意事项
    的头像 发表于 07-06 13:59 472次阅读
    安全光幕选型方法以及<b class='flag-5'>注意事项</b>

    安全光幕选型方法以及注意事项

    安全光幕选型方法以及注意事项
    的头像 发表于 06-28 14:35 457次阅读
    安全光幕选型方法以及<b class='flag-5'>注意事项</b>

    Vivado增量编译的基本概念、优点、使用方法以及注意事项

    随着FPGA设计的复杂度不断提高,设计人员需要选择更为高效的设计流程来保证开发效率和减少开发成本。其中,Vivado增量编译是一种非常重要的设计流程。本文将介绍Vivado增量编译的基本概念、优点、使用方法以及注意事项
    的头像 发表于 05-25 18:25 3291次阅读
    <b class='flag-5'>Vivado</b>增量编译的基本概念、优点、使用方法以及<b class='flag-5'>注意事项</b>

    QB-MINI2操作注意事项

    QB-MINI2操作注意事项
    发表于 04-27 18:58 0次下载
    QB-MINI2操作<b class='flag-5'>注意事项</b>