求教ISE仿真结果不对

2019-03-25 08:10发布

  刚开始学习FPGA,用的siga-16的xilinx的板子,在做串口发送实验的时候,按照教程代码,仿真串口发送单个字节的时序没有问题。
后面要写个连续发多个字节的代码,本来应该是蛮简单的,但就是收不到数据,奇怪的是,这个简单的程序使用ISE也仿真也有问题。
源代码如下:
  1. module test(clk,dataout,wrsig);

  2.         input clk;
  3.         output [7:0]dataout;
  4.         output wrsig;
  5.         
  6.         reg [7:0]dataout;
  7.         reg wrsig;
  8.         
  9.         reg [7:0]cnt;
  10.         
  11.         always @(posedge clk)
  12.         begin
  13.                 if(cnt == 20)
  14.                 begin
  15.                         dataout <= dataout + 8'd1;
  16.                         wrsig <= 1'b1;
  17.                         cnt <= 8'd0;
  18.                 end
  19.                 else
  20.                 begin
  21.                         wrsig <= 1'b0;
  22.                         cnt <= cnt + 8'd1;
  23.                 end
  24.                
  25.         end

  26. endmodule
复制代码代码比较简单,就是每隔20个时钟周期,输出的dataout加1,然后wrsig输出一个脉冲。
但是这段代码在ISE怎么也仿真不出来,加的激励是20ns的时钟周期。如下图1:
调了好长时间也不知道原因,实在不相信是代码的问题,然后转用quartus仿真,可以得到期望的波形,如图2:
现在也想不出原因,特发帖请教。

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。