阻塞:a=b;c=a;
在always @(posedge clk)块里,阻塞是顺序赋值,有先后顺序,a先得到b的值,然后再把新值赋值给c。
实现的结果是:一个时钟到来后,a=b=c;
非阻塞:a<=b;c<=a;
在always @(posedge clk)块里,非阻塞是并行赋值,无先后顺序,a得到b的值,同时把当前值赋值给c。
实现的结果是:一个时钟到来后,a=b;c=a赋值前的值。
阻塞与非阻塞是对于赋值过程而言的,阻塞表现为顺序执行,第一行代码完成才能继续往下走;非阻塞表现为并行执行,第一行与第二行代码同时执行。