- UID
- 864567
|
Verilog里面有个很容易混淆的概念:阻塞和非阻塞。经典的例子如下
非阻塞例子:
always @(posedge clk)
begin
b<=a;
c<=b;
end
执行的结果是always块结束后,b等于a之前的值,c等于b之前的值。
阻塞例子:
always @(posedge clk)
begin
b=a;
c=b;
end
执行的结果是:b等于a,c也等于a。
对于这个问题,本人是这样记忆的:
阻塞就一个符号,非阻塞比它多一个符号。
阻塞了的语句有先后顺序关系,先执行b=a,然后执行c=b。
非阻塞的语句同时执行,b等于a的同时,c也等于b。 |
|