【问题标题】:How to initialize parameter array in verilog?如何在verilog中初始化参数数组?
【发布时间】:2014-10-10 13:41:17
【问题描述】:

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

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

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

【问题讨论】:

  • @Greg 不,因为这不起作用。
  • Verilog-1995 不支持数组参数。 Verilog-2005 可以,但 LRM 没有明确说明多维参数数组,它应该支持它。所有版本的 SystemVerilog 都支持它,有些需要'{} 来定义数组。
  • @Greg 你是对的。好像我的编译器不支持它。

标签: parameters hex verilog


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 2021-07-25
    • 2013-05-04
    • 1970-01-01
    相关资源
    最近更新 更多