blob: 81308af90df549e9bd4501c26c1ae1832c4463f2 [file] [log] [blame] [view]
### dv_base_reg_block
This class extends from uvm_reg_block and is used as the base class of all
auto-generated UVM RAL models for all IPs. This class provides a virtualized
`build(base_addr)` method that is used by the actual derived RAL models to build
the entire RAL structure. An instance of the RAL model is created in `cip_base_cfg`.
The model is however, locked by calling `uvm_reg_block::lock_model()` during
`cip_base_env::end_of_elaboration_phase()` to allow any customizations to
the RAL structures if needed during the`build_phase`.
There are a few enhancement planned in future to this base ral model, that will
automatically be available in the extended IP specific RAL models through
inheritance:
* CSR exclusion automation:
We will add cip_base_reg and cip_base_field extensions to add attributes that
can be automated during the IP ral model auto-generation, which can be used to
exclude certain CSRs and fields from the CSR suite of tests.
* Support parameterized RAL model generation:
In future, we may have parameterized IPs that will have parameterized number of
CSRs / fields. Having this base class provides a path to support this.
TODO add description for the other classes