来看看这个语句

2019-03-25 10:29发布

always @ ( posedge CLK or negedge RST )
if(!RST)  count <= 13'd0;
else if(count == 13'd5208)  count <= 13'd0;
else if(Count_sig)         count <= count + 1'b1;
我把第三条语句和第四条语句位置对换,会产生不同的结果,
不知道是为什么? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
00750
1楼-- · 2019-03-25 12:20
< / if/else生成的电路是有优先级的,如果将第四句移到前面,那么else if(count == 13'd5208) count <= 13'd0;这一句将永远不会得到运行。
xieqiang
2楼-- · 2019-03-25 13:45
这个问题咱还可以深入讨论讨论,我从来没意识到有这个问题
汉江之源
3楼-- · 2019-03-25 18:57
 精彩回答 2  元偷偷看……
eeleader
4楼-- · 2019-03-25 22:07

不同00750的看法:

  如果将第四句移到前面,那么else if(count == 13'd5208) count <= 13'd0;这一句将永远不会得到运行。这个是有条件的:就是count_sig 如果一直为'1'. 否则else if(count == 13'd5208) count <= 13'd0;还是可能执行到的!

xieqiang
5楼-- · 2019-03-26 00:26
同意这个观点,如果这样的话,两句调换,应该没什么问题啊...
eeleader
6楼-- · 2019-03-26 01:38

继续讨论中!

一周热门 更多>