Controls the configuration mode for uvm_component::apply_config_settings.
virtual function config_mode_t apply_config_settings_mode()
Performs actions associated with transitioning phase state to the UVM_PHASE_CLEANUP or UVM_PHASE_JUMPING state.
protected virtual task cleanup_phase( uvm_phase phase )
Constructs the actual string sent to the file or command line from the report message.
virtual function string compose_report_message( uvm_report_message report_message, string report_object_name = "" )
Default configuration mode used by apply_config_settings_mode.
localparam config_mode_t CONFIG_DEFAULT = `UVM_COMPONENT_CONFIG_MODE_DEFAULT
The debug_connected_to method outputs a visual text display of the port/export/imp network to which this port connects (i.e., the port’s fanout).
function void debug_connected_to ( int level = 0, int max_level = -1 )
Debug traces for create_*_by_name methods.
virtual function void debug_create_by_name ( string requested_type_name, string parent_inst_path = "", string name = "" )
Debug traces for create_*_by_type methods.
virtual function void debug_create_by_type ( uvm_object_wrapper requested_type, string parent_inst_path = "", string name = "" )
The debug_provided_to method outputs a visual display of the port/export network that ultimately connect to this port (i.e., the port’s fanin).
function void debug_provided_to ( int level = 0, int max_level = -1 )
Turn on report catching debug information.
static function void debug_report_catcher( int what = 0 )
Called when do_check finds a mismatch to create the error message and any other supporting information.
virtual function void do_check_error( uvm_reg this_reg, uvm_reg_data_t expected, uvm_reg_data_t actual, uvm_reg_map map, uvm_reg_data_t valid_bits_mask )
Callback triggered via uvm_tr_stream::close.
protected virtual function void do_close()
Close the backend connection to the database.
protected virtual function bit do_close_db()
Compares this generic payload to rhs.
function bit do_compare( uvm_object rhs, uvm_comparer comparer )
Copy the rhs object into this object.
virtual function void do_copy( uvm_object rhs )
Establishes a link between two elements in the database
protected virtual function void do_establish_link( uvm_link_base link )
Callback triggered via uvm_tr_stream::free.
protected virtual function void do_free()
Callback triggered via uvm_tr_database::open_stream.
protected virtual function void do_open( uvm_tr_database db, string scope, string stream_type_name )
Open the backend connection to the database.
protected virtual function bit do_open_db()
Marks the beginning of a new record in the stream
protected virtual function uvm_recorder do_open_recorder( string name, time open_time, string type_name )
Provides a reference to a stream within the database.
protected virtual function uvm_tr_stream do_open_stream( string name, string scope, string type_name )
This is a pass through to uvm_objection::drop_objection on the objection returned by get_objection.
protected virtual function void drop_objection( uvm_object obj, string description = "", int count = 1 )
A flag to enable report count summary for each ID
bit enable_report_id_count_summary=1
Performs actions associated with transitioning phase state to the UVM_PHASE_ENDED state.
protected virtual task end_phase( uvm_phase phase )
Removes the data at key from the cache.
pure virtual function optional_data evict( KEY_T key )
Removes the data at key from the cache.
virtual function optional_data evict( KEY_T key )
Hook for evicting all keys greater than maximum size.
pure virtual protected function void evict_to_max()
Implementation of uvm_cache#(KEY_T,DATA_T)::evict_to_max hook.
protected virtual function void evict_to_max()
Calls execute on imp, passing in comp, and node.
virtual function void execute_on( uvm_phase imp, uvm_component comp, uvm_phase node )
Performs actions associated with transitioning phase state to the UVM_PHASE_EXECUTING state.
protected virtual task execute_phase( uvm_phase phase )
Returns true if key exists in the cache, otherwise returns false.
pure virtual function bit exists( KEY_T key )
Provides an implementation of get @uvm-accellera
virtual function bit exists( uvm_component cntxt, string inst_name, string field_name, bit rpterr )
Intended to provide the functionality for uvm_config_db#(T)::exists @uvm-contrib
pure virtual function bit exists( uvm_component cntxt, string inst_name, string field_name, bit rpterr )
Returns true if key exists in the cache, otherwise returns false.
virtual function bit exists( KEY_T key )
Handle to optional user data, as conveyed in the call to write(), read(), mirror(), or update() used to trigger the operation.
rand uvm_object extension
Locate all the resources that have at least one write and no reads
function uvm_resource_types::rsrc_q_t find_unused_resources()
Performs actions associated with transitioning phase state to the UVM_PHASE_DONE state.
protected virtual task finish_phase( uvm_phase phase )
Evicts all keys from the cache.
virtual function void flush()
Clear the state of the predictor including the pending writes.
virtual function void flush()
Returns data associated with key.
pure virtual function optional_data get( KEY_T key )
Provides an implementation of get, including support for config_db tracing @uvm-accellera
virtual function bit get ( uvm_component cntxt, string inst_name, string field_name, inout T value )
Intended to provide the functionality for uvm_config_db#(T)::get @uvm-contrib
pure virtual function bit get ( uvm_component cntxt, string inst_name, string field_name, inout T value )
Returns data associated with key.
virtual function optional_data get( KEY_T key )
Retrieves the next phase from the hopper.
protected virtual task get( output uvm_phase phase )
Provides an implementation of get_by_name, with a warning if the matching resource is the wrong type.
virtual function rsrc_t get_by_name( string scope, string name, bit rpterr )
Intended to provide the functionality for uvm_resource_db#(T)::get_by_name @uvm-contrib
pure virtual function rsrc_t get_by_name( string scope, string name, bit rpterr )
Provides an implementation of get_by_type, with a warning if the resource was not located.
virtual function rsrc_t get_by_type( string scope )
Intended to provide the functionality for uvm_resource_db#(T)::get_by_type @uvm-contrib
pure virtual function rsrc_t get_by_type( string scope )
Returns a handle to the internal proxy component representing this port.
virtual function uvm_port_component_base get_comp()
Implementation of the pure function declared in uvm_port_component_base
virtual function void get_connected_to( ref uvm_port_list list )
For a port or export type, this function fills list with all of the ports, exports and implementations that this port is connected to.
pure virtual function void get_connected_to( ref uvm_port_list list )
virtual function uvm_reg_map get_default_map ()
Implementation of the get_default_printer method, as defined in section F.4.1.4.13 of 1800.2-2020.
virtual function uvm_printer get_default_printer()
Gets the variable to enable printing the entire testbench topology just after completion of the end_of_elaboration phase..
function bit get_enable_print_topology ()
Returns the global phase hopper.
static function uvm_phase_hopper get_global_hopper()
Returns the implementation instance to be used.
static function uvm_config_db_implementation_t #( T ) get_imp()
Returns the implementation instance to be used.
static function uvm_resource_db_implementation_t #( T ) get_imp ()
Returns the current maximum size of the cache.
virtual function size_t get_max_size()
Returns the number of times the rhs has been copied to a unique lhs
function int unsigned get_num_copies( uvm_object rhs )
Retrieves the Active Phase Objection.
protected virtual function uvm_objection get_objection()
This is a pass through to uvm_objection::get_objection_count on the objection returned by get_objection.
virtual function int get_objection_count( uvm_object obj = null )
This is a pass through to uvm_objection::get_objection_total on the objection returned by get_objection.
virtual function int get_objection_total( uvm_object obj = null )
Returns the uvm_phase_hopper (singleton) instance for this environment
pure virtual function uvm_phase_hopper get_phase_hopper()
static function bit get_print_config_matches()
static function bit get_print_config_matches()
Returns the rand_mode of the field instance
virtual function bit get_rand_mode()
Returns 1 if the tracing facility is on and 0 if it is off.
static function bit is_tracing()
Returns 1 if the tracing facility is on and 0 if it is off.
static function bit is_tracing()
Returns a queue of all keys currently in the cache.
pure virtual function optional_keys keys()
Returns a queue of all keys currently in the cache.
virtual function optional_keys keys()
Kind of access: READ or WRITE.
rand uvm_access_e kind
Constructor, initializes the cache.
function new( string name = "unnamed-uvm_cache", size_t max_size = 256 )
Constructor, initializes the cache.
function new( string name = "unnamed-uvm_lru_cache", size_t max_size = 256 )
Creates a new uvm_phase_hopper instance with name.
function new( string name = "uvm_phase_hopper" )
Constructor
function new( string name = "unnamed-uvm_text_tr_database" )
Constructor
function new( string name = "unnamed-uvm_text_tr_stream" )
For memory accesses, the offset address.
rand uvm_reg_addr_t offset
Packs obj into the packer data stream, such that it can be unpacked via an associated unpack_object_with_meta call.
function void uvm_packer::pack_object_with_meta( uvm_object value )
The sequence from which the operation originated.
rand uvm_sequence_base parent
Copies a phase from the hopper.
protected virtual task peek( output uvm_phase phase )
Delegates to the <uvm_resource_debug::print_access function to print the read/write access history of the resource, using the accessor argument accessor which is passed to the uvm_resource#(T)::read and uvm_resource#(T)::write
virtual function void print_accessors()
Print the read/write access history of the resource, using the accessor argument accessor which is passed to the uvm_resource#(T)::read and uvm_resource#(T)::write
virtual function void print_accessors()
Prints debug information about all of the typewide report catchers that are registered.
static function void print_catcher( UVM_FILE file = 0 )
Print_config prints all configuration information for this component, as set by previous calls to uvm_config_db::set() and exports to the resources pool.
function void print_config( bit recurse = 0, bit audit = 0 )
Processes a phase.
protected virtual task process_phase( uvm_phase phase )
Puts data in cache at index key.
pure virtual function void put( KEY_T key, DATA_T data )
Puts data in cache at index key.
virtual function void put( KEY_T key, DATA_T data )
This is a pass through to uvm_objection::raise_objection on the objection returned by get_objection.
protected virtual function void raise_objection( uvm_object obj, string description = "", int count = 1 )
Provides an implementation of read_by_name, including support for resource tracing @uvm-accellera
virtual function bit read_by_name( string scope, string name, inout T val, input uvm_object accessor )
Intended to provide the functionality for uvm_resource_db#(T)::read_by_name @uvm-contrib
pure virtual function bit read_by_name( string scope, string name, inout T val, input uvm_object accessor )
Provides an implementation of read_by_type, including support for resource tracing @uvm-accellera
virtual function bit read_by_type( input string scope, inout T val, input uvm_object accessor )
Intended to provide the functionality for uvm_resource_db#(T)::read_by_type @uvm-contrib
pure virtual function bit read_by_type( string scope, inout T val, input uvm_object accessor )
A flag to force recording of all messages (add UVM_RM_RECORD action)
bit record_all_messages = 0
Delegates to the <uvm_resource_debug::record_read_access function to record read access information for this resource for debug purposes, information used by print_accessors function.
function void record_read_access( uvm_object accessor = null )
Record the read access information for this resource for debug purposes.
virtual function void record_read_access( uvm_object accessor = null )
Delegates to the <uvm_resource_debug::record_write_access function to record write access information for this resource for debug purposes, information used by print_accessors function.
function void record_write_access( uvm_object accessor = null )
Record the write access information for this resource for debug purposes.
virtual function void record_write_access( uvm_object accessor = null )
Runs all phases associated with a test.
virtual task run_phases()
Provides an implementation of set, including support for config_db tracing @uvm-accellera
virtual function void set( string cntxt_name, string inst_name, string field_name, T value, int cntxt_depth, uvm_pool#(string, uvm_resource#(T)) pool, uvm_component cntxt )
Intended to provide the functionality for uvm_config_db#(T)::set @uvm-contrib
pure virtual function void set( string cntxt_name, string inst_name, string field_name, T value, int cntxt_depth, uvm_pool#(string, uvm_resource#(T)) pool, uvm_component cntxt )
Provides an implementation of set, including support for resource tracing @uvm-accellera
virtual function void set( string scope, string name, T val, uvm_object accessor )
Intended to provide the functionality for uvm_resource_db#(T)::set @uvm-contrib
pure virtual function void set( string scope, string name, T val, uvm_object accessor )
Provides an implementation of set_anonymous, including support for resource tracing @uvm-accellera
virtual function void set_anonymous( string scope, T val, uvm_object accessor )
Intended to provide the functionality for uvm_resource_db#(T)::set_anonymous @uvm-contrib
pure virtual function void set_anonymous( string scope, T val, uvm_object accessor )
Provides an implementation of set_default.
virtual function rsrc_t set_default( string scope, string name )
Intended to provide the functionality for uvm_resource_db#(T)::set_default @uvm-contrib
pure virtual function rsrc_t set_default( string scope, string name )
Sets the variable to enable printing the entire testbench topology just after completion of the end_of_elaboration phase.
function void set_enable_print_topology ( bit enable )
Sets the file name which will be used for output.
function void set_file_name( string filename )
1) the imp argument if it is not null, else 2) the relevant factory override of uvm_config_db_implementation_t#(T) if such an override exists, else 3) a new creation of uvm_config_db_default_implementation_t#(T) @uvm-contrib
static function void set_imp( uvm_config_db_implementation_t #(T) imp = null )
1) the imp argument if it is not null, else 2) the relevant factory override of uvm_resource_db_implementation_t#(T) if such an override exists, else 3) a new creation of uvm_resource_db_default_implementation_t#(T) @uvm-contrib
static function void set_imp( uvm_resource_db_implementation_t #(T) imp = null )
Sets the maximum size of the cache to max_size.
virtual function void set_max_size( size_t max_size = 256 )
Create a new resource, write val to it, and set it into the database.
static function void set_override( input string scope, input string name, T val, uvm_object accessor = null )
Provides an implementation of set_override, including support for resource tracing @uvm-accellera
virtual function void set_override( string scope, string name, T val, uvm_object accessor )
Intended to provide the functionality for uvm_resource_db#(T)::set_override @uvm-contrib
pure virtual function void set_override( string scope, string name, T val, uvm_object accessor )
Create a new resource, write val to it, and set it into the database.
static function void set_override_name( input string scope, input string name, T val, uvm_object accessor = null )
Provides an implementation of set_override_name, including support for resource tracing @uvm-accellera
virtual function void set_override_name( string scope, string name, T val, uvm_object accessor )
Intended to provide the functionality for uvm_resource_db#(T)::set_override_name @uvm-contrib
pure virtual function void set_override_name( string scope, string name, T val, uvm_object accessor )
Create a new resource, write val to it, and set it into the database.
static function void set_override_type( input string scope, input string name, T val, uvm_object accessor = null )
Provides an implementation of set_override_type, including support for resource tracing @uvm-accellera
virtual function void set_override_type( string scope, string name, T val, uvm_object accessor )
Intended to provide the functionality for uvm_resource_db#(T)::set_override_type @uvm-contrib
pure virtual function void set_override_type( string scope, string name, T val, uvm_object accessor )
static function void set_print_config_matches(bit val)
static function void set_print_config_matches( bit val )
Modifies the rand_mode for the field instance to the specified one
virtual function void set_rand_mode( bit rand_mode )
Sets a type alias for this wrapper in the default factory.
static function bit set_type_alias( string alias_name )
Sets a type alias for this wrapper in the default factory.
static function bit set_type_alias( string alias_name )
Sets a type alias for this wrapper in the default factory.
static function bit set_type_alias( string alias_name )
Sets a type alias for this wrapper in the default factory.
static function bit set_type_alias( string alias_name )
Provides an implementation of show_msg.
virtual function void show_msg( string id, string rtype, string action, string scope, string name, uvm_object accessor, rsrc_t rsrc )
Intended to print a formatted string regarding an access of a particular config item @uvm-contrib
pure virtual function void show_msg( string id, string rtype, string action, string scope, string name, uvm_object accessor, rsrc_t rsrc )
Provides an implementation of show_msg.
virtual function void show_msg( string id, string rtype, string action, string scope, string name, uvm_object accessor, rsrc_t rsrc )
Intended to print a formatted string regarding an access of a particular resource @uvm-contrib
pure virtual function void show_msg( string id, string rtype, string action, string scope, string name, uvm_object accessor, rsrc_t rsrc )
A flag to add a terminator in the messages, e.g.
bit show_terminator = 0
A flag to include verbosity in the messages, e.g.
bit show_verbosity = 0
Returns the current number of elements in the cache.
pure virtual function size_t size()
Returns the current number of elements in the cache.
virtual function size_t size()
Performs actions associated with transitioning phase state to the UVM_PHASE_STARTED state.
protected virtual task start_phase( uvm_phase phase )
Calls traverse on imp, passing in comp, node, and state.
virtual function void traverse_on( uvm_phase imp, uvm_component comp, uvm_phase node, uvm_phase_state state )
@uvm-accellera
virtual function void trigger_modified( string inst_name, string field_name )
Triggers the event associated with inst_name and field_name, potentially unblocking calls to wait_modified.
pure virtual function void trigger_modified( string inst_name, string field_name )
Attempts to retrieve the next phase from the hopper.
protected virtual function bit try_get( inout uvm_phase phase )
Attempts to copy a phase from the hopper.
protected virtual function bit try_peek( inout uvm_phase phase )
Attempts to add a new phase to the hopper.
virtual function bit try_put( uvm_phase phase )
Turn tracing off for the configuration database.
static function void turn_off_tracing()
Turn tracing off for the resource database.
static function void turn_off_tracing()
Turn tracing on for the configuration database.
static function void turn_on_tracing()
Turn tracing on for the resource database.
static function void turn_on_tracing()
Unpacks an object which was packed into the packer data stream using pack_object_with_meta.
function void uvm_packer::unpack_object_with_meta( inout uvm_object value )
Abstract base class for implementing a key/value pair cache.
virtual class uvm_cache#( type KEY_T = int, type DATA_T = int ) extends uvm_object
This class contains static functions for manipulating and retrieving options that control the behavior of the configuration DB facility.
class uvm_config_db_options
The UVM phase hopper is responsible for the execution of the UVM phases during a test.
class uvm_phase_hopper extends uvm_object
This implementation of uvm_port_component class from IEEE 1800.2 declares all the API described in the LRM, plus it inherits from uvm_port_component_base for the purpose of providing the get_connected_to() method.
class uvm_port_component #( type PORT = uvm_object ) extends uvm_port_component_base
This class defines an interface for obtaining a port’s connectivity lists after or during the end_of_elaboration phase.
virtual class uvm_port_component_base extends uvm_component
Associative array of uvm_port_component_base class handles, indexed by string
typedef uvm_port_component_base uvm_port_list[string]
This class contains virtual functions implementing error messages from uvm_reg.
class uvm_reg_err_service extends uvm_object
This class contains static functions for manipulating and retrieving options that control the behavior of the resources DB facility.
class uvm_resource_db_options
Class provided to facilitate overriding of debug functions in the parameterized uvm_resource class.
class uvm_resource_debug extends uvm_object
Implementation of the uvm_root class, as defined in 1800.2-2020 Section F.7 with the following additional API
class uvm_root extends uvm_component
The uvm_text_recorder is the default recorder implementation for the uvm_text_tr_database.
class uvm_text_recorder extends uvm_recorder
The uvm_text_tr_database is the default implementation for the uvm_tr_database.
class uvm_text_tr_database extends uvm_tr_database
The uvm_text_tr_stream is the default stream implementation for the uvm_text_tr_database.
class uvm_text_tr_stream extends uvm_tr_stream
This task will block until SystemVerilog’s NBA region (or Re-NBA region if called from a program context).
task uvm_wait_for_nba_region
The value to write to, or after completion, the value read from the DUT.
rand uvm_reg_data_t value[]
This is a pass through to uvm_objection::wait_for on the objection returned by get_objection.
virtual task wait_for_objection( uvm_objection_event objt_event, uvm_object obj = null )
Delays execution to allow waiters on phase state changes to react.
protected virtual task wait_for_waiters( uvm_phase phase, uvm_phase_state prev_state )
Provides an implementation of wait_modified @uvm-accellera
virtual task wait_modified( uvm_component cntxt, string inst_name, string field_name )
Intended to provide the functionality for uvm_config_db#(T)::wait_modified @uvm-contrib
pure virtual task wait_modified( uvm_component cntxt, string inst_name, string field_name )
Outputs a uvm_bitstream_t attribute to the textual log.
function void write_attribute( string nm, uvm_bitstream_t value, uvm_radix_enum radix, int numbits = $bits(uvm_bitstream_t) )
Outputs an uvm_integral_t attribute to the textual log
function void write_attribute_int( string nm, uvm_integral_t value, uvm_radix_enum radix, int numbits = $bits(uvm_bitstream_t) )
Provides an implementation of write_by_name, including support for resource tracing @uvm-accellera
virtual function bit write_by_name( string scope, string name, T val, uvm_object accessor )
Intended to provide the functionality for uvm_resource_db#(T)::write_by_name @uvm-contrib
pure virtual function bit write_by_name( string scope, string name, T val, uvm_object accessor )
Provides an implementation of write_by_type, including support for resource tracing @uvm-accellera
virtual function bit write_by_type( string scope, T val, uvm_object accessor )
Intended to provide the functionality for uvm_resource_db#(T)::write_by_type @uvm-contrib
pure virtual function bit write_by_type( string scope, T val, uvm_object accessor )