|
楼主 |
发表于 2018-9-22 10:52:12
|
显示全部楼层
本帖最后由 wjcdx 于 2018-9-22 10:54 编辑
回复 9# 13hope
> 像是电平敏感always快内使用多个多个非阻塞赋值就没有意义,仿真结果不可信
昨天没看清楚,给的例子是边沿敏感。你说的是电平敏感。
其实,“电平敏感”这个词不准确,准确的说法是“电平变化敏感”:
- always @(a, b, c)
- begin
- if (a) begin
- end
- end
复制代码
这个并不是只在a为1时执行,在a为0时也执行。所以不是对a的高电平敏感,而是对a的电平变化敏感。
always在Verilog里面没有区分,在SystemVerilog里面区分的就比较细。上面的always在SystemVerilog里面应该是always_comb, 而不是always_seq,综合出来是组合电路,里面使用的是wire,而不是reg.
对wire使用非阻塞赋值是不正确的。这也是我为什么说在RTL建模时把NBA这个概念拿掉的原因:理解时容易混淆,使用时容易出错。 |
|