(1).非阻塞(Non_Blocking)赋值方式( 如 b <= a; )
块结束后才完成赋值操作。
b的值并不是立刻就改变的。
这是一种比较常用的赋值方法。(特别在编写可综合模块时)
(2).阻塞(Blocking)赋值方式( 如 b = a; )
赋值语句执行完后,块才结束。
b的值在赋值语句执行完后立刻就改变的。
可能会产生意想不到的结果。
1.非阻塞案例
always @ (posedge clk)begin
b_reg <= a_reg;
c_reg <= b_reg;
end
这个always块描述的电路功能如下:

2.阻塞赋值
always @ (posedge clk)begin
b = a;
c = a;
end
