微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 三角波程序时序仿真产生毛刺啊?

三角波程序时序仿真产生毛刺啊?

时间:10-02 整理:3721RD 点击:

这个是我三角波的程序,但是用modelsim做时序仿真时产生这么多的毛刺,请问是怎么回事啊?
//clk = 81.92mhz
module triangle(clk,rst,q,Count_Tx,cnt,a,state0,state1);
       input clk,rst;
     //  input [15:0] striangle_count;
       output [15:0]  q;
       output [15:0] Count_Tx;
       output [15:0] cnt;
       output [7:0] a,state0,state1;
       reg [15:0] cnt=0;
       reg [7:0] a;
       reg [15:0] Count_Tx=4096;

       reg [15:0] q;

    always @ (posedge clk)begin
         if(!rst)begin
            cnt = Count_Tx)begin
                   a <= 1;
                   cnt<=Count_Tx-1'b1;end
                 else
                   cnt <= cnt + 1'b1;
            end
            else if(a == 1)begin
                   if(cnt <= 16'b0000)begin
                      a <= 0;
                      cnt <=1'b1;end
                   else
                      cnt<=cnt-1'b1;
                  end
          end   
           q <= cnt;                     
  end                                 

endmodule                     


程序逻辑有问题    建议认真 理清楚思路

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

网站地图

Top