FPGA学习笔记(五):DDS IP核的使用

这篇具有很好参考价值的文章主要介绍了FPGA学习笔记(五):DDS IP核的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

笔记五是简单介绍DDS IP核的使用,它是可以产生任意频率正弦波的模块。此笔记同时输出波形和相位,一般可以不输出相位。

 1. 打开VIVADO,点击IP Catalog

 FPGA学习笔记(五):DDS IP核的使用

 2.搜索DDS,选择DDS Compiler

 FPGA学习笔记(五):DDS IP核的使用

 3. 配置参数

(1) 设置主频频率 50MHz

FPGA学习笔记(五):DDS IP核的使用 

(2) 选择sine,并且勾选Has Phase Out(相位输出)

FPGA学习笔记(五):DDS IP核的使用 

 (3) 勾选Output TREDAY

FPGA学习笔记(五):DDS IP核的使用

 (4) 输入频率

FPGA学习笔记(五):DDS IP核的使用 

 (5) 同上述步骤,再加一个DDS IP核

FPGA学习笔记(五):DDS IP核的使用

4. 测试文件 

module tb_dds;
// 时钟clk
reg clk;
// 数据准备信号
reg m_axis_data_tready_1;
reg m_axis_data_tready_2;
// 相位准备信号
reg m_axis_phase_tready_1;
reg m_axis_phase_tready_2;
// 数据输出有效信号
wire m_axis_data_tvalid_1;
wire m_axis_data_tvalid_2;
// 相位输出有效信号
wire m_axis_phase_tvalid_1;
wire m_axis_phase_tvalid_2;
// 输出频率和相位
wire [31:0] dout_pha_1;
wire [7:0] dout_fre_1;

wire [31:0] dout_pha_2;
wire [7:0] dout_fre_2;
// 例化
dds_compiler_0 U1 (
  .aclk(clk),                                // input wire aclk
  .m_axis_data_tvalid(m_axis_data_tvalid_1),    // output wire m_axis_data_tvalid
  .m_axis_data_tready(m_axis_data_tready_1),    // input wire m_axis_data_tready
  .m_axis_data_tdata(dout_fre_1),      // output wire [7 : 0] m_axis_data_tdata
  .m_axis_phase_tvalid(m_axis_phase_tvalid_1),  // output wire m_axis_phase_tvalid
  .m_axis_phase_tready(m_axis_phase_tready_1),  // input wire m_axis_phase_tready
  .m_axis_phase_tdata(dout_pha_1)    // output wire [31 : 0] m_axis_phase_tdata
);

dds_compiler_1 U2 (
  .aclk(clk),                                // input wire aclk
  .m_axis_data_tvalid(m_axis_data_tvalid_2),    // output wire m_axis_data_tvalid
  .m_axis_data_tready(m_axis_data_tready_2),    // input wire m_axis_data_tready
  .m_axis_data_tdata(dout_fre_2),      // output wire [7 : 0] m_axis_data_tdata
  .m_axis_phase_tvalid(m_axis_phase_tvalid_2),  // output wire m_axis_phase_tvalid
  .m_axis_phase_tready(m_axis_phase_tready_2),  // input wire m_axis_phase_tready
  .m_axis_phase_tdata(dout_pha_2)    // output wire [31 : 0] m_axis_phase_tdata
);
// 初始化
initial 
begin
    clk = 0;					// 时钟clk为0
    m_axis_data_tready_1 = 1;	// 数据准备信号为1
    m_axis_phase_tready_1 = 1;	// 相位准备信号为1
    m_axis_data_tready_2 = 1;	// 数据准备信号为1
    m_axis_phase_tready_2 = 1;	// 相位准备信号为1
end

always #10 clk = ~clk;			// clk周期为20ns

endmodule

 5. 结果展示

 FPGA学习笔记(五):DDS IP核的使用

FPGA学习笔记(五):DDS IP核的使用 

FPGA学习笔记(五):DDS IP核的使用 

 文章来源地址https://www.toymoban.com/news/detail-505806.html

