重温FPGA设计流程(五、调用DDS IP核产生正弦波)

该博客介绍了如何在FPGA设计中应用DDS IP核来生成正弦波。首先,创建了一个名为DDS_test的工程,并在IP Catalog中选择了DDS Compiler。由于系统频率为100MHz,为了实现合适的相位步进间隔,作者选择了通过分频将输入频率降低到100KHz,使得相位步进间隔变为655。接着,创建了顶层和仿真.V文件,并在波形显示中设置为模拟型,以便于观察和分析信号。
摘要由CSDN通过智能技术生成

创建工程,DDS_test。在IP Catalog中搜索DDS,选择其中一个DDS Compiler,双击打开。
在这里插入图片描述
在这里插入图片描述
开发板系统频率为100MHz, 根据输出频率的计算公式,相位步进间隔= (fout / fdds_in) * 2^N (N 为前面相位的位宽),所以如果用系统的频率作为DDS的输入频率,相位步进间隔= (1k / 100M)* 2^16 = 0.65536,显然这在verilog 中无法实现,所以我们要设法使DDS IP 核的输入频率较小。这里我们通过对系统频率进行分频,获得 100KHz,作为DDS的输入频率,此时相位步进间隔为 655。
创建顶层.V文件。

module dds_top(
        input rst_n,
        input clk_100M,
        output data_tvalid,
        output [7:0] data_tdata
    );
reg [9:0]cnt;
reg clk_100K;
always @(posedge clk_100M or negedge rst_n)begin
    if(!rst_n)begin
        cnt<=10'd0;
        clk_100K<=0;
    end
    else if(cnt==10'd499)begin
        cnt&l
  • 5
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值