Tim*_*imm 1 verilog synthesis case-sensitive vhdl case-insensitive
在混合VDHL和Verilog期间,我遇到了区分大小写的问题.
参数"APB_ADDR"以大写形式写入,导线"apb_addr"以小写形式写入.由于Verilog区分大小写,因此两个表达式之间可能不同.
module verilog_module #(
...
parameter APB_ADDR = 32,
...
) (
...
input wire [APB_ADDR-1:0] apb_addr,
input wire apb_sel,
input wire apb_enable,
input wire apb_write
....
);
Run Code Online (Sandbox Code Playgroud)
现在我想在VDHL中实例化模块:
inst0: entity work.verilog_module
GENERIC MAP (
APB_ADDR => APB_ADDR_WIDTH
)
PORT MAP(
...
apb_addr => apb_addr,
...
);
Run Code Online (Sandbox Code Playgroud)
合成失败.通用的"apb_addr"不知道.VHDL没有区分大小写.
如何访问通用APB_ADDR?我不想改变用Verilog编写的IP核.
如果您无法更改IP内核,另一个选项是创建一个包装器(在Verilog中),该包装器实例化核心,设置APB_ADDR参数,并在核心和VHDL实体之间传递apb_addr和其他信号.