UVM environment

Hi all,

I’m new to UVM and I’m trying to begin with a simple adder environment and while running simulation in ucli mode I get this error

Error: uninitialized virtual interface object
at time 0 in file adder_driver.sv line 15

my driver code is
class adder_driver extends uvm_driver#(adder_txn);

`uvm_component_utils(adder_driver)
adder_txn i_adder_txn;
function new(string name,uvm_component parent);
super.new(name,parent);
endfunction

virtual adder_if driver_vif;

virtual task run_phase (uvm_phase phase);

// the task
driver_vif.resetb<=1;
driver_vif.en<=0;
driver_vif.opA<=1;
driver_vif.opB<=2;
@(negedge driver_vif.resetb)
@(posedge driver_vif.resetb)

forever begin
seq_item_port.get_next_item(i_adder_txn); //put a handle to transaction
@(posedge driver_vif.clk)
driver_vif.opA<=i_adder_txn.opA;
driver_vif.opB<=i_adder_txn.opB;
driver_vif.en<=1’b1;
@(posedge driver_vif.clk)
driver_vif.en<=1’b0;
seq_item_port.item_done();
end

endtask

endclass

In reply to Ahmed Adel:

The error message points to this line of Code:

virtual adder_if driver_vif;

The virtual Interface is not connected. You have to make this by performing a get to the uvm_config_db.