zgl5566 Posted April 24, 2015 Report Share Posted April 24, 2015 I found that UVM register model use semaphore to avoid conflicts, and this may cause some problems: (1) when one sequence is writing some registers, and at the mean time, a UVM_BACK_DOOR is reading some registers, conflict happened. I found that the uvm_back_door reading is stoped.( in m_atomic.get(1) ) (2)another scenario: when config the registers using uvm register model in one sequence, one on fly reset happened, so I need to kill the sequence. and then uvm_do_on this sequence again. One problem came up, the second sequence will stop at the same writing register as the first sequence. I guess it also because the semaphore problems. I hope that someone will help me to solve this problems. Thanks. Quote Link to comment Share on other sites More sharing options...
uwes Posted April 27, 2015 Report Share Posted April 27, 2015 hi, you need to clear the access semaphore upon a reset using <block>.reset() or register.reset() /uwe 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.