硬件是否以相同的方式解释两个verilog代码?
非阻塞代码:
module nonblock (input logic clock);
logic a, b, c;
always @(posedge clock)
begin
a <= b;
b <= c;
end
endmodule
阻止代码:
module block (input logic clock);
logic a, b, c;
always @(posedge clock)
begin
a = b;
b = c;
end
endmodule
它们不会以相同的方式合成。使用块分配的代码将在一行中创建两个触发器。使用非阻塞分配的代码只会在一个时钟周期内将a分配给c。您可以在模拟中验证这一点。
以下是有关Verilog 中阻塞与非阻塞的更多信息