To clarify, this is not a multi-instance register, but a multi-instance register file. Something like this, e.g.:
class my_address_map extends ovm_rgm_address_map;
rand my_register_file my_register_file_0;
rand my_register_file my_register_file_1;
`ovm_object_utils(my_address_map)
function new(input string name="unnamed-my_address_map");
super.new(name);
set_size(my_size);
// Add first instance to register map
my_register_file_0 = my_register_file::type_id::create("my_register_file_0");
my_register_file_0.set_hdl_path("my_register_file_0");
add_register_file(my_base_0, my_register_file_0, "my_register_file_0");
// Add second instance to register map
my_register_file_1 = my_register_file::type_id::create("my_register_file_1");
my_register_file_1.set_hdl_path("my_register_file_1");
add_register_file(my_base_1, my_register_file_1, "my_register_file_1");
endfunction
endclass : nandctrl_am