Hi,
My requirement is to access RTL/DUT internal sub modules for memory backdoor access. But I am working on a project where I could not find how to access RTL from my TestBench using hierarchical approach.
Below is brief description of my TestBench and RTL block,
package test_pkg;
// Here My TestBench/Env files are included
endpackage : test_pkg
program test;
import test_pkg::*;
initial begin
run_test();
end
endprogram : test
// Following wrapper is generated automatically through script,
// And I don't have an access of below module
module top_wrapper;
import test_pkg::*;
DUT dut;
IF my_if;
// From here, virtual interfaces are broadcasted using uvm_config_db using string broadcasting
// Ex. uvm_config_db#(Virtual IF)::set(null, "VerificationAcademy", "VerificationAcademy", my_if);
// There are many other interfaces also broadcasted into testbench using above config db
endmodule : top_wrapper
from above code, I only have an access of program block, Through program I can access DUT using $root.top_wrapper.dut.* but my requirement is to access it from my test_pkg components (ex from Scoreboard). Above program and module are compiled independently.