Test the hard reset values of registers
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.
If bit-type resource named “NO_REG_TESTS” or “NO_REG_HW_RESET_TEST” in the “REG::” namespace matches the full name of the block or register, the block or register is not tested.
uvm_resource_db#(bit)::set({"REG::",regmodel.blk.get_full_name(),".*"}, "NO_REG_TESTS", 1, this);
This is usually the first test executed on any DUT.
uvm_reg_hw_reset_seq | |||||||||||
Test the hard reset values of registers | |||||||||||
Class Hierarchy | |||||||||||
| |||||||||||
Class Declaration | |||||||||||
| |||||||||||
Variables | |||||||||||
model | The block to be tested. | ||||||||||
body | Executes the Hardware Reset sequence. | ||||||||||
Methods | |||||||||||
reset_blk | Reset the DUT that corresponds to the specified block abstraction class. |
The block to be tested. Declared in the base class.
uvm_reg_block model;
virtual task body()
Executes the Hardware Reset sequence. Do not call directly. Use seq.start() instead.
virtual task reset_blk( uvm_reg_block blk )
Reset the DUT that corresponds to the specified block abstraction class.
Currently empty. Will rollback the environment’s phase to the reset phase once the new phasing is available.
In the meantime, the DUT should be reset before executing this test sequence or this method should be implemented in an extension to reset the DUT.
Test the hard reset values of registers
class uvm_reg_hw_reset_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
Executes the Hardware Reset sequence.
virtual task body()
Reset the DUT that corresponds to the specified block abstraction class.
virtual task reset_blk( uvm_reg_block blk )