1.阻塞性赋值语句
阻塞性赋值语句操作符号为“=”
语法格式为:变量=表达式;
例如:b=a;
阻塞性赋值语句特点如下:
①在串行语句块中,阻塞性赋值语句按照先后的顺序进行,在并行语句块中,阻塞性赋值语句没有先后顺序,一同执行(即并行执行)
②阻塞性赋值语句的执行顺序是:先将等号右边的值赋给等号左边,与仿真的时间没有关系。
对于赋值的顺序举个例子:
b=a;
c=b;
赋值的前后顺序就是:先将a的值赋给b,然后在将b的值赋给c。
2.非阻塞性赋值语句
非阻塞性赋值语句操作符号位:<=;
语法格式为:变量<=表达式;
例如:a<=b;
非阻塞性赋值语句特点如下:
①在串行语句快中,非阻塞性赋值语句的赋值顺序并没有先后之分,即使某条语句排在另外一条语句的前边,这两条语句也是同时进行赋值操作。
②执行非阻塞性赋值语句的顺序是:先计算出等号左边语句的值,等到延迟时间结束之后,将等号左边的计算值赋给等号右边的变量。
3.阻塞性与非阻塞性赋值语句的区别
举一个具体的例子来说明:
1.阻塞性赋值语句程序:
module block (din,clk,out1,out2);
input din,cl