我觉得这个术语非常非常地不妥,就好像有个线程等待一个事件一样,复杂化了。所以要忘记这个概念。
在数字电路中,主要有两种(1)时序逻辑(2)组合逻辑
时序逻辑的写法如下,always必须带有参数,赋值必须用“<=” ,“<=” 表示线的连接要经过D触发器。
always@(posedge key)
begin
a <= b;
b <= c;
end
组合逻辑的写法如下,always不用带参数,赋值必须用=,=表示直接连线,不用经过触发器。
always@(*)
begin
c = a & b;
d = a ^ b;
end
简单的组合逻辑可以写成:
assign c = a | ~b;
实践中发现,always语句只能给reg赋值,assign只能给wire赋值。另外:if语句表示电路中加入了比较器,在时序逻辑和组合逻辑中都可以用。