Jump to content

[VIP Design] In which run_phase should driver or montior process items and signals?

Recommended Posts

Hi UVM Experts,

I oringally do it in run_phase() since backward compatible, however, there is a signals conflict problem between normal access and reset_phase(). Later I modify it in main_phase(), however, sometimes I hope to use it in configure_phase().

How is your suggest? thanks!

Link to comment
Share on other sites

Accellera are still developing the use models and APIs for new UVM phasing as it relates to sequences, transactors. In the mean time, our recommendation is to wait until that work is done and the API is stable.

For VIP design, code your driver and monitor to use only run_phase() and take care of reset separately - there are normally only 2 situations: (1) the driver/monitor is aware of reset as part of the protocol interface, and adjusts driven signals and monitored reports accordingly (to avoid the kind of signal conflict problem you refer to), and (2) the driver and monitor ignore reset, and some other part of the environment does any required cleanup of stimulus and checks (there should be no signal conflict here - one VIP per signal-group).

[if your particular situation dictates that you _must_ use {reset/configure/main}_phase(), then we recommend you use them only to control what the driver/monitor does in run_phase(), not to directly drive signals. Use the existing semaphore/barrier mechanisms.]

Using only run_phase is backwards-compatible as you say; but it is also forwards-compatible.

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...