SV
class my_env extends uvm_env;
`uvm_component_utils ( my_env )
my_agent agent ; // agent - seqr/driver/monitor
my_fcov fcov_top ;
my_scoreboard scb_top ;
// new
function new ( string name, uvm_component parent );
super.new (name, parent) ;
endfunction
function void build_phase ( uvm_phase phase ) ;
super.build_phase ( phase );
fcov_top = my_fcov::type_id::create ("fcov", this);
scb_top = my_scoreboard:: .... // same as above
endfunction
function void connect_phase ( uvm_phase phase );
super.connect_phase ( phase );
agent.driver.vif = vif ; // one example
endfunction