阻塞与非阻塞语句的区别

2019-03-25 10:37发布

module DataBusOfBus(DataBus,link_bus,write); inout[11:0] DataBus; input link_bus; reg [11:0] outsigs;   assign DataBus=(link_bus)?outsigs:12'hzzz;   always @(posedge write)           begin            outsigs<=DataBus*5;           end    endmodule     为什么assign用的是阻塞赋值而always中用的是非阻塞? 如果assign中的阻塞赋值换为非阻塞赋值以及always中的非阻塞换为阻塞会有出现什么结果? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
linhaiqing60
2019-03-26 00:18
在用verilog设计电路的时候,对于阻塞非阻塞记住下面这两点:

1.用always描述组合逻辑时用阻塞语句(建议还是用assign语句描述组合逻辑);
2.描述时序逻辑电路用非阻塞。

ps:同一个always块中,最好不要同时用阻塞和非阻塞语句。

一周热门 更多>