I want to create a generic part of uvm_config_db for 2 interfaces, slave and master for that i have :
tb.sv : first module which has specific interface and must be included in my top_tb.sv (top_level)
but when i try to do this i have this error :
(vlog-2730) Undefined variable: ‘slave_interface’****.
(vlog-2730) Undefined variable: ‘master_interface’****.
this the part of code for this both :
for tb.sv (part of uvm_config_db)__
initial begin
uvm_config_db#(virtual apb_interface)::set(null, "*", "slave_interface", apb_s0);
uvm_config_db#(virtual ahb_interface)::set(null, "*", "master_interface", ahb_m0);
end
A few remarks:
(1) in tb.sv we do not see the instances apb_s0 and apb_m0.Do they exist?
(2) your slave_interface is the sam interface as the master interface. This results from the setings in tb.sv
(3) in top_tb your settings are wrong. The first 2 uvm_config_db shoule be like this:
(4) in top_tb you need also instances for the master and slave interface, respectively.
(5) What is the objective of the uvm_congig_db set commands in top_tb?
It is a little bit confusing what you are coding.
Please explain in some more detail what your objective is.
In reply to uvm_share:
Which simulator you are using?
The code works with VCS and Questa and fails with Xcelium and Riviera. Both simulators cannot deal with
my final objective is to develop unified verif env , for this i need to have a stable part of uvmconfig_db which muste be generic for each interface master and slave. that’s the reason why i declared both types : master and slave