mehtad Posted July 16, 2014 Report Share Posted July 16, 2014 In our testbench , we have added a new schedule which runs in parallel with uvm_main_phase. This schedule consists of four phase lets say phase a , b , c and d. These phases are added into uvm domain(m_uvm_domain) itself. So the flow looks as shown below: pre_reset_phase | | <Other run time phase > | | Main_phase | phase_a | | | | | phase_b | | | | | phase_c | | | | | phase_d | / | / | / | / | / | / | / | / | / |/ Post_main_phase I want to issue a phase jump from phase_b to pre_reset_phase. So I use uvm_domain::jump. With this, I see that pre_reset_phase is entering twice while it should have entered only once. Phase_b and uvm_main_phase share the same domain i.e m_uvm_domain. Even though there are two active phases in this domain , when a jump is requested jump should happen once. But currently it seems it happens for all the active phases. So we see pre_reset_phase entering twice. Is this expected behavior? Quote Link to comment Share on other sites More sharing options...
mastrick Posted July 17, 2014 Report Share Posted July 17, 2014 Can you describe in more detail what you mean by "pre_reset_phase entering twice"? What are the signs? Quote Link to comment Share on other sites More sharing options...
mehtad Posted July 18, 2014 Author Report Share Posted July 18, 2014 Hi Mastrick, Thanks for showing interest in this topic. When I say pre-reset phase is entering twice, I mean that phase jumping happens twice to pre-reset phase. First time phase jump happens from uvm_main_phase and second time it happens from phase_b( which is a user defined phase). But ideally phase jump should have happened only once , as both these phases belong to same domain i.e uvm domain. Even though they are from separate schedules. Below is my log snippet: ======================== Phase jump from main phase: [38775.8ns] uvm_phase.svh(1314): reporter [PH_JUMP] phase main (schedule uvm_sched, domain uvm) is jumping to phase pre_reset [38775.8ns] uvm_phase.svh(1321): reporter [PH_END] Phase 'uvm.uvm_sched.main' (id=284) JUMPING OUT OF PHASE [38775.8ns] uvm_phase.svh(1124): reporter [PH/TRC/STRT] Phase 'uvm.uvm_sched.pre_reset' (id=200) Starting phase [38775.8ns] uvm_phase.svh(1203): reporter [PH/TRC/SKIP] Phase 'uvm.uvm_sched.pre_reset' (id=200) No objections raised, skipping phase Phase jump from phase_b [38775.8ns] uvm_phase.svh(1314): reporter [PH_JUMP] phase phase_b (schedule pcie_main_schedule, domain uvm) is jumping to phase pre_reset [38775.8ns] uvm_phase.svh(1321): reporter [PH_END] Phase 'uvm.pcie_main_schedule.phase_b' (id=479) JUMPING OUT OF PHASE [38775.8ns] uvm_phase.svh(1124): reporter [PH/TRC/STRT] Phase 'uvm.uvm_sched.pre_reset' (id=200) Starting phase 38775.8ns] uvm_phase.svh(1203): reporter [PH/TRC/SKIP] Phase 'uvm.uvm_sched.pre_reset' (id=200) No objections raised, skipping phase My requirement is to enter into pre-reset phase only once. If it enters twice, my pre-reset phase sequence gets started two times. Quote Link to comment Share on other sites More sharing options...
mehtad Posted July 21, 2014 Author Report Share Posted July 21, 2014 UVM experts, Can anyone please respond on this? Thanks. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.