SVT - svt Class List

Here are the svt classes with brief descriptions:
svt_xactor_callback Provides a layer of insulation between the vmm_xactor_callbacks class and the callback facade classes used by SVT models. All callbacks in SVT model components should be extended from this class.
svt_exit_timer This class is provides a timer which also acts as a consensus voter which can force simulation exit when the timer value is reached.
svt_voter Description-Unavailable
svt_consensus Consensus implementation used to provide a basic consensus capability in UVM.
svt_channel Channel implementation used to provide a basic channel capability in UVM.
svt_xactor Class that provides the basic infrastructure common to all SVT transactors.
svt_notify Base class for a shared notification service that may be needed by some protocol suites. An example of where this may be used would be in a layered protocol, where timing information between the protocol layers needs to be communicated.
svt_svc_err_check SVC Error Check Class - Tracks error checks performed This is a customized extension class for checks performed in SVC models used in SVT mode. This class allows synchronization with the svt_svc_message_manager instance to ensure that message reporting from the SVC componenents is correct.
svt_svc_err_check_stats Error Check Statistics Class extension for SVC interface
svt_svc_message_manager This class provides access to the methodology specific reporting facility. The class provides SVC specific interpretations of the reporting capabilities, and provides support for SVC specific methods.
svt_message_manager This class provides access to the methodology specific reporting facility. The class provides SVC specific interpretations of the reporting capabilities, and provides support for SVC specific methods.
svt_monitor_bfm_shell Class that provides the basic infrastructure common to all SVT BFM based Monitors.
svt_driver_bfm_shell Class that provides the basic infrastructure common to all SVT BFM based drivers.
svt_mem_driver This class is a memory driver class. It extends the svt_reactive_driver base class and adds the seq_item_port necessary to connect with an svt_mem_sequencer .
svt_mem_driver_callback Generiic memory driver callback class. Defines generic callback methods available in all memory drivers. Protocol-specific drivers may offer additional callback methods in a protocol-specific extension of this class.
svt_mem_sequencer This base class will drive the memory sequences in to driver.
svt_mem_ram_sequence Base class for all SVT mem ram sequences. It is extended from svt_mem_sequence which is a reactive sequence.
svt_mem_sequence Base class for all SVT mem sequences. Because of the mem nature of the protocol, the direction of requests (REQ) and responses (RSP) is reversed from the usual sequencer/driver flow.
svt_mem_core This class is the SystemVerilog class which contains the C core. It provides the SystemVerilog API through which the C-based memory core can be manipulated.
svt_mem_backdoor This class provides a backdoor and iterator interface to a memory core. Multiple instances of this interface may exist on the same memory core.
svt_mem_sa_core_4state Description-Unavailable
svt_mem_backdoor_4state Description-Unavailable
svt_mem_sa_core_2state Description-Unavailable
svt_mem_backdoor_2state Description-Unavailable
svt_mem_suite_configuration This memory configuration class encapsulates the configuration information for a single memory core instance.
svt_base_mem_suite_configuration This memory configuration class encapsulates the base configuration information required by memory VIPs. This class includes the common attributes required by top level configuration class of all memory VIPs (both DRAM & FLASH).
svt_mem_configuration This memory configuration class encapsulates the configuration information for a single memory core instance.
svt_mem_part_mgr Class to pick a suitable vendor part at random amongst all vendor parts in all catalogs on a shelf.
svt_mem_all_parts Default policy class to select all parts in all catalogs on a shelf with an equal distribution value of 1.
svt_mem_vendor_catalog Base class for the vendor part catalog. Must first be specialized with the suite-specific vendor part catalog entry type (itself extended/specialized from svt_mem_vendor_part class).
svt_mem_vendor_part Default part catalog entry. If additional or different part selection criteria are required for a specific suite, they should be added in a derived class. It must be specialized with a policy class the contains a static "#get()" method returning the full path to the installation directory of the suite.
svt_mem_vendor_part_base Base class for the default part catalog entry.
svt_mem_vendor_catalog_base Part-independent base class for the vendor part catalog.
svt_mem_transaction This memory access transaction class is used as the request and response type between a memory driver and a memory sequencer.
svt_traffic_arbiter Traffic arbiter class that arbitrates between the traffic transactions that it retreives from the traffic profiles. This class calls the DPIs that process the traffic profile xml files. The values returned by the DPIs are used to populate svt_traffic_profile_transaction objects. When all traffic profiles are retreived, the arbiter arbitrates between the traffic transactions
svt_traffic_profile_event Class used to store additional information required for synchronization of multiple traffic profiles using input and output events
svt_traffic_profile_transaction Generic class that models a traffic profile. Only parameters which are generic across all protocols are encapsulated here. Protocol specific parameters must be specified in an extended class.
svt_fifo_rate_control Utility class which may be used by agents to model a FIFO based resource class to control the rate at which transactions are sent from a component
svt_fifo_rate_control_configuration This FIFO rate control configuration class encapsulates the configuration information for the rate control parameters modeled in a FIFO.
svt_mem_system_backdoor This class manages a set of backdoor instances, converting requests relative to the common source address domain into requests for the individual backdoor instances using the individual destination address domains specified for these backdoor instances.
svt_mem This class is used to model a single memory region.
svt_mem_word This class is used to represent a single word of data stored in memory. It is intended to be used to create a sparse array of stored memory data, with each element of the array representing a full data word in memory. The object is initilized with, and stores the information about the location (address space, and byte address) of the location represented. It supports read and write (with byte enables) operations, as well as lock/unlock operations.
svt_mem_backdoor_base This base class defines the common backdoor method signatures.
svt_mem_address_mapper_stack This class holds a stack of svt_mem_address_mapper instances and uses them to do address conversions across multiple address domains. This comes into play when dealing with a hierarchical System Memory Map structure.
svt_mem_address_mapper This is a container class used by the System Memory Manager for storing source and destination address range information and providing access to methods converting between the two address ranges.
svt_err_catcher This file creates a UVM/OVM message catcher class to demote expected error and warnings.
svt_fsm_callback Facade class for FSM callbacks
svt_fsm_exception Class describing an exception that has occured on a FSM
svt_fsm_state Base class for user-defined FSM states. Must be extended to specify the behavior of a state within a FSM. The 'FSM' parameter is the type of the parent FSM containing this state. The 'NAME' parameter is the name of the state.
svt_fsm_state_callback Facade class for FSM state callbacks
svt_fsm_state_base FSM state base class.
svt_fsm Base class for describing protocol state machines
svt_type_factory Description-Unavailable
svt_type_factory_override Description-Unavailable
svt_type_factory_override_base Description-Unavailable
svt_named_factory Description-Unavailable
svt_named_factory_override Description-Unavailable
svt_named_factory_override_base Description-Unavailable
svt_multi_sim_utils Description-Unavailable
svt_downstream_imp This class defines a component which can be used to translate input from a downstream 'put' or 'analysis' port.
svt_dispatch This class defines a methodology independent dispatch technology for sending transactions to downstream components.
svt_ovm_resource_db Dummy resource DB for OVM
svt_dispatch_sequence Sequence used to queue up and dispatch seqeunce items. This sequence supports two basic use models, controlled by the continuous_dispatch field.
svt_sequence_library Class that provides the basic infrastructure common to all SVT sequences.
svt_ovm_sequence_library_cfg Description-Unavailable
svt_ovm_sequence_library Description-Unavailable
svt_reactive_sequence Base class for all SVT reactive sequences. Because of the reactive nature of the protocol, the direction of requests (REQ) and responses (RSP) is reversed from the usual sequencer/driver flow.
svt_broadcast_sequence Description-Unavailable
svt_sequence Class that provides the basic infrastructure common to all SVT sequences.
svt_callbacks Description-Unavailable
svt_env Class that provides the basic infrastructure common to all SVT ENV objects.
svt_agent Class that provides the basic infrastructure common to all SVT agents.
svt_reactive_sequencer Base class for all SVT reactive sequencers. Because of the reactive nature of the protocol, the direction of requests (REQ) and responses (RSP) is reversed from the usual sequencer/driver flow.
svt_sequencer Base class for all SVT model sequencers. As functionality commonly needed for sequencers for SVT models is defined, it will be implemented (or at least prototyped) in this class.
svt_dropping_response_report_catcher This report catcher is provided to intercept and filter out the following message, which is generated by UVM/OVM whenever a sequencer generates a sequence item and exits but there is a subsequent put of a 'response' for the sequence.
svt_phase Description-Unavailable
svt_phase_objection Description-Unavailable
svt_monitor Class that provides the basic infrastructure common to all SVT UVM/OVM monitors.
svt_reactive_driver Base class for all SVT reactive drivers. Because of the reactive nature of the protocol, the direction of requests (REQ) and responses (RSP) is reversed from the usual sequencer/driver flow.
svt_driver Class that provides the basic infrastructure common to all SVT drivers.
svt_component Class that provides the basic infrastructure common to all SVT components.
svt_callback Description-Unavailable
svt_non_abstract_component Creates a non-virtual instance of uvm/ovm_component. This can be useful for simple component structures to route messages without the need to go through the global report object.
svt_debug_opts_analysis_imp_port This class extends the analysis port, providing support for intercepting and logging sequence items.
svt_debug_opts_get_peek_imp_port This class extends the get_peek port, providing support for intercepting and logging sequence items.
svt_debug_opts_nonblocking_get_peek_imp_port This class extends the nonblocking_get_peek port, providing support for intercepting and logging sequence items.
svt_debug_opts_blocking_get_peek_imp_port This class extends the blocking_get_peek port, providing support for intercepting and logging sequence items.
svt_debug_opts_peek_imp_port This class extends the peek port, providing support for intercepting and logging sequence items.
svt_debug_opts_nonblocking_peek_imp_port This class extends the nonblocking_peek port, providing support for intercepting and logging sequence items.
svt_debug_opts_blocking_peek_imp_port This class extends the blocking_peek port, providing support for intercepting and logging sequence items.
svt_debug_opts_get_imp_port This class extends the get port, providing support for intercepting and logging sequence items.
svt_debug_opts_nonblocking_get_imp_port This class extends the nonblocking_get port, providing support for intercepting and logging sequence items.
svt_debug_opts_blocking_get_imp_port This class extends the blocking_get port, providing support for intercepting and logging sequence items.
svt_debug_opts_put_imp_port This class extends the put port, providing support for intercepting and logging sequence items.
svt_debug_opts_nonblocking_put_imp_port This class extends the nonblocking_put port, providing support for intercepting and logging sequence items.
svt_debug_opts_blocking_put_imp_port Description-Unavailable
svt_debug_opts_analysis_port This class extends the analysis port, providing support for intercepting and logging sequence items.
svt_debug_opts_get_peek_port This class extends the get_peek port, providing support for intercepting and logging sequence items.
svt_debug_opts_nonblocking_get_peek_port This class extends the nonblocking_get_peek port, providing support for intercepting and logging sequence items.
svt_debug_opts_blocking_get_peek_port This class extends the blocking_get_peek port, providing support for intercepting and logging sequence items.
svt_debug_opts_peek_port This class extends the peek port, providing support for intercepting and logging sequence items.
svt_debug_opts_nonblocking_peek_port This class extends the nonblocking_peek port, providing support for intercepting and logging sequence items.
svt_debug_opts_blocking_peek_port This class extends the blocking_peek port, providing support for intercepting and logging sequence items.
svt_debug_opts_get_port This class extends the get port, providing support for intercepting and logging sequence items.
svt_debug_opts_nonblocking_get_port This class extends the nonblocking_get port, providing support for intercepting and logging sequence items.
svt_debug_opts_blocking_get_port This class extends the blocking_get port, providing support for intercepting and logging sequence items.
svt_debug_opts_put_port This class extends the put port, providing support for intercepting and logging sequence items.
svt_debug_opts_nonblocking_put_port This class extends the nonblocking_put port, providing support for intercepting and logging sequence items.
svt_debug_opts_blocking_put_port Description-Unavailable
svt_config_vif_db Methodology independent configuration database that can be used to share virtual interface values.
svt_config_object_db Methodology independent configuration database that can be used to share object values.
svt_config_string_db Methodology independent configuration database that can be used to share string values.
svt_config_int_db Methodology independent configuration database that can be used to share integer values.
svt_ovm_object_wrapper Class that can wrap any type into a ovm_object
svt_8b10b_data A utility class that encapsulates an individual unit of transfer in an 8b/10b encoding protocol. The object can be initialized with either eight bit data or ten bit data. Methods are present on the object to encode eight bit data into its ten bit representation, or decode ten bit data into its eight bit representation. The current running disparity must be provided to encode or decode the data properly, and the updated running disparity value is returned from these functions via a ref argument.
svt_sequence_item_report This class provides testbenches a transaction mechanism for reporting transactions. It reports summary information for individual transactions that are in progress and accumulates information into a summary report.
svt_sequence_item_iter Iterators that can be used to iterate over the implementation and trace collections stored with a transaction.
svt_sequence_item Base class for all SVT model transaction data descriptor objects. As functionality commonly needed for transactions for SVT models is defined, it will be implemented (or at least prototyped) in this class.
svt_triggered_timer This class implements a timer which can be shared between processes, and which does not need to be started or stopped from within permanent processes. This timer is extended from svt_timer and otherwise implements the same basic feature set as the svt_timer.
svt_timer This class provides basic timer capabilities. The client uses this timer to watch for a timeout, after which a notification is generated. If the specified activities occur before the timeout expiry, the client can avoid the timeout by stopping the timer.
svt_status Base class for all SVT model status data descriptor objects. As functionality commonly needed for status of SVT models is defined, it will be implemented (or at least prototyped) in this class.
svt_pattern_sequence Simple data object that stores a pattern sequence as an array of patterns. This object also provides basic methods for using these array patterns to find pattern sequences in svt_sequence_item_base lists.
svt_sequence_item_base_queue_iter Iterators that can be used to iterate over a queue of svt_sequence_item_base instances. This iterator actually includes the queue of objects to be iterated on in addition to the iterator.
svt_sequence_item_base_queue Container class used to enable queue sharing between iterators.
svt_event_pool Base class for a shared event pool resource. This is used in the design of the Verilog CMD interface. This may also be used in layered protocols where timing information between the protocol layers needs to be communicated.
svt_logger Utility class used to provide logging assistance independent of UVM/VMM testbench technology.
svt_err_check Error Check Class - Tracks error checks performed by a transactor. An object of this class is instantiated in the svt_xactor class (the m_o_err_chk member of that class). Error checks performed by the transactor are registered to this class, and statistic collection objects for them are stored in the checks[$] queue of this class.
svt_err_check_report_catcher Description-Unavailable
svt_err_check_stats Error Check Statistics Class - This class is simply used to encapsulate statistics related to one specific error check. A queue of objects of this class is used within the svt_err_check class (the check member of the svt_xactor class), to track error checks performed by all transactors.
svt_err_check_stats_cov This class defines the covergroup for the svt_err_check_stats instance.
svt_exception_list_do_allocate_pattern Description-Unavailable
svt_exception_list Base class for all SVT model exception list objects. As functionality commonly needed for exception lists for SVT models is defined, it will be implemented (or at least prototyped) in this class.
svt_exception_do_allocate_pattern Description-Unavailable
svt_exception Base class for all SVT model exception objects. As functionality commonly needed for exceptions for SVT models is defined, it will be implemented (or at least prototyped) in this class.
svt_configuration Base class for all SVT model configuration data descriptor objects. As functionality commonly needed for configuration of SVT models is defined, it will be implemented (or at least prototyped) in this class.
svt_data_converter A utility class that encapsulates different conversions and calculations used across various protocols. Such as:
svt_controlled_event Extended event class that allows an event to be designed to be automatically triggered based on external conditions. This class must be paired with a helper class named svt_event_controller.
svt_sequence_item_base_iter Virtual base class which defines the iterator interface for iterating over data collectoins.
svt_packer Used to extend the basic `SVT_XVM(packer) abilities for use with SVT based VIP.
svt_comparer Used to extend the basic `SVT_XVM(comparer) abilities for use with SVT based VIP.
svt_randomize_assistant This class provides randomization capabilities for properties that the SystemVerilog language does not currently support.
svt_ovm_report_server Description-Unavailable
svt_report_catcher Description-Unavailable
svt_pattern_data_carrier The svt_pattern_data carrier is used to gather up properties so that they can be acted upon as a group.
svt_object_pattern_data Data object that stores an individual name/value pair, where the value is an svt_sequence_item_base instance.
svt_sequence_item_base Base class for all SVT-based model's data object classes (configuration, transaction, etc.).
svt_fuzzy_real_comparer Used to extend the basic `SVT_XVM(comparer) abilities for use with SVT based VIP.
svt_xml_writer Class which can be used to open and manage the interaction with an XML file for use with the Protocol Analyzer.
svt_pattern Simple data object for describing patterns as name/value pairs along with match characteristics. In addition to the name/value information this includes
  • match_min and match_max
    • Used to define whether the match should repeat
    • Typical matches:
      • If match_min == 1 and match_max == 1 then the match must occur once and only once
      • If match_min == 0 and match == n for some positive n then the match is expected to occur for "up to n" contiguous instances.
  • positive_match (pattern_data)
    • Stored with each name/value pair this indicates whether the individual name/value pair defines a match or mismatch request.
  • positive_match (pattern)
    • Stored with the pattern, indicating whether the overall pattern defines a match or mismatch request.
  • gap_pattern
    • Patterns can sometimes need to describe non-contiguous sequences. In these situations the non-contiguous nature of the match must be described by defining the gaps between the desired match elements. Each gap is itself stored as a pattern, but with the gap_pattern flag set. When set to true the pattern is used to do the match, but is not stored in the match results.
svt_toggle_cov_bit_vector Class used to support toggle coverage for multi-bit buses. Provides this support by bundling together multiple individual svt_toggle_cov_bit instances.
svt_debug_opts The svt_debug_opts class is a singleton class that contains the automated debug options requested by users. Options are provided through the use of runtime plusarg +svt_debug_opts are used to control the behavior of this feature.
svt_debug_opts_carrier The svt_debug_opts_carrier is used to intercept and manage whether the baseline pattern data carrier functionality is actually utilized.
svt_non_abstract_report_object Used to get around the fact that ovm_report_object is an abstract virtual object in OVM 2.1.1/2.1.1_1.
svt_debug_vip_descriptor Data object to save debug information for each SVT VIP in the simulation
svt_vip_writer Utility class used to provide assistance writing information about objects to be displayed with the Protocol Analyzer.
svt_pa_object_data Utility class to hold the object details for Protocol Analyzer or Verdi.
svt_compound_pattern_data Data object for storing an set of name/value pairs.
svt_pattern_data Data object that stores an individual name/value pair.
svt_toggle_cov_bit Single bit coverage variable used to support coverage of individual or bused signals.
svt_types This class is a place where enumerated types commonly used by different SVT Classes are collected. The usage model is that any class that wants to use the svt_types provided enumerations must reference the type of interest using a class-scoped type reference. Note that it is not necessary to create an instance of this class. Simply including this class in the compile is sufficient.