I tried simulating a custom IP, having 1 AXI-Full and 1 AXI-Lite interface. Naturally I include both AXI BFM and AXILITE BFM packages, I overload “axi_write” procedure inside a process of the testbench file and used the template given in axi_bfm_QuickRef document.
Modelsim gave an error saying for the line:
variable v_bresp_value : t_xresp;
Error: (vcom-1078) Identifier “t_xresp” is not directly visible.
Potentially visible declerations are:
uvvm_util_axi_bfm_pkg.t_xresp at … axi_bfm_pkg.vhd(37) (type decleration)
uvvm_util_axilite_bfm_pkg.t_xresp at … axilite_bfm_pkg.vhd(36) (type decleration)
This error is due to having the same type declerations in two different packages.
I intended to use t_xresp type of AXI BFM, so I used full package name to the type t_xresp such as:
variable v_bresp_value : uvvm_util_axi_bfm_pkg.t_xresp;
That solved the problem. So I think, in general, if there are multiple declerations of procedures, functions or types in different packages, this is the method to overcome the issue.
Regards,
Burak