SeanChou Posted July 10, 2012 Report Share Posted July 10, 2012 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! Quote Link to comment Share on other sites More sharing options...
gordon Posted July 11, 2012 Report Share Posted July 11, 2012 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. Quote Link to comment Share on other sites More sharing options...
SeanChou Posted July 12, 2012 Author Report Share Posted July 12, 2012 Thanks Gordon's good anwser for this, they should be separated into 2 things. 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.