During mixing VDHL and Verilog I came across a problem with case sensitivity.
The parameter "APB_ADDR" is written in upper case and the wire "apb_addr" in lower case. Since Verilog is case sensitive it can differ between the two expressions.
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
....
);
Now I want to instantiate the module in VDHL:
inst0: entity work.verilog_module
GENERIC MAP (
APB_ADDR => APB_ADDR_WIDTH
)
PORT MAP(
...
apb_addr => apb_addr,
...
);
Synthesis fails. The generic "apb_addr" is not know. VHDL has no case sensitivity.
How can I access the generic APB_ADDR? I don't want to change the IP core written in Verilog.
apb_addrport attributes, and hope that whoever wrote the parts you want to leave alone, kept the generic and bus correctly in step. - user_1818839