初学Verilog语言,有个问题:always@( )列表里面不能同时有电平敏感事件和边沿触发事件吗?

2024-11-15 08:34:28
推荐回答(4个)
回答(1):

不能同时有电平触发与边沿触发信号存在,综合的时候通不过,例如Xlinx ISE 会报错Xst:902 Unexpected xxx event in always block sensitivity list.
同样的,一个逻辑块里不能同时阻塞赋值和非阻塞赋值。
必须分开写。

回答(2):

可以不过这种很容易导致引起竞争与冒险
所以最好把他们分开。
还有要注意阻塞赋值与非阻塞赋值的用法。
不要乱用。

回答(3):

组合逻辑是当输入信号改变时引起输出的即时变化;时序逻辑一般存在寄存器,由时钟的边沿触发进行取样。两者对输入取样的时机显然不一样,因此必须加以区分,放到不同的电路块中,将两者触发条件(always的条件部分)混合起来是没有可能的。但是组合逻辑电路是可以包含在时序触发电路中的,最终的电路块还是时序逻辑,不过很多情况下将组合逻辑单独成块是有好处的,它只能是电平敏感条件了。

回答(4):

语法问题应该没有什么好推理的吧