0
如何在verilog中初始化参数类型数组,其中每个成员都是32位十六进制表示法数? 我试过以下,但它给我语法错误。如何在verilog中初始化参数数组?
parameter [31:0] k[0:63] = {32'habc132, 32'hba324f, ...};
我正在使用最新版本的iverilog进行编译。
如何在verilog中初始化参数类型数组,其中每个成员都是32位十六进制表示法数? 我试过以下,但它给我语法错误。如何在verilog中初始化参数数组?
parameter [31:0] k[0:63] = {32'habc132, 32'hba324f, ...};
我正在使用最新版本的iverilog进行编译。
在EDA Plyground以下示例在使用的ModelSim 10.1,该文件有一个.sv扩展,导致它被解释为SystemVerilog的:
module test;
parameter [31:0] k [0:1] = {32'habc132, 32'hba324f};
initial begin
$displayh(k[0]);
$displayh(k[1]);
end
endmodule
如果设置的SystemVerilog不工作或者是不适用于您模拟器我建议在问题中包括语法错误。
[Verilog中的参数数组]可能重复(http://stackoverflow.com/questions/23507629/parameter-array-in-verilog) – Greg 2014-10-10 15:04:38
@Greg不,因为这不起作用。 – 2014-10-10 17:05:11
Verilog-1995不支持排列参数。 Verilog-2005的确如此,但它对于多维参数数组并不清楚,它应该支持它。所有版本的SystemVerilog都支持它,有些需要''{}'来定义数组。 – Greg 2014-10-10 21:33:41