I am trying to force and release asynchronous reset in my design inside a for loop, it shouts for the error.
Example -
localparam channel = 8
initial
begin
for (int i=0;i<channel;i=i+1) begin
force a.b.c.g[i].d.e.rst_n=0;
#10ns;
release a.b.c.g[i].d.e.rst_n;
end
end
The above example fails during compilation with below error(above example is shortened code):
Error-[XMRE] Cross-module reference resolution error
./…/…//top_tst.sv, 102
Error found while trying to resolve cross-module reference.
token ‘g_xcvr_native_insts’. Originating module ‘top_tst’.
Source info: release
top_inst.topdesign_inst.native_phy_inst.xcvr_native_s10_etile_0.g_xcvr_native_insts[j].ct3_xcvr_native_inst.inst_ct3_xcvr_channel.inst_ct3_hssi_xcvr.ct3_hssi_xcvr_encrypted_inst.ct1_hssirtl_c3xcvr_inst.i_async_reset_n;
If I force and release w/o for loop it works.
Example -
initial
begin
force .....g[0]...=0;
|
|
|..........g[7]...=0;
#10ns;
release ..........
|
|
|....
end
Can you please help me with this issue? Is it that I cannot for and release inside a for loop?
Thanks,
Karma