如何在 Verilog 设计中正确编写这个 for 循环条件?

How to write this for loop conditions in Verilog design correctly?

我想用 Verilog 编写一个模块,在正时钟边沿输出相同的 32 位输入。但是,我在循环条件方面遇到了一些麻烦。

module if_id (
  input             clk
 ,input      [31:0] in
 ,output reg [31:0] out
);

 always@(posedge clk)
   out <= in;

endmodule

如果您打算注册一个 32 位值,则无需编写循环代码。但是,如果您需要以数组模式编写它,则需要在代码中使用 genvar 变量。顺便说一下 int 在 verilog 变体中不受支持。迁移到 System-verilog 以获得更多数据类型。