Parameters 如何在verilog中初始化参数数组?

Parameters 如何在verilog中初始化参数数组?,parameters,hex,verilog,Parameters,Hex,Verilog,在verilog中,如果每个成员都是32位十六进制表示法数字,如何初始化参数类型数组? 我尝试了以下方法,但它给了我语法错误 parameter [31:0] k[0:63] = {32'habc132, 32'hba324f, ...}; 我正在使用最新版本的iverilog进行编译。在以下使用modelsim 10.1的示例中,该文件的扩展名为.sv,导致它被解释为SystemVerilog: module test; parameter [31:0] k [0:1] = {32'habc

在verilog中,如果每个成员都是32位十六进制表示法数字,如何初始化参数类型数组? 我尝试了以下方法,但它给了我语法错误

parameter [31:0] k[0:63] = {32'habc132, 32'hba324f, ...};
我正在使用最新版本的iverilog进行编译。

在以下使用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不起作用或不适用于您的模拟器,我建议在问题中包含语法错误。

在以下示例中,使用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不起作用或不适用于您的模拟器,我建议在问题中包括语法错误。

可能重复@Greg No,因为这不起作用。Verilog-1995不支持阵列参数。Verilog-2005确实如此,但它表明LRM对多维参数数组不明确,它应该支持它。SystemVerilog的所有版本都支持它,有些需要
'{}
来定义数组。@Greg您是对的。我的编译器似乎不支持它。可能是@Greg No的重复,因为它不起作用。Verilog-1995不支持数组参数。Verilog-2005确实如此,但它表明LRM对多维参数数组不明确,它应该支持它。SystemVerilog的所有版本都支持它,有些需要
'{}
来定义数组。@Greg您是对的。我的编译器似乎不支持它。