Package uvm_pkg
Classes
- Class get_t
- Class sev_id_struct
- Class uvm_agent
- Class uvm_algorithmic_comparator
- Class uvm_analysis_export
- Class uvm_analysis_imp
- Class uvm_analysis_port
- Class uvm_barrier
- Class uvm_bit_rsrc
- Class uvm_blocking_get_export
- Class uvm_blocking_get_imp
- Class uvm_blocking_get_peek_export
- Class uvm_blocking_get_peek_imp
- Class uvm_blocking_get_peek_port
- Class uvm_blocking_get_port
- Class uvm_blocking_master_export
- Class uvm_blocking_master_imp
- Class uvm_blocking_master_port
- Class uvm_blocking_peek_export
- Class uvm_blocking_peek_imp
- Class uvm_blocking_peek_port
- Class uvm_blocking_put_export
- Class uvm_blocking_put_imp
- Class uvm_blocking_put_port
- Class uvm_blocking_slave_export
- Class uvm_blocking_slave_imp
- Class uvm_blocking_slave_port
- Class uvm_blocking_transport_export
- Class uvm_blocking_transport_imp
- Class uvm_blocking_transport_port
- Class uvm_bottom_up_visitor_adapter
- Class uvm_bottomup_phase
- Class uvm_build_phase
- Class uvm_built_in_clone
- Class uvm_built_in_comp
- Class uvm_built_in_converter
- Class uvm_built_in_pair
- Class uvm_by_level_visitor_adapter
- Class uvm_byte_rsrc
- Class uvm_callback
- Class uvm_callback_iter
- Class uvm_callbacks
- Class uvm_callbacks_base
- Class uvm_cause_effect_link
- Class uvm_check_phase
- Class uvm_class_clone
- Class uvm_class_comp
- Class uvm_class_converter
- Class uvm_class_pair
- Class uvm_cmd_line_verb
- Class uvm_cmdline_processor
- Class uvm_comparer
- Class uvm_component
- Class uvm_component_name_check_visitor
- Class uvm_component_proxy
- Class uvm_component_registry
- Class uvm_config_db
- Class uvm_config_db_options
- Class uvm_config_object_wrapper
- Class uvm_configure_phase
- Class uvm_connect_phase
- Class uvm_coreservice_t
- Class uvm_default_coreservice_t
- Class uvm_default_factory
- Class uvm_default_report_server
- Class uvm_derived_callbacks
- Class uvm_domain
- Class uvm_driver
- Class uvm_end_of_elaboration_phase
- Class uvm_enum_wrapper
- Class uvm_env
- Class uvm_event
- Class uvm_event_base
- Class uvm_event_callback
- Class uvm_exhaustive_sequence
- Class uvm_extract_phase
- Class uvm_factory
- Class uvm_factory_override
- Class uvm_factory_queue_class
- Class uvm_final_phase
- Class uvm_get_export
- Class uvm_get_imp
- Class uvm_get_peek_export
- Class uvm_get_peek_imp
- Class uvm_get_peek_port
- Class uvm_get_port
- Class uvm_get_to_lock_dap
- Class uvm_hdl_path_concat
- Class uvm_heartbeat
- Class uvm_heartbeat_callback
- Class uvm_in_order_built_in_comparator
- Class uvm_in_order_class_comparator
- Class uvm_in_order_comparator
- Class uvm_int_rsrc
- Class uvm_line_printer
- Class uvm_link_base
- Class uvm_main_phase
- Class uvm_master_export
- Class uvm_master_imp
- Class uvm_master_port
- Class uvm_mem
- Class uvm_mem_access_seq
- Class uvm_mem_mam
- Class uvm_mem_mam_cfg
- Class uvm_mem_mam_policy
- Class uvm_mem_region
- Class uvm_mem_shared_access_seq
- Class uvm_mem_single_access_seq
- Class uvm_mem_single_walk_seq
- Class uvm_mem_walk_seq
- Class uvm_monitor
- Class uvm_nonblocking_get_export
- Class uvm_nonblocking_get_imp
- Class uvm_nonblocking_get_peek_export
- Class uvm_nonblocking_get_peek_imp
- Class uvm_nonblocking_get_peek_port
- Class uvm_nonblocking_get_port
- Class uvm_nonblocking_master_export
- Class uvm_nonblocking_master_imp
- Class uvm_nonblocking_master_port
- Class uvm_nonblocking_peek_export
- Class uvm_nonblocking_peek_imp
- Class uvm_nonblocking_peek_port
- Class uvm_nonblocking_put_export
- Class uvm_nonblocking_put_imp
- Class uvm_nonblocking_put_port
- Class uvm_nonblocking_slave_export
- Class uvm_nonblocking_slave_imp
- Class uvm_nonblocking_slave_port
- Class uvm_nonblocking_transport_export
- Class uvm_nonblocking_transport_imp
- Class uvm_nonblocking_transport_port
- Class uvm_obj_rsrc
- Class uvm_object
- Class uvm_object_registry
- Class uvm_object_string_pool
- Class uvm_object_wrapper
- Class uvm_objection
- Class uvm_objection_callback
- Class uvm_objection_context_object
- Class uvm_objection_events
- Class uvm_packer
- Class uvm_parent_child_link
- Class uvm_peek_export
- Class uvm_peek_imp
- Class uvm_peek_port
- Class uvm_phase
- Class uvm_phase_cb
- Class uvm_phase_state_change
- Class uvm_pool
- Class uvm_port_base
- Class uvm_port_component
- Class uvm_port_component_base
- Class uvm_post_configure_phase
- Class uvm_post_main_phase
- Class uvm_post_reset_phase
- Class uvm_post_shutdown_phase
- Class uvm_pre_configure_phase
- Class uvm_pre_main_phase
- Class uvm_pre_reset_phase
- Class uvm_pre_shutdown_phase
- Class uvm_predict_s
- Class uvm_printer
- Class uvm_printer_knobs
- Class uvm_push_driver
- Class uvm_push_sequencer
- Class uvm_put_export
- Class uvm_put_imp
- Class uvm_put_port
- Class uvm_queue
- Class uvm_random_sequence
- Class uvm_random_stimulus
- Class uvm_recorder
- Class uvm_reg
- Class uvm_reg_access_seq
- Class uvm_reg_adapter
- Class uvm_reg_backdoor
- Class uvm_reg_bit_bash_seq
- Class uvm_reg_block
- Class uvm_reg_cbs
- Class uvm_reg_field
- Class uvm_reg_fifo
- Class uvm_reg_file
- Class uvm_reg_frontdoor
- Class uvm_reg_hw_reset_seq
- Class uvm_reg_indirect_data
- Class uvm_reg_indirect_ftdr_seq
- Class uvm_reg_item
- Class uvm_reg_map
- Class uvm_reg_map_info
- Class uvm_reg_mem_access_seq
- Class uvm_reg_mem_built_in_seq
- Class uvm_reg_mem_hdl_paths_seq
- Class uvm_reg_mem_shared_access_seq
- Class uvm_reg_predictor
- Class uvm_reg_read_only_cbs
- Class uvm_reg_sequence
- Class uvm_reg_shared_access_seq
- Class uvm_reg_single_access_seq
- Class uvm_reg_single_bit_bash_seq
- Class uvm_reg_tlm_adapter
- Class uvm_reg_transaction_order_policy
- Class uvm_reg_write_only_cbs
- Class uvm_related_link
- Class uvm_report_catcher
- Class uvm_report_handler
- Class uvm_report_message
- Class uvm_report_message_element_base
- Class uvm_report_message_element_container
- Class uvm_report_message_int_element
- Class uvm_report_message_object_element
- Class uvm_report_message_string_element
- Class uvm_report_object
- Class uvm_report_phase
- Class uvm_report_server
- Class uvm_reset_phase
- Class uvm_resource
- Class uvm_resource_base
- Class uvm_resource_db
- Class uvm_resource_db_options
- Class uvm_resource_options
- Class uvm_resource_pool
- Class uvm_resource_types
- Class uvm_root
- Class uvm_run_phase
- Class uvm_scope_stack
- Class uvm_scoreboard
- Class uvm_seed_map
- Class uvm_seq_item_pull_export
- Class uvm_seq_item_pull_imp
- Class uvm_seq_item_pull_port
- Class uvm_sequence
- Class uvm_sequence_base
- Class uvm_sequence_item
- Class uvm_sequence_library
- Class uvm_sequence_library_cfg
- Class uvm_sequence_process_wrapper
- Class uvm_sequence_request
- Class uvm_sequencer
- Class uvm_sequencer_analysis_fifo
- Class uvm_sequencer_base
- Class uvm_sequencer_param_base
- Class uvm_set_before_get_dap
- Class uvm_set_get_dap_base
- Class uvm_shutdown_phase
- Class uvm_simple_lock_dap
- Class uvm_simple_sequence
- Class uvm_slave_export
- Class uvm_slave_imp
- Class uvm_slave_port
- Class uvm_spell_chkr
- Class uvm_sqr_if_base
- Class uvm_start_of_simulation_phase
- Class uvm_status_container
- Class uvm_string_rsrc
- Class uvm_structure_proxy
- Class uvm_subscriber
- Class uvm_table_printer
- Class uvm_task_phase
- Class uvm_test
- Class uvm_test_done_objection
- Class uvm_text_recorder
- Class uvm_text_tr_database
- Class uvm_text_tr_stream
- Class uvm_tlm_analysis_fifo
- Class uvm_tlm_b_initiator_socket
- Class uvm_tlm_b_initiator_socket_base
- Class uvm_tlm_b_passthrough_initiator_socket
- Class uvm_tlm_b_passthrough_initiator_socket_base
- Class uvm_tlm_b_passthrough_target_socket
- Class uvm_tlm_b_passthrough_target_socket_base
- Class uvm_tlm_b_target_socket
- Class uvm_tlm_b_target_socket_base
- Class uvm_tlm_b_transport_export
- Class uvm_tlm_b_transport_imp
- Class uvm_tlm_b_transport_port
- Class uvm_tlm_event
- Class uvm_tlm_extension
- Class uvm_tlm_extension_base
- Class uvm_tlm_fifo
- Class uvm_tlm_fifo_base
- Class uvm_tlm_generic_payload
- Class uvm_tlm_if
- Class uvm_tlm_if_base
- Class uvm_tlm_nb_initiator_socket
- Class uvm_tlm_nb_initiator_socket_base
- Class uvm_tlm_nb_passthrough_initiator_socket
- Class uvm_tlm_nb_passthrough_initiator_socket_base
- Class uvm_tlm_nb_passthrough_target_socket
- Class uvm_tlm_nb_passthrough_target_socket_base
- Class uvm_tlm_nb_target_socket
- Class uvm_tlm_nb_target_socket_base
- Class uvm_tlm_nb_transport_bw_export
- Class uvm_tlm_nb_transport_bw_imp
- Class uvm_tlm_nb_transport_bw_port
- Class uvm_tlm_nb_transport_fw_export
- Class uvm_tlm_nb_transport_fw_imp
- Class uvm_tlm_nb_transport_fw_port
- Class uvm_tlm_req_rsp_channel
- Class uvm_tlm_time
- Class uvm_tlm_transport_channel
- Class uvm_top_down_visitor_adapter
- Class uvm_topdown_phase
- Class uvm_tr_database
- Class uvm_tr_stream
- Class uvm_transaction
- Class uvm_transport_export
- Class uvm_transport_imp
- Class uvm_transport_port
- Class uvm_tree_printer
- Class uvm_typed_callbacks
- Class uvm_typeid
- Class uvm_typeid_base
- Class uvm_utils
- Class uvm_visitor
- Class uvm_visitor_adapter
- Class uvm_void
- Class uvm_vreg
- Class uvm_vreg_cbs
- Class uvm_vreg_field
- Class uvm_vreg_field_cbs
Name |
Actual Type |
Description |
---|---|---|
UVM_SEQ_ARB_TYPE |
||
uvm_action |
int |
|
uvm_barrier_pool |
||
uvm_bitstream_t |
logic signed[UVM_STREAMBITS-1:0] |
The bitstream type is used as a argument type for passing integral values in such methods as uvm_object::set_int_local, uvm_config_int, uvm_printer::print_field, uvm_recorder::record_field, uvm_packer::pack_field and uvm_packer::unpack_field. |
uvm_callbacks_objection |
Typedef Exists for backwards compat |
|
uvm_config_int |
Convenience type for uvm_config_db#(uvm_bitstream_t) typedef uvm_config_db#(uvm_bitstream_t) uvm_config_int;
|
|
uvm_config_object |
Convenience type for uvm_config_db#(uvm_object) typedef uvm_config_db#(uvm_object) uvm_config_object;
|
|
uvm_config_seq |
Copyright 2007-2011 Mentor Graphics Corporation Copyright 2007-2011 Cadence Design Systems, Inc. Copyright 2010-2011 Synopsys, Inc. Copyright 2013-2014 NVIDIA Corporation All Rights Reserved Worldwide Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. |
|
uvm_config_string |
Convenience type for uvm_config_db#(string) typedef uvm_config_db#(string) uvm_config_string;
|
|
uvm_config_wrapper |
Convenience type for uvm_config_db#(uvm_object_wrapper) typedef uvm_config_db#(uvm_object_wrapper) uvm_config_wrapper;
|
|
uvm_default_driver_type |
||
uvm_default_sequence_type |
||
uvm_default_sequencer_param_type |
uvm_sequencer_param_base#(uvm_sequence_item, uvm_sequence_item) |
|
uvm_default_sequencer_type |
||
uvm_event_pool |
||
uvm_hdl_data_t |
logic[UVM_HDL_MAX_WIDTH-1:0] |
|
uvm_heartbeat_cbs_t |
||
uvm_id_actions_array |
||
uvm_id_file_array |
||
uvm_id_verbosities_array |
||
uvm_integral_t |
logic signed[63:0] |
The integral type is used as a argument type for passing integral values of 64 bits or less in such methods as uvm_printer::print_field_int, uvm_recorder::record_field_int, uvm_packer::pack_field_int and uvm_packer::unpack_field_int. |
uvm_mem_cb |
Convenience callback type declaration for memories Use this declaration to register memory callbacks rather than the more verbose parameterized class |
|
uvm_mem_cb_iter |
Convenience callback iterator type declaration for memories Use this declaration to iterate over registered memory callbacks rather than the more verbose parameterized class |
|
uvm_objection_cbs_t |
||
uvm_pack_bitstream_t |
bit signed[(4096*8)-1:0] |
CLASS uvm_packer The uvm_packer class provides a policy object for packing and unpacking uvm_objects. The policies determine how packing and unpacking should be done. Packing an object causes the object to be placed into a bit (byte or int) array. If the uvm_field_* macro are used to implement pack and unpack, by default no metadata information is stored for the packing of dynamic objects (strings, arrays, class objects). |
uvm_phase_cb_pool |
Convenience type for the uvm_callbacks#(uvm_phase, uvm_phase_cb) class. |
|
uvm_port_list |
||
uvm_reg_addr_logic_t |
logic unsigned[64-1:0] |
4-state address value with UVM_REG_ADDR_WIDTH bits |
uvm_reg_addr_t |
bit unsigned[64-1:0] |
2-state address value with UVM_REG_ADDR_WIDTH bits |
uvm_reg_bd_cb |
Convenience callback type declaration for backdoor Use this declaration to register register backdoor callbacks rather than the more verbose parameterized class |
|
uvm_reg_bd_cb_iter |
Convenience callback iterator type declaration for backdoor Use this declaration to iterate over registered register backdoor callbacks rather than the more verbose parameterized class |
|
uvm_reg_byte_en_t |
bit unsigned[((64-1)/8+1)-1:0] |
2-state byte_enable value with UVM_REG_BYTENABLE_WIDTH bits |
uvm_reg_cb |
Convenience callback type declaration for registers Use this declaration to register the register callbacks rather than the more verbose parameterized class |
|
uvm_reg_cb_iter |
Convenience callback iterator type declaration for registers Use this declaration to iterate over registered register callbacks rather than the more verbose parameterized class |
|
uvm_reg_cvr_rsrc_db |
||
uvm_reg_cvr_t |
bit[32-1:0] |
Coverage model value set with UVM_REG_CVR_WIDTH bits. Symbolic values for individual coverage models are defined by the uvm_coverage_model_e type. The following bits in the set are assigned as follows 0-7 UVM pre-defined coverage models 8-15 Coverage models defined by EDA vendors, implemented in a register model generator. 16-23 User-defined coverage models 24.. Reserved |
uvm_reg_data_logic_t |
logic unsigned[64-1:0] |
4-state data value with UVM_REG_DATA_WIDTH bits |
uvm_reg_data_t |
bit unsigned[64-1:0] |
2-state data value with UVM_REG_DATA_WIDTH bits |
uvm_reg_field_cb |
Convenience callback type declaration for fields Use this declaration to register field callbacks rather than the more verbose parameterized class |
|
uvm_reg_field_cb_iter |
Convenience callback iterator type declaration for fields Use this declaration to iterate over registered field callbacks rather than the more verbose parameterized class |
|
uvm_report_cb |
||
uvm_report_cb_iter |
||
uvm_sequence_state_enum |
backward compat |
|
uvm_sev_override_array |
||
uvm_severity_type |
||
uvm_table_printer_knobs |
||
uvm_tlm_gp |
This typedef provides a short, more convenient name for the uvm_tlm_generic_payload type. |
|
uvm_tree_printer_knobs |
||
uvm_virtual_sequencer |
||
uvm_vreg_cb |
Convenience callback type declaration Use this declaration to register virtual register callbacks rather than the more verbose parameterized class |
|
uvm_vreg_cb_iter |
Convenience callback iterator type declaration Use this declaration to iterate over registered virtual register callbacks rather than the more verbose parameterized class |
|
uvm_vreg_field_cb |
Convenience callback type declaration Use this declaration to register virtual field callbacks rather than the more verbose parameterized class |
|
uvm_vreg_field_cb_iter |
Convenience callback iterator type declaration Use this declaration to iterate over registered virtual field callbacks rather than the more verbose parameterized class |
Enums
- uvm_access_e [source]
Type of operation begin performed
UVM_READ
Read operation
UVM_WRITE
Write operation
- Enum Items :
-
- UVM_READ
- UVM_WRITE
- UVM_BURST_READ
- UVM_BURST_WRITE
- Enum Items :
-
- UVM_NO_ACTION = 'b0000000
- UVM_DISPLAY = 'b0000001
- UVM_LOG = 'b0000010
- UVM_COUNT = 'b0000100
- UVM_EXIT = 'b0001000
- UVM_CALL_HOOK = 'b0010000
- UVM_STOP = 'b0100000
- UVM_RM_RECORD = 'b1000000
- uvm_active_passive_enum [source]
Convenience value to define whether a component, usually an agent, is in "active" mode or "passive" mode.
UVM_PASSIVE
"Passive" mode
UVM_ACTIVE
"Active" mode
- Enum Items :
-
- UVM_PASSIVE = 0
- UVM_ACTIVE = 1
- Enum Items :
-
- UVM_APPEND
- UVM_PREPEND
- Enum Items :
-
- UVM_NO_CHECK
- UVM_CHECK
- uvm_coverage_model_e [source]
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
- Enum Items :
-
- UVM_NO_COVERAGE = 'h0000
- UVM_CVR_REG_BITS = 'h0001
- UVM_CVR_ADDR_MAP = 'h0002
- UVM_CVR_FIELD_VALS = 'h0004
- UVM_CVR_ALL = -1
- uvm_elem_kind_e [source]
Type of element being read or written
UVM_REG
Register
UVM_FIELD
Field
UVM_MEM
Memory location
- Enum Items :
-
- UVM_REG
- UVM_FIELD
- UVM_MEM
- uvm_endianness_e [source]
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
- Enum Items :
-
- UVM_NO_ENDIAN
- UVM_LITTLE_ENDIAN
- UVM_BIG_ENDIAN
- UVM_LITTLE_FIFO
- UVM_BIG_FIFO
- Enum Items :
-
- UVM_ALL_ACTIVE
- UVM_ONE_ACTIVE
- UVM_ANY_ACTIVE
- UVM_NO_HB_MODE
- uvm_hier_e [source]
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
- Enum Items :
-
- UVM_NO_HIER
- UVM_HIER
- uvm_objection_event [source]
Enumerated the possible objection events one could wait on. See uvm_objection::wait_for.
UVM_RAISED
an objection was raised
UVM_DROPPED
an objection was raised
UVM_ALL_DROPPED
all objections have been dropped
- Enum Items :
-
- UVM_RAISED = 'h01
- UVM_DROPPED = 'h02
- UVM_ALL_DROPPED = 'h04
- uvm_path_e [source]
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
- Enum Items :
-
- UVM_FRONTDOOR
- UVM_BACKDOOR
- UVM_PREDICT
- UVM_DEFAULT_PATH
- uvm_phase_state [source]
The set of possible states of a phase. This is an attribute of a schedule node in the graph, not of a phase, to maintain independent per-domain state
UVM_PHASE_UNINITIALIZED
The state is uninitialized. This is the default state for phases, and for nodes which have not yet been added to a schedule.
UVM_PHASE_DORMANT
The schedule is not currently operating on the phase node, however it will be scheduled at some point in the future.
UVM_PHASE_SCHEDULED
At least one immediate predecessor has completed. Scheduled phases block until all predecessors complete or until a jump is executed.
UVM_PHASE_SYNCING
All predecessors complete, checking that all synced phases (e.g. across domains) are at or beyond this point
UVM_PHASE_STARTED
phase ready to execute, running phase_started() callback
UVM_PHASE_EXECUTING
An executing phase is one where the phase callbacks are being executed. Its process is tracked by the phaser.
UVM_PHASE_READY_TO_END
no objections remain in this phase or in any predecessors of its successors or in any sync'd phases. This state indicates an opportunity for any phase that needs extra
time for a clean exit to raise an objection, thereby causing a return to UVM_PHASE_EXECUTING. If no objection is raised, state will transition to UVM_PHASE_ENDED after a delta cycle. (An example of predecessors of successors: The successor to phase 'run' is 'extract', whose predecessors are 'run' and 'post_shutdown'. Therefore, 'run' will go to this state when both its objections and those of 'post_shutdown' are all dropped.UVM_PHASE_ENDED
phase completed execution, now running phase_ended() callback
UVM_PHASE_JUMPING
all processes related to phase are being killed and all predecessors are forced into the DONE state.
UVM_PHASE_CLEANUP
all processes related to phase are being killed
UVM_PHASE_DONE
A phase is done after it terminated execution. Becoming done may enable a waiting successor phase to execute.
The state transitions occur as follows:
UNINITIALIZED -> DORMANT -> SCHED -> SYNC -> START -> EXEC -> READY -> END -+-> CLEAN -> DONE ^ | | <-- jump_to | +-------------------------------------------- JUMPING< -+
- Enum Items :
-
- UVM_PHASE_UNINITIALIZED = 0
- UVM_PHASE_DORMANT = 1
- UVM_PHASE_SCHEDULED = 2
- UVM_PHASE_SYNCING = 4
- UVM_PHASE_STARTED = 8
- UVM_PHASE_EXECUTING = 16
- UVM_PHASE_READY_TO_END = 32
- UVM_PHASE_ENDED = 64
- UVM_PHASE_CLEANUP = 128
- UVM_PHASE_DONE = 256
- UVM_PHASE_JUMPING = 512
- uvm_phase_type [source]
This is an attribute of a uvm_phase object which defines the phase type.
UVM_PHASE_IMP
The phase object is used to traverse the component hierarchy and call the component phase method as well as the phase_started and phase_ended callbacks. These nodes are created by the phase macros, uvm_builtin_task_phase, uvm_builtin_topdown_phase, and uvm_builtin_bottomupphase. These nodes represent the phase type, i.e. uvm_runphase, uvm_main_phase.
UVM_PHASE_NODE
The object represents a simple node instance in the graph. These nodes will contain a reference to their corresponding IMP object.
UVM_PHASE_SCHEDULE
The object represents a portion of the phasing graph, typically consisting of several NODE types, in series, parallel, or both.
UVM_PHASE_TERMINAL
This internal object serves as the termination NODE for a SCHEDULE phase object.
UVM_PHASE_DOMAIN
This object represents an entire graph segment that executes in parallel with the 'run' phase. Domains may define any network of NODEs and SCHEDULEs. The built-in domain, uvm , consists of a single schedule of all the run-time phases, starting with pre_reset and ending with post_shutdown .
- Enum Items :
-
- UVM_PHASE_IMP
- UVM_PHASE_NODE
- UVM_PHASE_TERMINAL
- UVM_PHASE_SCHEDULE
- UVM_PHASE_DOMAIN
- UVM_PHASE_GLOBAL
- uvm_port_type_e [source]
Specifies the type of port
UVM_PORT
The port requires the interface that is its type parameter.
UVM_EXPORT
The port provides the interface that is its type parameter via a connection to some other export or implementation.
UVM_IMPLEMENTATION
The port provides the interface that is its type parameter, and it is bound to the component that implements the interface.
- Enum Items :
-
- UVM_PORT
- UVM_EXPORT
- UVM_IMPLEMENTATION
- uvm_predict_e [source]
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
- Enum Items :
-
- UVM_PREDICT_DIRECT
- UVM_PREDICT_READ
- UVM_PREDICT_WRITE
- uvm_radix_enum [source]
Specifies the radix to print or record in.
UVM_BIN
Selects binary (%b) format
UVM_DEC
Selects decimal (%d) format
UVM_UNSIGNED
Selects unsigned decimal (%u) format
UVM_UNFORMAT2
Selects unformatted 2 value data (%u) format
UVM_UNFORMAT4
Selects unformatted 4 value data (%z) format
UVM_OCT
Selects octal (%o) format
UVM_HEX
Selects hexadecimal (%h) format
UVM_STRING
Selects string (%s) format
UVM_TIME
Selects time (%t) format
UVM_ENUM
Selects enumeration value (name) format
UVM_REAL
Selects real (%g) in exponential or decimal format, whichever format results in the shorter printed output
UVM_REAL_DEC
Selects real (%f) in decimal format
UVM_REAL_EXP
Selects real (%e) in exponential format
- Enum Items :
-
- UVM_BIN = 'h1000000
- UVM_DEC = 'h2000000
- UVM_UNSIGNED = 'h3000000
- UVM_UNFORMAT2 = 'h4000000
- UVM_UNFORMAT4 = 'h5000000
- UVM_OCT = 'h6000000
- UVM_HEX = 'h7000000
- UVM_STRING = 'h8000000
- UVM_TIME = 'h9000000
- UVM_ENUM = 'ha000000
- UVM_REAL = 'hb000000
- UVM_REAL_DEC = 'hc000000
- UVM_REAL_EXP = 'hd000000
- UVM_NORADIX = 0
- uvm_recursion_policy_enum [source]
Specifies the policy for copying objects.
UVM_DEEP
Objects are deep copied (object must implement uvm_object::copy method)
UVM_SHALLOW
Objects are shallow copied using default SV copy.
UVM_REFERENCE
Only object handles are copied.
- Enum Items :
-
- UVM_DEFAULT_POLICY = 0
- UVM_DEEP = 'h400
- UVM_SHALLOW = 'h800
- UVM_REFERENCE = 'h1000
- uvm_reg_mem_tests_e [source]
Select which pre-defined test sequence to execute.
Multiple test sequences may be selected by bitwise OR'ing their respective symbolic values.
UVM_DO_REG_HW_RESET
UVM_DO_REG_BIT_BASH
UVM_DO_REG_ACCESS
UVM_DO_MEM_ACCESS
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
Test sequences, when selected, are executed in the order in which they are specified above.
- Enum Items :
-
- UVM_DO_REG_HW_RESET = 64'h0000_0000_0000_0001
- UVM_DO_REG_BIT_BASH = 64'h0000_0000_0000_0002
- UVM_DO_REG_ACCESS = 64'h0000_0000_0000_0004
- UVM_DO_MEM_ACCESS = 64'h0000_0000_0000_0008
- UVM_DO_SHARED_ACCESS = 64'h0000_0000_0000_0010
- UVM_DO_MEM_WALK = 64'h0000_0000_0000_0020
- UVM_DO_ALL_REG_MEM_TESTS = 64'hffff_ffff_ffff_ffff
- uvm_sequence_lib_mode [source]
Specifies the random selection mode of a sequence library
UVM_SEQ_LIB_RAND
Random sequence selection
UVM_SEQ_LIB_RANDC
Random cyclic sequence selection
UVM_SEQ_LIB_ITEM
Emit only items, no sequence execution
UVM_SEQ_LIB_USER
Apply a user-defined random-selection algorithm
- Enum Items :
-
- UVM_SEQ_LIB_RAND
- UVM_SEQ_LIB_RANDC
- UVM_SEQ_LIB_ITEM
- UVM_SEQ_LIB_USER
- uvm_sequence_state [source]
Enum
uvm_sequence_state_enum
Defines current sequence state
UVM_CREATED
The sequence has been allocated.
UVM_PRE_START
The sequence is started and the uvm_sequence_base::pre_start() task is being executed.
UVM_PRE_BODY
The sequence is started and the uvm_sequence_base::pre_body() task is being executed.
UVM_BODY
The sequence is started and the uvm_sequence_base::body() task is being executed.
UVM_ENDED
The sequence has completed the execution of the uvm_sequence_base::body() task.
UVM_POST_BODY
The sequence is started and the uvm_sequence_base::post_body() task is being executed.
UVM_POST_START
The sequence is started and the uvm_sequence_base::post_start() task is being executed.
UVM_STOPPED
The sequence has been forcibly ended by issuing a uvm_sequence_base::kill() on the sequence.
UVM_FINISHED
The sequence is completely finished executing.
- Enum Items :
-
- UVM_CREATED = 1
- UVM_PRE_START = 2
- UVM_PRE_BODY = 4
- UVM_BODY = 8
- UVM_POST_BODY = 16
- UVM_POST_START = 32
- UVM_ENDED = 64
- UVM_STOPPED = 128
- UVM_FINISHED = 256
- Enum Items :
-
- UVM_SEQ_ARB_FIFO
- UVM_SEQ_ARB_WEIGHTED
- UVM_SEQ_ARB_RANDOM
- UVM_SEQ_ARB_STRICT_FIFO
- UVM_SEQ_ARB_STRICT_RANDOM
- UVM_SEQ_ARB_USER
- uvm_severity [source]
Defines all possible values for report severity.
UVM_INFO
Informative message.
UVM_WARNING
Indicates a potential problem.
UVM_ERROR
Indicates a real problem. Simulation continues subject to the configured message action.
UVM_FATAL
Indicates a problem from which simulation cannot recover. Simulation exits via $finish after a #0 delay.
- Enum Items :
-
- UVM_INFO
- UVM_WARNING
- UVM_ERROR
- UVM_FATAL
- uvm_status_e [source]
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.
- Enum Items :
-
- UVM_IS_OK
- UVM_NOT_OK
- UVM_HAS_X
- uvm_tlm_command_e [source]
Command attribute type definition
UVM_TLM_READ_COMMAND
Bus read operation
UVM_TLM_WRITE_COMMAND
Bus write operation
UVM_TLM_IGNORE_COMMAND
No bus operation.
- Enum Items :
-
- UVM_TLM_READ_COMMAND
- UVM_TLM_WRITE_COMMAND
- UVM_TLM_IGNORE_COMMAND
- uvm_tlm_phase_e [source]
Nonblocking transport synchronization state values between an initiator and a target.
UNINITIALIZED_PHASE
Defaults for constructor
BEGIN_REQ
Beginning of request phase
END_REQ
End of request phase
BEGIN_RESP
Beginning of response phase
END_RESP
End of response phase
- Enum Items :
-
- UNINITIALIZED_PHASE
- BEGIN_REQ
- END_REQ
- BEGIN_RESP
- END_RESP
- uvm_tlm_response_status_e [source]
Response status attribute type definition
UVM_TLM_OK_RESPONSE
Bus operation completed successfully
UVM_TLM_INCOMPLETE_RESPONSE
Transaction was not delivered to target
UVM_TLM_GENERIC_ERROR_RESPONSE
Bus operation had an error
UVM_TLM_ADDRESS_ERROR_RESPONSE
Invalid address specified
UVM_TLM_COMMAND_ERROR_RESPONSE
Invalid command specified
UVM_TLM_BURST_ERROR_RESPONSE
Invalid burst specified
UVM_TLM_BYTE_ENABLE_ERROR_RESPONSE
Invalid byte enabling specified
- Enum Items :
-
- UVM_TLM_OK_RESPONSE = 1
- UVM_TLM_INCOMPLETE_RESPONSE = 0
- UVM_TLM_GENERIC_ERROR_RESPONSE = -1
- UVM_TLM_ADDRESS_ERROR_RESPONSE = -2
- UVM_TLM_COMMAND_ERROR_RESPONSE = -3
- UVM_TLM_BURST_ERROR_RESPONSE = -4
- UVM_TLM_BYTE_ENABLE_ERROR_RESPONSE = -5
- uvm_tlm_sync_e [source]
Pre-defined phase state values for the nonblocking transport Base Protocol between an initiator and a target.
UVM_TLM_ACCEPTED
Transaction has been accepted
UVM_TLM_UPDATED
Transaction has been modified
UVM_TLM_COMPLETED
Execution of transaction is complete
- Enum Items :
-
- UVM_TLM_ACCEPTED
- UVM_TLM_UPDATED
- UVM_TLM_COMPLETED
- uvm_verbosity [source]
Defines standard verbosity levels for reports.
UVM_NONE
Report is always printed. Verbosity level setting cannot disable it.
UVM_LOW
Report is issued if configured verbosity is set to UVM_LOW or above.
UVM_MEDIUM
Report is issued if configured verbosity is set to UVM_MEDIUM or above.
UVM_HIGH
Report is issued if configured verbosity is set to UVM_HIGH or above.
UVM_FULL
Report is issued if configured verbosity is set to UVM_FULL or above.
- Enum Items :
-
- UVM_NONE = 0
- UVM_LOW = 100
- UVM_MEDIUM = 200
- UVM_HIGH = 300
- UVM_FULL = 400
- UVM_DEBUG = 500
- uvm_wait_op [source]
Specifies the operand when using methods like uvm_phase::wait_for_state.
UVM_EQ
equal
UVM_NE
not equal
UVM_LT
less than
UVM_LTE
less than or equal to
UVM_GT
greater than
UVM_GTE
greater than or equal to
- Enum Items :
-
- UVM_LT
- UVM_LTE
- UVM_NE
- UVM_EQ
- UVM_GT
- UVM_GTE
Structs
- typedef struct uvm_hdl_path_slice [source]
Slice of an HDL path
Struct that specifies the HDL variable that corresponds to all or a portion of a register.
path
Path to the HDL variable.
offset
Offset of the LSB in the register that this variable implements
size
Number of bits (toward the MSB) that this variable implements
If the HDL variable implements all of the register, offset and size are specified as -1. For example: |
r1.add_hdl_path('{ '{"r1", -1, -1} });
- typedef struct uvm_reg_bus_op [source]
Struct that defines a generic bus transaction for register and memory accesses, having kind (read or write), address , data , and byte enable information. If the bus is narrower than the register or memory location being accessed, there will be multiple of these bus operations for every abstract uvm_reg_item transaction. In this case, data represents the portion of uvm_reg_item::value being transferred during this bus cycle. If the bus is wide enough to perform the register or memory operation in a single cycle, data will be the same as uvm_reg_item::value.
Functions
- function void global_stop_request ( ) [source]
Method- global_stop_request - DEPRECATED
Convenience function for uvm_test_done.stop_request(). See uvm_test_done_objection::stop_request for more information.
- function void set_config_int ( string inst_name, string field_name, uvm_bitstream_t value ) [source]
Function- set_config_int
This is the global version of set_config_int in uvm_component. This function places the configuration setting for an integral field in a global override table, which has highest precedence over any component-level setting. See uvm_component::set_config_int for details on setting configuration.
- function void set_config_object ( string inst_name, string field_name, uvm_object value, bit clone ) [source]
Function- set_config_object
This is the global version of set_config_object in uvm_component. This function places the configuration setting for an object field in a global override table, which has highest precedence over any component-level setting. See uvm_component::set_config_object for details on setting configuration.
- function void set_config_string ( string inst_name, string field_name, string value ) [source]
Function- set_config_string
This is the global version of set_config_string in uvm_component. This function places the configuration setting for an string field in a global override table, which has highest precedence over any component-level setting. See uvm_component::set_config_string for details on setting configuration.
- function string uvm_bitstream_to_string ( uvm_bitstream_t value, int size, uvm_radix_enum radix, string radix_str ) [source]
Function- uvm_bitstream_to_string
- function int unsigned uvm_create_random_seed ( string type_id, string inst_id ) [source]
Function- uvm_create_random_seed
Creates a random seed and updates the seed map so that if the same string is used again, a new value will be generated. The inst_id is used to hash by instance name and get a map of type name hashes which the type_id uses for its lookup.
- function uvm_report_object uvm_get_report_object ( ) [source]
Returns the nearest uvm_report_object when called.
For the global version, it returns uvm_root.
- function string uvm_hdl_concat2string ( uvm_hdl_path_concat concat ) [source]
concat2string
- function string uvm_integral_to_string ( uvm_integral_t value, int size, uvm_radix_enum radix, string radix_str ) [source]
Function- uvm_integral_to_string
- function bit uvm_is_match ( string expr, string str ) [source]
Returns 1 if the two strings match, 0 otherwise.
The first string, expr , is a string that may contain '*' and '?' characters. A * matches zero or more characters, and ? matches any single character. The 2nd argument, str , is the string begin matched against. It must not contain any wildcards.
- function string uvm_object_value_str ( uvm_object v ) [source]
Function- uvm_object_value_str
- function void uvm_process_report_message ( uvm_report_message report_message ) [source]
This method, defined in package scope, is a convenience function that delegate to the corresponding component method in uvm_top . It can be used in module-based code to use the same reporting mechanism as class-based components. See uvm_report_object for details on the reporting mechanism.
- function string uvm_radix_to_string ( uvm_radix_enum radix ) [source]
Function- uvm_radix_to_string
- function void uvm_report ( uvm_severity severity, string id, string message, int verbosity, string filename, int line, string context_name, bit report_enabled_checked ) [source]
- function int uvm_report_enabled ( int verbosity, uvm_severity severity, string id ) [source]
Returns 1 if the configured verbosity in uvm_top for this severity/id is greater than or equal to verbosity else returns 0.
See also uvm_report_object::uvm_report_enabled.
Static methods of an extension of uvm_report_object, e.g. uvm_component-based objects, cannot call uvm_report_enabled because the call will resolve to the uvm_report_object::uvm_report_enabled, which is non-static. Static methods cannot call non-static methods of the same class.
- function void uvm_report_fatal ( string id, string message, int verbosity, string filename, int line, string context_name, bit report_enabled_checked ) [source]
These methods, defined in package scope, are convenience functions that delegate to the corresponding component methods in uvm_top . They can be used in module-based code to use the same reporting mechanism as class-based components. See uvm_report_object for details on the reporting mechanism.
Note: Verbosity is ignored for warnings, errors, and fatals to ensure users do not inadvertently filter them out. It remains in the methods for backward compatibility.
- function void uvm_split_string ( string str, byte sep, string values ) [source]
Returns a queue of strings, values , that is the result of the str split based on the sep . For example:
uvm_split_string("1,on,false", ",", splits);
Results in the 'splits' queue containing the three elements: 1, on and false.
- function bit uvm_string_to_action ( string action_str, uvm_action action ) [source]
- function bit uvm_string_to_severity ( string sev_str, uvm_severity sev ) [source]
TODO merge with uvm_enum_wrapper#(uvm_severity)
- function string uvm_vector_to_string ( uvm_bitstream_t value, int size, uvm_radix_enum radix, string radix_str ) [source]
Backwards compat
DPI Import Functions
- import function int uvm_hdl_deposit ( string path, uvm_hdl_data_t value ) [source]
Sets the given HDL path to the specified value . Returns 1 if the call succeeded, 0 otherwise.
- import function int uvm_hdl_force ( string path, uvm_hdl_data_t value ) [source]
Forces the value on the given path . Returns 1 if the call succeeded, 0 otherwise.
- import function int uvm_hdl_read ( string path, uvm_hdl_data_t value ) [source]
Function
uvm_hdl_read()
Gets the value at the given path . Returns 1 if the call succeeded, 0 otherwise.
- import function int uvm_hdl_release ( string path ) [source]
Releases a value previously set with uvm_hdl_force. Returns 1 if the call succeeded, 0 otherwise.
- import function int uvm_hdl_release_and_read ( string path, uvm_hdl_data_t value ) [source]
Releases a value previously set with uvm_hdl_force. Returns 1 if the call succeeded, 0 otherwise. value is set to the HDL value after the release. For 'reg', the value will still be the forced value until it has been procedurally reassigned. For 'wire', the value will change immediately to the resolved value of its continuous drivers, if any. If none, its value remains as forced until the next direct assignment.
Tasks
- function uvm_hdl_force_time ( string path, uvm_hdl_data_t value, time force_time ) [source]
Forces the value on the given path for the specified amount of force_time . If force_time is 0, uvm_hdl_deposit is called. Returns 1 if the call succeeded, 0 otherwise.
- function uvm_wait_for_nba_region ( ) [source]
Callers of this task will not return until the NBA region, thus allowing other processes any number of delta cycles (#0) to settle out before continuing. See uvm_sequencer_base::wait_for_sequences for example usage.
backward compat