tree: 6f03aad53fc7e63670757d8d0c357cc926af782d [path history] [tgz]
  1. dv_base_agent.sv
  2. dv_base_agent_cfg.sv
  3. dv_base_agent_cov.sv
  4. dv_base_driver.sv
  5. dv_base_env.sv
  6. dv_base_env_cfg.sv
  7. dv_base_env_cov.sv
  8. dv_base_mem.sv
  9. dv_base_monitor.sv
  10. dv_base_reg.sv
  11. dv_base_reg_block.sv
  12. dv_base_reg_field.sv
  13. dv_base_reg_map.sv
  14. dv_base_scoreboard.sv
  15. dv_base_seq.sv
  16. dv_base_sequencer.sv
  17. dv_base_test.sv
  18. dv_base_virtual_sequencer.sv
  19. dv_base_vseq.sv
  20. dv_lib.core
  21. dv_lib_pkg.sv
  22. README.md
hw/dv/sv/dv_lib/README.md

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