对于绘制硬件图时如何解释阻塞和非阻塞分配,我有些困惑。我们是否必须推断出非阻塞分配会给我们一个寄存器?那么根据此陈述c <= a+b ,c将是注册权,而不是a和b?module add (input logic clock, output logic[7:0] f); logic[7:0] a, b, c; always_ff @(posedge clock) begin a = b + c; b = c + a; c <= a + b; end assign f = c; endmodule
3 回答
慕森王
TA贡献1777条经验 获得超3个赞
传统的Verilog智慧全都错了。使用阻塞分配给局部变量没有问题。但是,切勿将阻塞分配用于同步通信,因为这是不确定的。
时钟总是块内的非阻塞分配将始终根据语义来推断触发器。
时钟内的阻塞分配是否始终阻塞会触发触发器,这完全取决于其使用方式。如果可以在分配变量之前读取该变量,则将推断出一个触发器。否则,这就像一个临时变量,它将导致一些组合逻辑。
- 3 回答
- 0 关注
- 695 浏览
添加回答
举报
0/150
提交
取消