Jump to content

phasing in uvm-1.0

Recommended Posts

UVM-1.0 Phasing, Presently user guide does not contain any information about it, So I read the reference HTML docs. Got couple of questions(could be silly!), here they are.

1. Correct me if wrong, run_phase() gets kicked off and runs in parallel to all others task based phases (pre_reset_phase through post_shutdown_phase. Right?

2. What is the exact difference between run_phase and main_phase? Both seems to be looking similar. What should be the choice to select one for the actual run thread of a transactor/driver/monitor or any other component? Is run_phase provided just for the backward compatibilty?

3. From reference HTML it looks like, once all the run_phase() methods are completed(and their objections are dropped) simulation ends (after extract,report etc phases..). What if other phases such as main_phase, are running and all run_phase gets completed?


Edited by shunty
Link to comment
Share on other sites


answering your questions:

#1 yes

#2 the difference is (as noted before) run* gets spawned in parallel to all other runtime phases. main IS one of a set of runtime phases. "run" is there to support old-style OVM/UVM10EA envs within UVM10.

#3 once all fine-grained phases have ended and the parallel run has ended simulation progresses to extract, report etc

Link to comment
Share on other sites

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.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...