到了这里,关于FPGA学习笔记(五):DDS IP核的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于vivado DDS ip核的DDS信号发生器(可调频调相)

    基于Vivado DDS ip核的DDS信号发生器: 在Vivado软件中调出DDS ip核进行设置,很多参数可以参考xilinx官方手册,比较重要的是System Clock系统时钟和Phase Widh相位宽度的设置,这是最终得到波形的频率和相位所需要的基础参数,在这里我分别设置为50Mhz和16bit。 在implementation页面设置频

    2024年02月12日
    浏览(38)
  • FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用

      学习不能稀里糊涂,要学会多思考,发散式学习以及总结:   FPGA作为一种器件,只是实现目的的一种方法,过度追求实现的技术细节(用hdl还是hls,用啥芯片,用啥接口)容易只见树木不见森林。工具软件的用法也好,器件的架构也好,语言孰优孰劣的争论也罢。工程应

    2023年04月10日
    浏览(45)
  • FPGA原理与结构——时钟IP核的使用与测试

    系列文章目录:FPGA原理与结构(0)——目录与传送门         本文介绍xilinx的时钟IP核 Clocking Wizard v6.0的具体使用与测试过程,在学习一个IP核的使用之前,首先需要对于IP核的具体参数和原理有一个基本的了解,具体可以参考: FPGA原理与结构——时钟IP核原理学习 https:/

    2024年02月09日
    浏览(38)
  • FPGA原理与结构(16)——时钟IP核的使用与测试

    系列文章目录:FPGA原理与结构(0)——目录与传送门         本文介绍xilinx的时钟IP核 Clocking Wizard v6.0的具体使用与测试过程,在学习一个IP核的使用之前,首先需要对于IP核的具体参数和原理有一个基本的了解,具体可以参考: FPGA原理与结构——时钟IP核原理学习 https:/

    2024年02月08日
    浏览(41)
  • FPGA原理与结构——RAM IP核的使用与测试

    系列文章目录:FPGA原理与结构(0)——目录与传送门 目录 一、前言 二、RAM IP核定制 1、RAM IP核 step1 打开vivado工程,点击左侧栏中的IP Catalog step2 在搜索栏搜索RAM,找到Block Memory Generator IP核: 2、IP核定制 step3 Baisc界面定制 step4 端口定制 step5 Other Options step6 Summary 3、IP核例化

    2024年02月11日
    浏览(41)
  • xilinx FPGA ROM IP核的使用(VHDL&ISE)

    目录 1.新建工程之后 建一个ip核文件: 2.编写顶层文件或者激励文件:(一定一定点击下面这个例化模板 去对ip核进行例化) 3.查看rtl图:   4编写测试文件: 5.仿真图: 工程下载链接:https://download.csdn.net/download/qq_43811597/86488775       根据所存数据的最大值来设置数据位宽

    2024年02月08日
    浏览(49)
  • xilinx FPGA FIFO IP核的使用(VHDL&ISE)

    1.新建工程和ip核文件 下图显示了一个典型的写操作。拉高WR_EN,导致在WR_CLK的下一个上升边缘发生写入操作。因为FIFO未满,所以WR_ACK输出1,确认成功的写入操作。当只有一个附加的单词可以写入FIFO时,FIFO会拉高ALMOST_FULL标志。当ALMOST_FULL拉高之后,一个附加的写入将导致

    2024年02月03日
    浏览(54)
  • 具于xilinx FPGA的可动态配置DDS频率控制字的DDS IP核使用例程详解

    本文用于讲解xilinx IP 的dds ip examples(动态配置频率)的功能说明,方便使用者快速上手。 本examples 是月隐编写的针对DDS的使用demo,实现通过vio控制频率控制字来调整DDS的输出频率,为大家演示一个可动态配置DDS频率的例程。 例程的平台: 1) 硬件平台:XC7Z020CLG484-2 2) FP

    2024年02月02日
    浏览(43)
  • FPGA 学习分享-- 04 FIFO核的使用(2)

    写在前面: 博主耗费了四天!!!完成了FIFO核的第二部分。 在这个部分,博主遇到了很多问题,对着代码不停修改,询问学长和老师,好在终于没有报错,可以向大家交作业了!当然,我会在本文详细的帮助大家学习FIFO核的代码编写,带着大家剖析每个部分,尽可能地通俗

    2024年02月03日
    浏览(41)
  • FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(一)——知识补给

    学习不能稀里糊涂,要学会多思考,发散式学习以及总结: FPGA作为一种器件,只是实现目的的一种方法,过度追求实现的技术细节(用hdl还是hls,用啥芯片,用啥接口)容易只见树木不见森林。工具软件的用法也好,器件的架构也好,语言孰优孰劣的争论也罢。工程应用里大概

    2023年04月09日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包