在 VHDL 中使用 Verilog 模块时区分大小写
case sensitivity while using Verilog module in VHDL
在混合 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
....
);
现在我想在VDHL中实例化模块:
inst0: entity work.verilog_module
GENERIC MAP (
APB_ADDR => APB_ADDR_WIDTH
)
PORT MAP(
...
apb_addr => apb_addr,
...
);
合成失败。泛型"apb_addr"不知道。 VHDL 不区分大小写。
如何访问通用 APB_ADDR?我不想改Verilog写的IP核
如果您无法更改 IP 内核,另一种选择是创建一个包装器(在 Verilog 中)实例化内核,设置 APB_ADDR 参数,并传递 apb_addr 和另一个核心和您的 VHDL 实体之间的信号。
在混合 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
....
);
现在我想在VDHL中实例化模块:
inst0: entity work.verilog_module
GENERIC MAP (
APB_ADDR => APB_ADDR_WIDTH
)
PORT MAP(
...
apb_addr => apb_addr,
...
);
合成失败。泛型"apb_addr"不知道。 VHDL 不区分大小写。
如何访问通用 APB_ADDR?我不想改Verilog写的IP核
如果您无法更改 IP 内核,另一种选择是创建一个包装器(在 Verilog 中)实例化内核,设置 APB_ADDR 参数,并传递 apb_addr 和另一个核心和您的 VHDL 实体之间的信号。