Sia*_*hei 2 verilog system-verilog
我正在尝试在Modelsim中编译以下代码:
module ctrl_mem
#(
parameter BYTE_SIZE = 256
)
(
input [ADDR_W - 1 : 0] i_addr,
...
...
);
localparam ADDR_W = $clog2(BYTE_SIZE);
Run Code Online (Sandbox Code Playgroud)
Modelsim写道,ADDR_W未知.这里讨论了类似的问题,但没有涉及到 Modelsim的行为,不幸的是我不能评论它来问这个问题.
是否有可能在没有代码修改的情况下修复此问题?
我使用的是Modelsim Altera入门版10.3c
您的代码不合法.Verilog/SystemVerilog LRM要求在引用之前声明简单的标识符(那些没有后跟' . '或' ( ')的标识符.编写此模块的正确方法是
module ctrl_mem
#(
parameter BYTE_SIZE = 256, localparam ADDR_W = $clog2(BYTE_SIZE)
)
(
input [ADDR_W - 1 : 0] i_addr,
...
...
);
Run Code Online (Sandbox Code Playgroud)