有关阻塞和非阻塞的问题,觉得自己有一点点小绕,现在记录下来,让自己更明白
区别就是,一个是在块里面就已经改变数值,立马就改变的,,,另一个是需要整个块运行完了之后才会赋值
阻塞赋值,b = a,假如再一个always模块里面
always@(or)
begin
b=a;
c=b;
end
非阻塞赋值,b<=a,
always@(or)
begin
b<=a;
c<=b;
end
上面两个块,假如 a=1,b=2,c=3;
第一个块,得到的答案是,a=1,b=1,c=1
第二个块,得到的答案是,a=1,b=1,c=2
得到两种不同的答案,,感觉第一种和我们相熟的c语言没什么不一样,但是第二点就有点数字电路的感觉,有种时序的味道