如何在系统verilog中声明动态数组

时间:2015-04-16 10:53:55

标签: system-verilog modelsim

我试图在SystemVerilog源中声明一个动态数组,但是收到如下错误:

  

仅在SystemVerilog中允许动态范围。

我使用的工具是ModelSim。这段代码是这样的:

module sv1;

  reg [7:0] memory []; // 8 bit memory with 16 entries

endmodule

有什么可能的问题?

2 个答案:

答案 0 :(得分:1)

您的代码没有问题。唯一的问题是您使用的模拟器不支持SystemVerilog。

您可以在http://edaplayground.com

尝试使用SystemVerilog代码

答案 1 :(得分:1)

大多数工具将命令行或项目列表中的源文件视为Verilog,除非您为文件指定*.sv扩展名以将其识别为SystemVerilog。原因是仍有许多工具不支持SystemVerilog,您必须明确要求它。

还有一个ModelSim -sv开关,它将所有文件视为SystemVerilog,但如果您的旧版Verilog代码使用System bit之类的SystemVerilog保留关键字,则可能会遇到编译问题。