001-阻塞与非阻塞
本次为理论性知识的总结,其主要分为以下部分:
- 阻塞的定义与理解
- 非阻塞的定义与理解
- 举例子理解
- 阻塞与非阻塞的用法
下面具体来说说
1. 阻塞的定义与理解
阻塞赋值的语法:寄存器变量 = 表达式
阻塞赋值,从字面理解可知其重点在“阻塞”二字。下面分两种情况讨论(以组合逻辑always块为例):
-
一条阻塞赋值语句
硬件代码:
reg Temp; reg D_out; always@(A_in or B_in or C_in ) begin D_out = A_in & B_in; end
在此always块中只有一条阻塞赋值,故可以直接执行,电路如下:
-
多条阻塞赋值语句
硬件代码:为便于描述,将语句记为A、B
reg Temp; reg D_out; always@(A_in or B_in or C_in ) begin Temp = A_in & B_in; //A语句 D_out = Temp | C_in; //B语句 end
在此always块中有多条阻塞赋值,故<阻塞特性>