If Cadence tools support VHDL-2008, you can access signals, shared variables, or constants in other levels of your design via external names.
Direct usage is as follows.
A <= <<signal .tb_top.u_comp1.my_sig : std_logic_vector >>;
Note that the object must be elaborated before the reference. Since VHDL designs are elaborated in order of instantiation later designs may reference into earlier ones.
Use an alias to create a local short hand name:
alias u1_my_sig is <<signal u1.my_sig : std_logic_vector >>;
Path starts with:
- “.” = path starts at top level: “.tb_top.my_sig”
- “u1” = path starts from current level: “u1.my_sig”
- “^” = path starts from level above current: “^u2.my_sig”