我试图在SystemVerilog源中声明一个动态数组,但是收到如下错误:
仅在SystemVerilog中允许动态范围。
我使用的工具是ModelSim。这段代码是这样的:
module sv1;
reg [7:0] memory []; // 8 bit memory with 16 entries
endmodule
有什么可能的问题?
答案 0 :(得分:1)
您的代码没有问题。唯一的问题是您使用的模拟器不支持SystemVerilog。
尝试使用SystemVerilog代码答案 1 :(得分:1)
大多数工具将命令行或项目列表中的源文件视为Verilog,除非您为文件指定*.sv
扩展名以将其识别为SystemVerilog。原因是仍有许多工具不支持SystemVerilog,您必须明确要求它。
还有一个ModelSim -sv
开关,它将所有文件视为SystemVerilog,但如果您的旧版Verilog代码使用System bit
之类的SystemVerilog保留关键字,则可能会遇到编译问题。