if的逻辑,当内外的条件对象相同时,根据最外层的条件做决定:
always @(posedge clk)begin
if(a==1)begin
b <= 1;
if(a==2)begin
b <= 2;
end
end
else begin
b <= 3;
end
end
当a=2时是不进if的条件的
对于内层也是一个时钟节拍一个时钟节拍的执行
always @(posedge clk)begin
if(a==1)begin
b <= 1;
if(b==1)begin
b <= 2;
end
end
else begin
b <= 3;
end
end
结果如下:
最内层的优先级最高:
always @(posedge clk)begin
if(a==1)begin
b <= 1;
if(b==1)begin
b <= 2;
end
else if(b == 2)begin
b <= 3;
end
end
else begin
b <= 4;
end
end
结果如下: