微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教关于dds发送特定周期数正弦波的代码

请教关于dds发送特定周期数正弦波的代码

时间:10-02 整理:3721RD 点击:
小弟最近一直想尝试用dds发送固定个周期的正弦信号(现在数量无所谓只要产生随意固定数目就行了),代码一直觉得没啥问题,不知道为何产生波形一直是一个一个周期正弦一个周期直流的波形。代码如下,请各位赐教:
module sintest(clk,reset_n,DACLK,wave);
input clk;
input reset_n;
output DACLK;
output [7:0]wave;
assign DACLK = clk;
reg[24:0] COUNT;
reg [3:0]times;
reg[9:0] address;
reg rden;
  always @(posedge clk )
   begin
            COUNT <= COUNT +25'd3355;
       address<= COUNT[23:14];
        if(COUNT[24]==1)
       times<=times+1;
        end

        always @ (posedge clk )
     begin
        if (times<=4'b0011)
               rden<=1;
          else rden<=0;
    end

sin (address,clk,rden,wave);
endmodule
其中rden是sin ROM的数据读取使能,按照我的理解,我取COUNT最高位为标志位,它变成1,我times+1,由于最后times肯定大于3所以肯定是产生五个波形正弦波,后面没有波形。
等times循环变成4b'0000,再次循环。
小弟想问问,我这种思路是否可行?
代码逻辑问题出在哪里?
如果要实现我想要的功能有没有更好的办法?
谢谢各位了!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top