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 thebuild_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