【发布时间】:2014-04-29 05:12:10
【问题描述】:
我对 Verilog 有点陌生。我知道在时钟进程中我们应该使用非阻塞分配,而在非时钟进程中,我们使用阻塞分配。
我在阅读别人的代码时遇到了这个代码。
reg iowrb_int,iowrb_met;
reg iordb_int,iordb_met;
always@(*)
begin
iowrb_int <= iowrb_met;
iordb_int <= iordb_met;
iowrb_met <= iowr_bar;
iordb_met <= iord_bar;
end
我真的不确定上面的代码!我认为它没有进行任何注册,对吗?在 always@(*) 语句中使用非阻塞是否意味着什么?
在 always@(*) 语句中使用阻塞和非阻塞有什么区别吗?
【问题讨论】:
-
您应该只在时钟进程中使用非阻塞分配的想法是一个非常不幸的神话。在这里查看我的获奖答案:-) stackoverflow.com/a/4774450/574895
标签: verilog blocking nonblocking