2014-10-10 55 views
0

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

parameter [31:0] k[0:63] = {32'habc132, 32'hba324f, ...}; 

我正在使用最新版本的iverilog进行编译。

+1

[Verilog中的参数数组]可能重复(http://stackoverflow.com/questions/23507629/parameter-array-in-verilog) – Greg 2014-10-10 15:04:38

+0

@Greg不,因为这不起作用。 – 2014-10-10 17:05:11

+2

Verilog-1995不支持排列参数。 Verilog-2005的确如此,但它对于多维参数数组并不清楚,它应该支持它。所有版本的SystemVerilog都支持它,有些需要''{}'来定义数组。 – Greg 2014-10-10 21:33:41

回答

3

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不工作或者是不适用于您模拟器我建议在问题中包括语法错误。