我们使用always块时,代码中a和b触发条件一致
- a没有带else 所以形成的硬件是锁存器,也就是从c!=1时a会保持原来的值。
- 而b有else则生成触发器,不满足if就会执行else。
- always块是并行运行的,但是块内的if 、else if是顺序进行的也就是顺序执行有一个满足条件就不会执行其他的else if了。
always@(posedge clk)begin
if (rst==1)begin
a <= 1;
end
else if (c==1)begin
a <= 2;
end
end
always@(posedge clk)begin
if (rst==1)begin
b <= 1;
end
else if (c==1)begin
b <= 2;
end
else begin
b <= 0;
end
end