Are you creating the lower level environment in your top level env ?
the build phase for the top level env should create any lower level env(s)
e.g.
virtual function void build_phase(uvm_phase phase);
super.build_phase(phase);
block_a_env = block_a_env_t::type_id::create(“block_a_env”,this);
block_a_env.set_config(configuration.block_a_env_config);
block_b_env = block_b_env_t::type_id::create(“block_b_env”,this);
block_b_env.set_config(configuration.block_b_env_config);
endfunction