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

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

3天内不再提示

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

Hx 来源:CSDN技术社区 作者:朽月 2021-04-27 16:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

项目简述

本次项目我们主要是为了讲解DDS,所以我们使用了混频这个小项目来讲解。DDS自己手写是比较简单且灵活,但是Xilinx给我们提供了相应的IP核,那么这次我们将直接讲解使用IP来产生不同频率的正弦波。这篇博客我们也首次引入了Xilinx中block design的设计方法,由于AXI4总线的出现,我们使用block design的设计概念特别简单。本次的项目主要是:利用两个DDS产生两个不同频率的正弦波,然后进行***相乘***混频,利用Modelsim进行仿真验证我们实验的正确性。本次实验所用到的软硬件环境为:

1、VIVADO 2019.1软件环境

2、Modelsim仿真环境

DDS IP的定制及讲解

100062876-125606-1.png

1、我们选择波形与相位同时存在的情况。

2、选择DDS IP输入的系统时钟频率,这里我们选择100MHz。

3、DDS通道的数目,我们这里选择一个。

4、整个IP配置的模式,我们这里选择标准模式即可。

5、参数选择的模式,我们这里选择系统参数,这个选择主要影响IP的定制界面所涉及到的参数。

6、频率的动态范围,主要和DDS内部RAM的数据位宽有关,计算方法是20log2n,其中n为RAM的位宽。

7、选择DDS的最小的频率分辨率。

100062876-125607-2.png

1、相位增量我们选择固定

2、相位偏执我们也选择成固定,这两个参数可以动态控制输出的频率。

3、我们这里产生正弦波

4、因为我们只考虑正弦波的频率,座椅这里不再输出相位信息

100062876-125608-3.png

1、输入我们需要DDS输出的频率,这里我们输入5MHz。

其余选项,我们选择默认即可。这样,我们便定制了一个完整的DDS IP核,接下来的博客我们会自己手写相应的DDS的功能,感兴趣的同学可以保持关注。

Block Design涉及

我们这边博客首次引入了block design的设计方法,但是这个设计方法特别重要,希望同学们可以好好学习。进行block design的连线图如下:

100062876-125609-4.png

然后验证设计的有效性,产生输出工程,生成相应的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仿真测试的结果如下:

100062876-125610-5.png

