1、基本
测试项 |
语法测试结果 |
说明 |
组合:= |
|
assign用且仅用=,左值用且仅用wire initial和always左值用且仅用reg,=和<=都可以,但是一般情况下,组合用=,时序用<= |
时序:<= |
|
|
assign |
assign只能用=,只能对wire |
reg用于且仅用于always、initial的左值; wire用于且仅用于assign的左值。 assign:只要右边表达式任一个变量有变化,表达式立即被计算,计算的结果立即赋给左边信号。也即assign行为上等价于组合always。 |
always |
always不管敏感量是posedge(时序逻辑)或者是一个信号(组合逻辑): 可以用<=,也可以用=; always里面赋值的左值必须是reg。 |
|
initial |
initial跟always一样 可以用<=,也可以用=; initial里面赋值的左值必须是reg。 |
|
wire初值 |
wire不可以赋初值,但是可以赋初reg |
wire w1=1'b0,w2;不合法 但是 reg r2; wire w1=r2,w2;合法 |
reg可赋初值 |
reg可以赋初值 |
reg r1=1'b0,r2;合法 |
综上,得到的基本概念用图形描述如下: