In reply to chr_sue:
What I mean is, if you are replacing in the test the run_phase by main_phase the jumping never happens. It happens only if you use the run_phase.
Thanks for the inputs. I didn’t knew this. Is it documented somewhere? Can you please point me to some link where I can improvise my knowledge over this.
I tried using the run_phase everywhere in the current code. Then also the same issue of extract phase getting called twice, persists. Now I am using run_phase in environment and test both and jumping to extract_phase. Still I am seeing that extract phase is called twice. Moreover, there is no objection dropping when jump is called.
I have updated the code with “+define+USE_RUN_PH” switch. Refer to the same link for regenerating the issue. (Phase jumping - EDA Playground)
P.S.: I agree that the delay comes from the RTL, but still phase jumping will help in eliminating checks for several thousands of CSR-arrays in my case (these checks are in different components in top level TB).