从上面的仿真波形可以验证我们实验的准确性。
编辑:lyn

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

    关注

    73

    文章

    2192

    浏览量

    129930
  • IP
    IP
    +关注

    关注

    5

    文章

    1849

    浏览量

    154914
  • DDS
    DDS
    +关注

    关注

    22

    文章

    683

    浏览量

    156073
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于E203的DMA ip的使用

    1.BD设计 2.AXI DMA寄存器 编写SDK代码,需要根据xilinx的官方例程和dma ip使用手册进行寄存器的配置。 重要寄存器: MM2S S2MM
    发表于 10-22 06:00

    STM32H743 移植 Micro-XRCE-DDS 时,在调用 gethostbyname() 时出现异常怎么解决?

    packagesMicro-XRCE-DDS-Client-latestsrccprofiletransportipudpudp_transport_external.c uxr_init_udp_platform() 函数调用 host = (struct hostent
    发表于 09-22 06:54

    DDS-TSN 到底是如何实现的?

    概述1.1TSN与DDS的独立优势与局限随着智能网联汽车和车载网络架构的不断迭代,车载网络对实时性、确定性和高效数据分发的需求日益严苛。TSN和DDS的结合为车载以太网提供了确定性实时通信(TSN
    的头像 发表于 08-13 10:07 5441次阅读
    <b class='flag-5'>DDS</b>-TSN 到底是如何实现的?

    服务与数据的双螺旋:从SOME/IPDDS看汽车电子架构的进化之路

    底层通信技术的演进始终是由应用需求的不断变化所驱动的。正如“进化论”所强调的,“适者生存”才是核心:并不存在放之四海而皆准的“最优”技术,只有在特定场景下最合适的解决方案。对于SOME/IPDDS,很多人习惯于直接问“孰优孰劣”,但如果脱离具体的应用场景去讨论优劣,往往
    的头像 发表于 05-23 10:56 1632次阅读
    服务与数据的双螺旋:从SOME/<b class='flag-5'>IP</b>到<b class='flag-5'>DDS</b>看汽车电子架构的进化之路

    Xilinx Shift RAM IP概述和主要功能

    Xilinx Shift RAM IP 是 AMD Xilinx 提供的一个 LogiCORE IP 核,用于在 FPGA 实现高效的移位
    的头像 发表于 05-14 09:36 832次阅读

    详解Xilinx的10G PCS PMA IP

    如果要在Xilinx的FPGA上使用万兆以太网通信,大致有三种方法构建协议栈。第一种使用GTX等Serdes作为底层的PHY,上层通过HDL实现构建MAC和IP层,这种方式难度会比较大,底层需要完成PHY层的设计,最终我想通过这种方式实现万兆以太网的搭建。
    的头像 发表于 04-18 15:16 1588次阅读
    详解<b class='flag-5'>Xilinx</b>的10G PCS PMA <b class='flag-5'>IP</b>

    DAC使用DDS输出,波形失真

    使用FPGA控制AD9142A,DAC采用DDS输出正弦波,所有频率,从1Hz到1MHz,都有这种现象,在示波器上采集有分段现象,每四段就有一个阶跃,像台阶一样,且总是和大体方向相反,在正弦波的值
    发表于 03-06 15:36

    Vivado FIR IP核实现

    Xilinx的FIR IP核属于收费IP,但是不需要像 Quartus那样通过修改license文件来破解。如果是个人学习,现在网络上流传的license破解文件在破解Vivado的同时也破解
    的头像 发表于 03-01 14:44 2567次阅读
    Vivado FIR <b class='flag-5'>IP</b>核实现

    使用DDS生成三个信号并在Vivado实现低通滤波器

    本文使用 DDS 生成三个信号,并在 Vivado 实现低通滤波器。低通滤波器将滤除相关信号。
    的头像 发表于 03-01 14:31 2444次阅读
    使用<b class='flag-5'>DDS</b>生成三个信号并在Vivado<b class='flag-5'>中</b>实现低通滤波器

    DDS传递簇与大型数组的教程

    数据分发服务(Data Distribution Service,DDS)源于美军的数据链,作为网络数据通讯的核心技术,能可靠实时地交换分配群体数据,其传输能力比通常的战术数据链高几个数量级。DDS必须确保在极少的时间和不限制网络
    的头像 发表于 02-28 17:40 932次阅读
    <b class='flag-5'>DDS</b>传递簇与大型数组的教程

    如何理解芯片设计IP

    本文主要介绍如何理解芯片设计IP 在芯片设计IP(知识产权核心,Intellectual Property Core)是指在芯片设计
    的头像 发表于 02-08 10:43 2082次阅读

    解锁4K,Xilinx MPSoC ARM + FPGA高清视频采集与显示方案!

    执行信号的解串操作(串转并),并解码出视频流数据,随后通过VDMA IP缓存至DDR,利用Xilinx官方的IP对视频流数据进行重新编码
    的头像 发表于 01-24 10:27 903次阅读
    解锁4K,<b class='flag-5'>Xilinx</b> MPSoC ARM + FPGA高清视频采集与显示方案!

    用FPGA加上DAC902做DDS时候,出现DAC902的时钟串扰进我输出的波形的问题怎么解决?

    我用FPGA加上DAC902做DDS时候,,经常出现DAC902的时钟串扰进我输出的波形的问题。我DAC902的时钟给的100M,我对DDS的输出波形进行FFT后,一直都可以看到100M的谐波分量,导致我输出波形抖动。。。求
    发表于 01-22 06:39

    SRIO介绍及xilinx的vivado 2017.4生成srio例程代码解释

    1. 概述 本文是用于记录srio的学习情况,以及一些对xilinx的vivado 2017.4生成srio例程代码的解释。 2. 参考文件 《pg007_srio_gen2》 3. SRIO协议
    的头像 发表于 12-10 16:24 4465次阅读
    SRIO介绍及<b class='flag-5'>xilinx</b>的vivado 2017.4<b class='flag-5'>中</b>生成srio例程代码解释