What is the use of model.reset() method?

what is the use of model.reset() method in uvm_reg_hw_reset_seq in RAL? I see based on the comments the sequence does the following. It calls model.reset() method, but i coudn’t actually see how it actually drives the reset. Can any one help?

The test sequence performs the following steps
//
// 1. resets the DUT and the
// block abstraction class associated with this sequence.
//
// 2. reads all of the registers in the block,
// via all of the available address maps,
// comparing the value read with the expected reset value.
//

In reply to rag123:

what is the use of model.reset() method in uvm_reg_hw_reset_seq in RAL? I see based on the comments the sequence does the following. It calls model.reset() method, but i coudn’t actually see how it actually drives the reset. Can any one help?

model.reset() resets all the registers m_desired and m_mirrored values.

The reset() method resets the properties of a register field, if the m_reset[kind] exists. The default kind is “HARD”. If the m_reset[kind] does not exist, the reset() method does nothing.

Note that the reset() method does not reset a register in the DUT. It only resets the properties of a register-field object like m_desired, m_mirrored.

In reply to Rahulkumar Patel:

Thanks Rahul. two questions (I am new to RAL)

  1. where can i find more info on this?
  2. How does the DUT registers and UVM RAL class hook up happen?

In reply to rag123:

In reply to Rahulkumar Patel:
Thanks Rahul. two questions (I am new to RAL)

  1. where can i find more info on this?

  2. How does the DUT registers and UVM RAL class hook up happen?

  3. where can i find more info on this?
    There are couple of videos on RAL at Advanced UVM | UVM Track | Track

  4. How does the DUT registers and UVM RAL class hook up happen?

  • Short answer is
    UVM RAL → adapter → driver → DUT
    DUT → monitor-> predictor → adapter → UVM RAL