400M时钟时序问题

2019-07-15 20:48发布

时序.png
FPGAspartan6
简单的累加,用modesim仿真,为什么在109220ps的时候会出现一小段cnt=3的情况,理论上应该从1变到2才对;代码如下 时钟400M
reg [3:0]cnt;
always@(posedgeclk_100m or negedge rst_n)
begin
  if(!rst_n)begin
     cnt <= 4'd0;
   data_out <= 4'd0;
end
else begin
   if(cnt< 4'd10)
    cnt <= cnt + 1'b1;
  else
       cnt <= cnt;
    end
end

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
HUANGYEZHIYING
1楼-- · 2019-07-15 22:44
仿真看得不是很懂,cnt怎么没有和时钟对齐呢
三尹_713
2楼-- · 2019-07-16 02:51
这是功能仿真吗?
asuyyy
3楼-- · 2019-07-16 03:20
因为实际过程中,硬件的寄存器内数据的翻转是需要时间的,而你这个是仿真硬件情况
在4‘b0001翻转为4‘b0010的中间,有那么一个时间段,第1位翻转了,但第0位还没有翻转,就会出现4‘b0011的情况
uglyugly
4楼-- · 2019-07-16 06:39
 精彩回答 2  元偷偷看……

一周热门 更多>