UVM RAL Base Classes
This section describes UVM RAL model types, enums and utility classes.
一、UVM RAL types
1、uvm_reg_data_t
- 2-state data value with `UVM_REG_DATA_WIDTH bits
2、uvm_reg_data_logic_t
- 4-state data value with `UVM_REG_DATA_WIDTH bits
3、uvm_reg_addr_t
- 2-state address value with `UVM_REG_ADDR_WIDTH bits
4、uvm_reg_addr_logic_t
- 4-state address value with `UVM_REG_ADDR_WIDTH bits
5、uvm_reg_byte_en_t
- 2-state byte_enable value with `UVM_REG_BYTENABLE_WIDTH bits
6、uvm_reg_cvr_t
- Coverage model value set with `UVM_REG_CVR_WIDTH bits
7、uvm_hdl_path_slice
- Slice of an HDL path
二、UVM RAL Enums
1、uvm_status_e
Return status for register operations
- UVM_IS_OK
- Operation completed successfully
- UVM_NOT_OK
- Operation completed with error
- UVM_HAS_X
- Operation completed successfully bit had unknown bits.
2、uvm_path_e
Path used for register operation
- UVM_FRONTDOOR
- Use the front door
- UVM_BACKDOOR
- Use the back door
- UVM_PREDICT
- Operation derived from observations by a bus monitor via the uvm_reg_predictor class
- UVM_DEFAULT_PATH
- Operation specified by the context
3、uvm_check_e
Read-only or read-and-check
- UVM_NO_CHECK
- Read only
- UVM_CHECK
- Read and check
4、uvm_endianness_e
Specifies byte ordering
- UVM_NO_ENDIAN
- Byte ordering not applicable
- UVM_LITTLE_ENDIAN
- Least-significant bytes first in consecutive addresses
- UVM_BIG_ENDIAN
- Most-significant bytes first in consecutive addresses
- UVM_LITTLE_FIFO
- Least-significant bytes first at the same address
- UVM_BIG_FIFO
- Most-significant bytes first at the same address
5、uvm_elem_kind_e
Type of element being read or written
- UVM_REG
- Register
- UVM_FIELD
- Field
- UVM_MEM
- Memory location
6、uvm_access_e
Type of operation begin performed
- UVM_READ
- Read operation
- UVM_WRITE
- Write operation
7、uvm_hier_e
Whether to provide the requested information from a hierarchical context.
- UVM_NO_HIER
- Provide info from the local context
- UVM_HIER
- Provide info based on the hierarchical context
8、uvm_predict_e
How the mirror is to be updated
- UVM_PREDICT_DIRECT
- Predicted value is as-is
- UVM_PREDICT_READ
- Predict based on the specified value having been read
- UVM_PREDICT_WRITE
- Predict based on the specified value having been written
9、uvm_coverage_model_e
Coverage models available or desired. Multiple models may be specified by bitwise OR’ing individual model identifiers.
- UVM_NO_COVERAGE
- None
- UVM_CVR_REG_BITS
- Individual register bits
- UVM_CVR_ADDR_MAP
- Individual register and memory addresses
- UVM_CVR_FIELD_VALS
- Field values
- UVM_CVR_ALL
- All coverage models
10、uvm_reg_mem_tests_e
Select which pre-defined test sequence to execute. Multiple test sequences may be selected by bit-wise OR’ing their respective symbolic values.
- UVM_DO_REG_HW_RESET
- Run uvm_reg_hw_reset_seq
- UVM_DO_REG_BIT_BASH
- Run uvm_reg_bit_bash_seq
- UVM_DO_REG_ACCESS
- Run uvm_reg_access_seq
- UVM_DO_MEM_ACCESS
- Run uvm_mem_access_seq
- UVM_DO_SHARED_ACCESS
- Run uvm_reg_mem_shared_access_seq
- UVM_DO_MEM_WALK
- Run uvm_mem_walk_seq
- UVM_DO_ALL_REG_MEM_TESTS
- Run all of the above