Jump to content


  • Content Count

  • Joined

  • Last visited

  1. Hi, I was going through the implementation of update() method for the register model. The uvm_user_guide_1.0 says " update() method invokes the write() method if the desired value (previously modified using set() or randomize()) is different from the mirrored value" But the implementation of update does not seem to take care of desired as well as mirrored value together. update() method invokes write() method even when desired and mirrored values are the same. Is this what expected?
  2. Hi, I have some doubts on the guidelines of using objections. 1) In the uvm user guide I have seen the guideline like " call raise_objection() in pre_body and call drop_objection() in post_body of root sequence". But when we are using macros like `ovm_do etc .. it will not call the pre_body and post_body by default. So this guideline will fail. What is the best approach at this time? 2) If the sequence is non blocking, what is the best guideline to be used for calling the raise_objection and drop_objection? 3) Is it advisable to use objections in the driver or monitor? 4) If the sequence is not a root sequence is it advisable to use objections at the start and end of the body() task? Thanks Ranjith S
  3. Hi, Thanks a lot for your SeanChou. I was trying to understand this objection area in more detail. My basic doubt was that what was the intention of the uvm source code developers to make the all_dropped as a callback? What are all the things that they think to be added besides the source code in all_dropped function?
  4. Hi, I have found that all_dropped has been defined as a callback in uvm which user can extend and modify. But all of the functionality required is alredy defined inside all_dropped() function. So why was it made as a callback? What additional logics could be written inside this all_dropped callback. thanks Ranjith S
  • Create New...