In reply to chr_sue:
Hi
Thank you for your reply,
I am passing the virtual interface to my config db from tb_top module(which is my top module) below is the code:
module tb_top;
import uvm_pkg::;
import ml_uvm::;
spi_if spi_if();
dut_top dut (
.reset spi_if.reset
.miso spi_if.miso
.mosi spi_if.mosi
.sclk spi_if.sclk
.ss spi_if.ss);
initial begin
uvm_config_db#(virtual spi_if)::set(null,“*”,“spi_if”,spi_if);
end
endmodule
I am creating an object to this config db in base_test(which is my test):
class base_test extends uvm_test;
virtual spi_if spi_if;
env_cfg env_config;
function void build_phase(uvm_phase phase);
super.build_phase(phase);
env_config = new;
if (!uvm_config_db #(virtual spi_if)::get(this,“”,“spi_if”,env_config.spi_if)) begin
`uvm_error(get_type_name,“Cannot find SPI_IF configuration!”)
end
assert(env_config.randomize()) else `uvm_error(“BASE_TEST”, “Randomization Failed”);
uvm_config_db #(env_cfg)::set(this,“*”,“env_config”,env_config );
endfunction
endclass
Thanks