SyoSil ApS UVM Scoreboard  1.0.3.0
Public Member Functions | Public Attributes | Private Attributes | List of all members
cl_syoscb_cfg Class Reference

Configuration class for the SyoSil UVM scoreboard. More...

Inherits uvm_object, and uvm_object.

+ Collaboration diagram for cl_syoscb_cfg:

Public Member Functions

virtual void init (string scb_name, string queues[], string producers[])
 Configuration API: Initializes the scoreboard's cfg with the given input parameters. More...
 
virtual cl_syoscb_queue_base get_queue (string queue_name)
 Configuration API: Returns a queue handle for the specificed queue. More...
 
virtual void set_queue (string queue_name, cl_syoscb_queue_base queue)
 Configuration API: Sets the queue object for a given queue. More...
 
virtual void get_queues (output string queue_names[])
 Configuration API: Returns all queue names as a string list More...
 
virtual void set_queues (string queue_names[])
 Configuration API: Will set the legal queues when provided with a list of queue names. More...
 
virtual bit exist_queue (string queue_name)
 Configuration API: Checks if a queue with a given name exists. More...
 
virtual int unsigned size_queues ()
 Configuration API: Returns the number of queues in this SCB More...
 
virtual cl_syoscb_cfg_pl get_producer (string producer)
 Configuration API: Gets the producer object for a specified producer. More...
 
virtual bit set_producer (string producer, queue_names[])
 Configuration API: Sets the given producer for the listed queues If any errors occur, information about this is printed as a UVM_DEBUG message If a list of queues has already been set for a given producer, overrides that list. More...
 
virtual bit exist_producer (string producer)
 Configuration API: Checks if a given producer exists. More...
 
virtual void get_producers (output string producers[])
 Configuration API: Returns the names of all producers More...
 
virtual string get_primary_queue ()
 Configuration API: Gets the name of primary queue for this SCB. More...
 
virtual bit set_primary_queue (string primary_queue_name)
 Configuration API: Sets the primary queue. More...
 
virtual void set_queue_type (t_scb_queue_type qt)
 Configuration API: Set the value of the queue_type member variable
 
virtual t_scb_queue_type get_queue_type ()
 Configuration API: Get the value of the queue_type member variable
 
virtual void set_compare_type (t_scb_compare_type ct)
 Configuration API: Set the value of the compare_type member variable
 
virtual t_scb_compare_type get_compare_type ()
 Configuration API: Get the value of the compare_type member variable
 
virtual void set_trigger_greediness (t_scb_compare_greed tg)
 Configuration API: Set the value of the trigger_greediness member variable
 
virtual t_scb_compare_greed get_trigger_greediness ()
 Configuration API: Get the value of the trigger_greediness member variable
 
virtual void set_end_greediness (t_scb_compare_greed eg)
 Configuration API: Set the value of the end_greediness member variable
 
virtual t_scb_compare_greed get_end_greediness ()
 Configuration API: Get the value of the end_greediness member variable
 
virtual void set_disable_clone (bit dc)
 Configuration API: Set the value of the disable_clone member variable
 
virtual bit get_disable_clone ()
 Configuration API: Get the value of the disable_clone member variable
 
virtual void set_disable_compare_after_error (bit dcae)
 Configuration API: Set the value of the disable_compare_after_error member variable
 
virtual bit get_disable_compare_after_error ()
 Configuration API: Get the value of the disable_compare_after_error member variable
 
virtual void set_max_queue_size (string queue_name, int unsigned mqs)
 Configuration API: Set the maximum number of items allowed in a given queue. More...
 
virtual int unsigned get_max_queue_size (string queue_name)
 Configuration API: Returns the maximum number of items allowed in a given queue. More...
 
virtual void set_orphans_as_errors (oae)
 Configuration API: Set the value of the print_orphans_as_errors member variable
 
virtual bit get_orphans_as_errors ()
 Configuration API: Get the value of the print_orphans_as_errors member variable
 
virtual void set_max_print_orphans (int mpo)
 Configuration API: Set the value of the max_print_orphans member variable Not that if mpo < -1 throws a UVM_FATAL
 
virtual int get_max_print_orphans ()
 Configuration API: Get the value of the max_print_orphans member variable
 
virtual void set_disable_report (bit dr)
 Configuration API: Set the value of the disable_report member variable
 
virtual bit get_disable_report ()
 Configuration API: Get the value of the disable_report member variable
 
virtual void set_enable_queue_stats (string queue_name, bit eqs)
 Configuration API: Set the value of enable_queue_stats for a given queue If no queue exists with that name, throws a UVM_FATAL More...
 
virtual bit get_enable_queue_stats (string queue_name)
 Configuration API: Get the value of enable_queue_stats for a given queue If no queue exists with that name, throws a UVM_FATAL More...
 
virtual string get_scb_name ()
 Configuration API: Get the name of the SCB that this cfg is related to
 
virtual void set_scb_name (string scb_name)
 Configuration API: Set the name of the SCB that this cfg is related to
 
virtual bit get_ordered_next ()
 Configuration API: Get the value of the ordered_next member variable.
 
virtual void set_ordered_next (bit ordered_next)
 Configuration API: Set the value of the ordered_next member variable.
 
virtual t_hash_compare_check get_hash_compare_check ()
 Configuration API: Get the value of the hash_compare_check member variable
 
virtual void set_hash_compare_check (t_hash_compare_check hcc)
 Configuration API: Set the value of the hash_compare_check member variable
 
virtual bit get_print_cfg ()
 Configuration API: Get the value of the print_cfg member variable
 
virtual void set_print_cfg (bit pc)
 Configuration API: Set the value of the print_cfg member variable
 
virtual bit dynamic_primary_queue ()
 Configuration API: Checks whether this SCB uses a dynamic or static primary queue. More...
 
virtual void set_full_scb_dump (bit fsd)
 Configuration API: Set the value of the full_scb_dump member variable
 
virtual bit get_full_scb_dump ()
 Configuration API: Get the value of the full_scb_dump member variable
 
virtual void set_enable_c2s_full_scb_dump (bit ecfsd)
 Configuration API: Get the value of the enable_c2s_full_scb_dump member variable
 
virtual bit get_enable_c2s_full_scb_dump ()
 Configuration API: Set the value of the enable_c2s_full_scb_dump member variable
 
virtual void set_full_scb_dump_type (t_dump_type fsdt)
 Configuration API: Set the value of the full_scb_dump_type member variable
 
virtual t_dump_type get_full_scb_dump_type ()
 Configuration API: Get the value of the full_scb_dump_type member variable
 
virtual string get_full_scb_dump_file_name ()
 Configuration API: Get the value of the full_scb_dump_file_name member variable
 
virtual void set_full_scb_dump_file_name (string full_scb_dump_file_name)
 Configuration API: Set the value of the full_scb_dump_file_name member variable
 
virtual bit set_full_scb_dump_split (bit fsds)
 Configuration API: Set the value of the full_scb_dump_split member variable Note that setting full_scb_max_queue_size > 0 for any queue in the SCB will make it impossible to set fsds=0. More...
 
virtual bit get_full_scb_dump_split ()
 Configuration API: Get the value of the full_scb_dump_split member variable
 
virtual void set_full_scb_max_queue_size (string queue_name, int unsigned fsmqs)
 Configuration API: Set the value of the full_scb_max_queue_size member variable. More...
 
virtual int unsigned get_full_scb_max_queue_size (string queue_name)
 Configuration API: Get the value of the full_scb_max_queue_size member variable for a given queue. More...
 
virtual int unsigned get_max_length_queue_name ()
 Configuration API: Returns the length of the queue name with maximum length
 
virtual int unsigned get_max_length_producer ()
 Configuration API: Returns the length of the producer name with maximum length
 
virtual void set_enable_comparer_report (bit ecr, string queue_names[], string producer_names[])
 Configuration API: Enables or disables the comparer report for a number of comparers. More...
 
virtual bit get_enable_comparer_report (string queue_name, string producer_name)
 Configuration API: Returns the comparer report enable bit associated with a given queue/producer combination. More...
 
virtual void set_default_enable_comparer_report (bit ecr)
 Configuration API: Set the value of the default_enable_comparer_report member variable. More...
 
virtual bit get_default_enable_comparer_report ()
 Configuration API: Get the value of the default_enable_comparer_report member variable
 
virtual void set_comparer (uvm_comparer comparer, string queue_names[], string producer_names[])
 Configuration API: Sets the comparer to be used for a number of queues. More...
 
virtual uvm_comparer get_comparer (string queue_name, string producer_name)
 Configuration API: Returns the comparer associated with a given queue and producer. More...
 
virtual void set_default_comparer (uvm_comparer comparer)
 Configuration API: Set the value of the default_comparer member variable
 
virtual uvm_comparer get_default_comparer ()
 Configuration API: Get the value of the default_comparer member variable
 
virtual void set_printer_verbosity (bit pv, string queue_names[], string producer_names[])
 Configuration API: Sets the verbosity level to be used for a number of printers. More...
 
virtual bit get_printer_verbosity (string queue_name, string producer_name)
 Configuration API: Returns the verbosity bit associated with a given queue/producer combination. More...
 
virtual void set_default_printer_verbosity (bit pv)
 Configuration API: Set the value of the default_printer_verbosity member variable. More...
 
virtual bit get_default_printer_verbosity ()
 Configuration API: Get the value of the default_printer_verbosity member variable
 
virtual void set_printer (uvm_printer printer, string queue_names[], string producer_names[])
 Configuration API: Sets the given uvm_printer to be used for some queue/producer-combinations. More...
 
virtual uvm_printer get_printer (string queue_name, string producer_name)
 Configuration API: Returns the printer associated with a given producer/queue combination. More...
 
virtual uvm_printer get_default_printer ()
 Configuration API: Get the value of the default_printer member variable
 
virtual void set_default_printer (uvm_printer printer)
 Configuration API: Set the value of the default_printer member variable
 
virtual void set_enable_no_insert_check (bit enic)
 Configuration API: Set the value of the enable_no_insert_check member variable.
 
virtual bit get_enable_no_insert_check ()
 Configuration API: Gets the values of the enable_no_insert_check member variable
 
virtual void set_max_search_window (int unsigned sw, string queue_names[])
 Configuration API: Sets the maximum search window when performing OOO, IOP or user defined comparison operations. More...
 
virtual int unsigned get_max_search_window (string queue_name)
 Configuration API: Returns the value of max_search_window for a given queue. More...
 
virtual bit get_dump_orphans_to_files ()
 Configuration API: Gets the value of the dump_orphans_to_files member variable
 
virtual void set_dump_orphans_to_files (bit dotf)
 Configuration API: Sets the value of the dump_orphans_to_files member variable. More...
 
virtual string get_orphan_dump_file_name ()
 Configuration API: Gets the value of the orphan_dump_file_name member variable
 
virtual void set_orphan_dump_file_name (string odfn)
 Configuration API: Sets the value of the orphan_dump_file_name member variable
 
virtual void set_mutexed_add_item_enable (bit maie)
 Configuration API: Sets the value of the mutexed_add_item_enable member variable.
 
virtual bit get_mutexed_add_item_enable ()
 Configuration API: Gets the value of the mutexed_add_item_enable member variable.
 
virtual void set_queue_stat_interval (string queue_name, int unsigned qsi)
 Configuration API: Sets the value of the queue_stat_interval member variable for the given queue. More...
 
virtual int unsigned get_queue_stat_interval (string queue_name)
 Configuration API: Gets the value of the queue_stat_interval member variable for the given queue. More...
 
virtual void set_scb_stat_interval (int unsigned ssi)
 Configuration API: Sets the value of the scb_stat_interval member variable More...
 
virtual int unsigned get_scb_stat_interval ()
 Configuration API: Gets the value of the scb_stat_interval member variable
 
virtual void set_orphan_dump_type (t_dump_type odt)
 Configuration API: Sets the value of the orphan_dump_type member variable
 
virtual t_dump_type get_orphan_dump_type ()
 Configuration API: Get the value of the orphan_dump_type member variable
 

Public Attributes

local t_scb_queue_type queue_type = pk_syoscb::SYOSCB_QUEUE_USER_DEFINED
 Queue topology used in the SCB. Defaults to pk_syoscb::SYOSCB_QUEUE_USER_DEFINED.
 
local t_scb_compare_type compare_type = pk_syoscb::SYOSCB_COMPARE_USER_DEFINED
 Compare strategy used in the SCB. Defaults to pk_syoscb::SYOSCB_COMPARE_IO.
 

Private Attributes

cl_syoscb_queue_base queues [string]
 Associative array holding handles to each queue. Indexed by queue name.
 
cl_syoscb_cfg_pl producers [string]
 Associative array indexed by producer name. More...
 
string primary_queue
 Name of the primary queue used in this scoreboard. More...
 
string scb_name
 The name of the SCB. Default will be the instance name of the SCB component if the name is not set explicitly.
 
t_scb_compare_greed trigger_greediness = pk_syoscb::SYOSCB_COMPARE_NOT_GREEDY
 Defines the greed level for comparison operations. More...
 
t_scb_compare_greed end_greediness = pk_syoscb::SYOSCB_COMPARE_GREEDY
 See trigger_greediness for description. More...
 
bit enable_no_insert_check = 0b1
 Enable/disable insertion checking on queues. More...
 
bit disable_clone = 0b0
 Controls whether calls to cl_syoscb::add_item will clone the given uvm_sequence_item or reuse the handle. More...
 
bit disable_compare_after_error = 0b0
 Controls whether comparisons should be disabled after the first UVM_ERROR is raised. More...
 
int unsigned max_queue_size [string]
 Maximum number of elements in each queue before an error is signaled. More...
 
bit print_orphans_as_errors = 0b0
 Controls whether orphaned items in the queues should be treated as errors when printing at the end of simulation. More...
 
int max_print_orphans = 0
 Select the maximum number of orphaned elements to print if any orphans are left in a queue after simulation. More...
 
bit dump_orphans_to_files = 0b0
 Controls whether all orphaned items should be dumped to queue-specific files at the end of simulation. More...
 
bit disable_report = 0b0
 Controls whether a report should be generated in the report_phase. More...
 
bit enable_queue_stats [string]
 Enable/disable the printing of queue's statistics per producer. More...
 
bit full_scb_dump = 0b0
 Controls whether all transactions going into the SCB should be dumped to a logfile. More...
 
bit enable_c2s_full_scb_dump = 0b0
 Controls whether items in the full scoreboard dump should be dumped using print() or convert2string(). More...
 
bit full_scb_dump_split = 0b0
 Controls whether SCB dumps (controlled by full_scb_dump) print all transactions in the same file, or if separate files are used for each queue. More...
 
int unsigned full_scb_max_queue_size [string]
 Controls the number of elements that a queue in the SCB can receive before transaction dumping starts. More...
 
t_dump_type full_scb_dump_type = pk_syoscb::TXT
 File format used when dumping SCB contents to a logfile. More...
 
t_dump_type orphan_dump_type = pk_syoscb::TXT
 File format used when dumping orphans to logfiles. More...
 
string full_scb_dump_file_name = "full_scb_dump"
 Base file name used when dumping SCB contents to a logfile.
 
string orphan_dump_file_name = "orphan_dump"
 Base file name used when dumping orphans to a logfile.
 
bit ordered_next = 0b1
 Controls whether a strict item ordering should be used in assoc. More...
 
t_hash_compare_check hash_compare_check = pk_syoscb::SYOSCB_HASH_COMPARE_NO_VALIDATION
 Controls sanity check comparisons on hash queues. More...
 
bit print_cfg = 0b0
 Controls whether the scoreboard's configuration values should be printed in the cl_syoscb::build_phase(). More...
 
bit enable_comparer_report [string][string]
 Associative array holding the bit enabling the comparer report for a specific queue/producer combination. More...
 
bit default_enable_comparer_report = 0b1
 The default comparer report toggle for a uvm_comparer that can be used when no other verbosity has been assigned to a queue's comparer. More...
 
uvm_comparer comparers [string][string]
 Associative array holding handles to comparers used for a specific queue/producer combination. More...
 
uvm_comparer default_comparer
 The default uvm_comparer that can be used when no other comparer has been assigned to a queue/producer. More...
 
bit printer_verbosity [string][string]
 Associative array holding the printer verbosity bit for a specific queue/producer combination. More...
 
bit default_printer_verbosity = 0b0
 Default printer verbosity bit. More...
 
uvm_printer printers [string][string]
 Associative array holding handles to printers used for a specific queue/producer combination. More...
 
uvm_printer default_printer
 The default printer used for all printing purposes if no specific printer has been associated with a queue. More...
 
int unsigned max_search_window [string]
 The maximum number of entries to iterate through in a queue when performing OOO compare. More...
 
bit mutexed_add_item_enable = 0b0
 Controls whether cl_syoscb::add_item() should be mutexed or not. More...
 
int unsigned queue_stat_interval [string]
 Defines an interval value N for each queue, such that the queue's statistics are printed on every N'th insertion. More...
 
int unsigned scb_stat_interval = 0
 Defines an interval value N, similar to queue_stat_interval, causing a printout of all queue stats in the SCB on every N'th insertion. More...
 

Detailed Description

Configuration class for the SyoSil UVM scoreboard.

Definition at line 2 of file cl_syoscb_cfg.svh.

Member Function Documentation

◆ dynamic_primary_queue()

bit cl_syoscb_cfg::dynamic_primary_queue ( )
virtual

Configuration API: Checks whether this SCB uses a dynamic or static primary queue.

Returns
0b1 if the primary queue is dynamic, 10b0 if it is static

Definition at line 754 of file cl_syoscb_cfg.svh.

References get_primary_queue().

Referenced by cl_syoscb_compare_base::split_queues().

◆ exist_producer()

bit cl_syoscb_cfg::exist_producer ( string  producer)
virtual

Configuration API: Checks if a given producer exists.

Parameters
producerThe name of the producer to check
Returns
0b1 if that producer exists, 10b0 otherwise

Definition at line 517 of file cl_syoscb_cfg.svh.

References cl_syoscb_cfg_pl::exists(), and producers.

Referenced by cl_syoscb::add_item(), get_comparer(), get_enable_comparer_report(), get_printer(), get_printer_verbosity(), get_producer(), set_comparer(), set_enable_comparer_report(), set_printer(), and set_printer_verbosity().

◆ exist_queue()

bit cl_syoscb_cfg::exist_queue ( string  queue_name)
virtual

◆ get_comparer()

uvm_comparer cl_syoscb_cfg::get_comparer ( string  queue_name,
string  producer_name 
)
virtual

Configuration API: Returns the comparer associated with a given queue and producer.

Parameters
queue_nameName of the queue for which the comparer should be returned
producer_nameName of the producer for which the associated queues comparer should be returned
Returns
The requested comparer. If no comparer has been set for a given queue/producer, returns null. Also returns null if either of the input parameters are invalid.

Definition at line 991 of file cl_syoscb_cfg.svh.

References comparers, exist_producer(), and get_producer().

Referenced by cl_syoscb_compare_io_2hp::primary_loop_do(), cl_syoscb_queue_locator_hash< pk_syoscb::MD5_HASH_DIGEST_WIDTH >::search(), cl_syoscb_queue_locator_std::search(), cl_syoscb_compare_io::secondary_loop_do(), cl_syoscb_compare_iop::secondary_loop_do(), cl_syoscb_queue_locator_hash< pk_syoscb::MD5_HASH_DIGEST_WIDTH >::validate_match(), and cl_syoscb_queue_locator_hash< pk_syoscb::MD5_HASH_DIGEST_WIDTH >::validate_no_match().

◆ get_enable_comparer_report()

bit cl_syoscb_cfg::get_enable_comparer_report ( string  queue_name,
string  producer_name 
)
virtual

Configuration API: Returns the comparer report enable bit associated with a given queue/producer combination.

If no bit has been set for a given queue's comparer by using set_enable_comparer_report, returns default_enable_comparer_report

Parameters
queue_nameName of the queue for which the designated comparers enable report bit should be returned
producer_nameName of the producer for which the associated queues comparers enable report bit should be returned
Returns
The given queue/producer combinations comparer enable report bit, or the default value if none has been set for this specific queue/producer combination

Definition at line 928 of file cl_syoscb_cfg.svh.

References default_enable_comparer_report, enable_comparer_report, exist_producer(), and exist_queue().

Referenced by cl_syoscb_compare_base::generate_miscmp_table().

◆ get_enable_queue_stats()

bit cl_syoscb_cfg::get_enable_queue_stats ( string  queue_name)
virtual

Configuration API: Get the value of enable_queue_stats for a given queue If no queue exists with that name, throws a UVM_FATAL

Parameters
queue_nameThe name of the queue to get the value of enable_queue_stats for

Definition at line 703 of file cl_syoscb_cfg.svh.

References enable_queue_stats, and exist_queue().

Referenced by cl_syoscb_queue_base::create_queue_report().

◆ get_full_scb_max_queue_size()

int unsigned cl_syoscb_cfg::get_full_scb_max_queue_size ( string  queue_name)
virtual

Configuration API: Get the value of the full_scb_max_queue_size member variable for a given queue.

If no queue exists with that name, prints a UVM_DEBUG message

Returns
The value of full_scb_max_queue_size if the queue name is valid, 0 otherwise

Definition at line 842 of file cl_syoscb_cfg.svh.

References exist_queue(), and full_scb_max_queue_size.

Referenced by cl_syoscb::add_item(), and set_full_scb_dump_split().

◆ get_max_queue_size()

int unsigned cl_syoscb_cfg::get_max_queue_size ( string  queue_name)
virtual

Configuration API: Returns the maximum number of items allowed in a given queue.

If no queue exists with that name, throws a UVM_FATAL

Parameters
queue_nameThe name of the queue to get the maximum size for

Definition at line 645 of file cl_syoscb_cfg.svh.

References exist_queue(), and max_queue_size.

Referenced by cl_syoscb::add_item().

◆ get_max_search_window()

int unsigned cl_syoscb_cfg::get_max_search_window ( string  queue_name)
virtual

Configuration API: Returns the value of max_search_window for a given queue.

If an invalid queue name is passed, prints a UVM_DEBUG message

Parameters
queue_nameThe queue for which to get the maximum search window.
Returns
That queues max. search window. If no maximum search window has been set, returns 0

Definition at line 1211 of file cl_syoscb_cfg.svh.

References exist_queue(), and max_search_window.

Referenced by cl_syoscb_compare_ooo::primary_loop_do(), cl_syoscb_compare_iop::primary_loop_do(), cl_syoscb_queue_locator_std::search(), and cl_syoscb_compare_iop::secondary_loop_do().

◆ get_primary_queue()

string cl_syoscb_cfg::get_primary_queue ( )
virtual

Configuration API: Gets the name of primary queue for this SCB.

The primary queue is used by the compare algorithms to select which queue to use as the primary one.

Returns
The name of the primary queue. If no primary queue has been set, returns an empty string

Definition at line 538 of file cl_syoscb_cfg.svh.

References primary_queue.

Referenced by dynamic_primary_queue(), and cl_syoscb_compare_base::get_primary_queue_name().

◆ get_printer()

uvm_printer cl_syoscb_cfg::get_printer ( string  queue_name,
string  producer_name 
)
virtual

Configuration API: Returns the printer associated with a given producer/queue combination.

Parameters
queue_nameName of the queue for which the printer should be returned
producer_nameName of the producer for which the associated queues printer should be returned
Returns
That queue/producer combinations printer. If none has been set, or either argument is invalid, returns null.

Definition at line 1134 of file cl_syoscb_cfg.svh.

References exist_producer(), get_producer(), and printers.

Referenced by cl_syoscb_queue_base::dump(), and cl_syoscb_queue_base::dump_orphans_to_file().

◆ get_printer_verbosity()

bit cl_syoscb_cfg::get_printer_verbosity ( string  queue_name,
string  producer_name 
)
virtual

Configuration API: Returns the verbosity bit associated with a given queue/producer combination.

Parameters
queue_nameName of the queue for which the designated printerss verbosity bit should be returned
producer_nameName of the producer for which the associated queues printerss verbosity bit should be returned
Returns
That queue/producer combinations printer verbosity bit. If none has been set, or either argument is invalid, returns default_printer_verbosity.

Definition at line 1070 of file cl_syoscb_cfg.svh.

References default_printer_verbosity, exist_producer(), exist_queue(), and printer_verbosity.

◆ get_producer()

cl_syoscb_cfg_pl cl_syoscb_cfg::get_producer ( string  producer)
virtual

Configuration API: Gets the producer object for a specified producer.

Parameters
producerThe name of the producer to get the producer object for
Returns
The producer object for the requested producer, null if no producer has that name

Definition at line 467 of file cl_syoscb_cfg.svh.

References exist_producer(), and producers.

Referenced by cl_syoscb::build_phase(), get_comparer(), get_printer(), set_comparer(), set_enable_comparer_report(), set_printer(), and set_printer_verbosity().

◆ get_producers()

void cl_syoscb_cfg::get_producers ( output string  producers[])
virtual

Configuration API: Returns the names of all producers

Parameters
producersHandle to dynamic string array in which producer names are returned. If the handle already points to an allocated array, that handle is overwritten.

Definition at line 524 of file cl_syoscb_cfg.svh.

References producers.

Referenced by cl_syoscb::build_phase(), cl_syoscb_queue_base::create_producer_stats(), cl_syoscb_queue_base::flush_queue(), set_comparer(), set_enable_comparer_report(), set_printer(), and set_printer_verbosity().

◆ get_queue()

cl_syoscb_queue_base cl_syoscb_cfg::get_queue ( string  queue_name)
virtual

◆ get_queue_stat_interval()

int unsigned cl_syoscb_cfg::get_queue_stat_interval ( string  queue_name)
virtual

Configuration API: Gets the value of the queue_stat_interval member variable for the given queue.

If the given queue name does not match an existing queue, throws a UVM_FATAL. If no stat interval has been set for the given queue yet, returns 0

Parameters
queue_nameThe name of the queue for which to get the value

Definition at line 1283 of file cl_syoscb_cfg.svh.

References exist_queue(), and queue_stat_interval.

Referenced by cl_syoscb::add_item().

◆ get_queues()

void cl_syoscb_cfg::get_queues ( output string  queue_names[])
virtual

◆ init()

void cl_syoscb_cfg::init ( string  scb_name,
string  queues[],
string  producers[] 
)
virtual

Configuration API: Initializes the scoreboard's cfg with the given input parameters.

Parameters
scb_nameThe name of the SCB that this cfg is related to
queuesNames of all queues used in this SCB
producersNames of all producers used in this scb

Definition at line 375 of file cl_syoscb_cfg.svh.

References get_default_comparer(), producers, queues, set_default_comparer(), set_producer(), set_queues(), set_scb_name(), and cl_syoscb_comparer_config::set_verbosity().

◆ set_comparer()

void cl_syoscb_cfg::set_comparer ( uvm_comparer  comparer,
string  queue_names[],
string  producer_names[] 
)
virtual

Configuration API: Sets the comparer to be used for a number of queues.

If both "queue_names" and "producer_names" are empty, sets the given comparer for all queue/producer combinations. If an invalid/non-existent queue or producer name is passed, a DEBUG message is printed.

Parameters
comparerThe comparer to be used for the given queues and producers.
queue_namesNames of the queues for which the given comparer should be used.
producer_namesNames of the producers for which all associated queues should use the given comparer.

Definition at line 959 of file cl_syoscb_cfg.svh.

References comparers, exist_producer(), cl_syoscb_cfg_pl::exists(), get_producer(), get_producers(), and get_queues().

◆ set_default_enable_comparer_report()

void cl_syoscb_cfg::set_default_enable_comparer_report ( bit  ecr)
virtual

Configuration API: Set the value of the default_enable_comparer_report member variable.

See enable_comparer_report for legal values.

Definition at line 943 of file cl_syoscb_cfg.svh.

References default_enable_comparer_report.

◆ set_default_printer_verbosity()

void cl_syoscb_cfg::set_default_printer_verbosity ( bit  pv)
virtual

Configuration API: Set the value of the default_printer_verbosity member variable.

See printer_verbosity for legal values

Definition at line 1085 of file cl_syoscb_cfg.svh.

References default_printer_verbosity.

◆ set_dump_orphans_to_files()

void cl_syoscb_cfg::set_dump_orphans_to_files ( bit  dotf)
virtual

Configuration API: Sets the value of the dump_orphans_to_files member variable.

Note
If dotf == 0b1 and max_print_orphans < 0, a UVM_FATAL is thrown as it does not make sense to dump orphans when no orphans are printed.

Definition at line 1235 of file cl_syoscb_cfg.svh.

References dump_orphans_to_files, and max_print_orphans.

◆ set_enable_comparer_report()

void cl_syoscb_cfg::set_enable_comparer_report ( bit  ecr,
string  queue_names[],
string  producer_names[] 
)
virtual

Configuration API: Enables or disables the comparer report for a number of comparers.

If both "queue_names" and "producer_names" are empty, sets the comparer report enable bit for all queue/producer combinations If an invalid/non-existent queue or producer name is passed, a DEBUG message is printed,

Parameters
ecrThe value of the comparer report enable/disable flag. See enable_comparer_report for value descriptions.
queue_namesNames of the queues for which the designated comparers should use this comparer report enable bit
producer_namesNames of the producers for which all associated queues comparers should use the given value

Definition at line 888 of file cl_syoscb_cfg.svh.

References enable_comparer_report, exist_producer(), exist_queue(), get_producer(), get_producers(), get_queues(), and cl_syoscb_cfg_pl::list.

◆ set_enable_queue_stats()

void cl_syoscb_cfg::set_enable_queue_stats ( string  queue_name,
bit  eqs 
)
virtual

Configuration API: Set the value of enable_queue_stats for a given queue If no queue exists with that name, throws a UVM_FATAL

Parameters
queue_nameThe name of the queue to set the value of enable_queue_stats for
eqsThe new value of enable_queue_stats for that queue

Definition at line 692 of file cl_syoscb_cfg.svh.

References enable_queue_stats, and exist_queue().

◆ set_full_scb_dump_split()

bit cl_syoscb_cfg::set_full_scb_dump_split ( bit  fsds)
virtual

Configuration API: Set the value of the full_scb_dump_split member variable Note that setting full_scb_max_queue_size > 0 for any queue in the SCB will make it impossible to set fsds=0.

A UVM_DEBUG message is printed if this happens.

Returns
0b1 if the value was successfully set, 10b0 otherwise

Definition at line 802 of file cl_syoscb_cfg.svh.

References full_scb_dump_split, get_full_scb_max_queue_size(), and get_queues().

◆ set_full_scb_max_queue_size()

void cl_syoscb_cfg::set_full_scb_max_queue_size ( string  queue_name,
int unsigned  fsmqs 
)
virtual

Configuration API: Set the value of the full_scb_max_queue_size member variable.

full_scb_dump_split must be enabled before setting this value. If not, a UVM_DEBUG message is printed and the call fails If no queue exists with that name, throws a UVM_FATAL

Parameters
queue_nameThe name of the queue for which to set the value of full_scb_max_queue_size
fsmqsThe new value of full_scb_max_queue_size

Definition at line 828 of file cl_syoscb_cfg.svh.

References exist_queue(), full_scb_max_queue_size, and get_full_scb_dump_split().

◆ set_max_queue_size()

void cl_syoscb_cfg::set_max_queue_size ( string  queue_name,
int unsigned  mqs 
)
virtual

Configuration API: Set the maximum number of items allowed in a given queue.

Defaults to 0 (no maximum number of items). If no queue exists with that name, throws a UVM_FATAL

Parameters
queue_nameThe name of the queue to modify
mqsThe maximum number of items allowed in that queue

Definition at line 634 of file cl_syoscb_cfg.svh.

References exist_queue(), and max_queue_size.

◆ set_max_search_window()

void cl_syoscb_cfg::set_max_search_window ( int unsigned  sw,
string  queue_names[] 
)
virtual

Configuration API: Sets the maximum search window when performing OOO, IOP or user defined comparison operations.

If the current comparison type is not SYOSCB_COMPARE_OOO, SYOSCB_COMPARE_IOP or SYOSCB_COMPARE_USER_DEFINED, a uvm_fatal is generated. All other comparison types expect matching items to be at the head of their respective queues, so these comparisons are the only place where the notion of a maximum search window makes sense. Will also throw a fatal if the given queue's type is not one of SYOSCB_QUEUE_STD or SYOSCB_QUEUE_USER_DEFINED. A maximum search window does not make sense when using MD5-queues, as all lookups are performed in O(1) time, independent of the number of elements in the queue.

Parameters
swThe maximum search window the for given queues. If set to 0, all items in the given queues are searched
queue_namesNames of the queues to set the maximum search window for. If an empty array is given, the maximum search window for all queues is set to sw. If an invalid queue name is passed, a UVM_FATAL is raised.

Definition at line 1187 of file cl_syoscb_cfg.svh.

References compare_type, exist_queue(), get_queues(), max_search_window, and queue_type.

◆ set_primary_queue()

bit cl_syoscb_cfg::set_primary_queue ( string  primary_queue_name)
virtual

Configuration API: Sets the primary queue.

The primary queue is used by the compare algorithms to select which queue to use as the primary one. If the given name does not match an existing queue's name, prints a UVM_DEBUG message.

Parameters
primary_queue_nameThe name of the queue to make the primary queue
Returns
0b1 if the primary queue was successfully set, 10b0 if the input queue name does not match a valid queue name

Definition at line 547 of file cl_syoscb_cfg.svh.

References exist_queue(), and primary_queue.

◆ set_printer()

void cl_syoscb_cfg::set_printer ( uvm_printer  printer,
string  queue_names[],
string  producer_names[] 
)
virtual

Configuration API: Sets the given uvm_printer to be used for some queue/producer-combinations.

If both "queue_names" and "producer_names" are empty, sets that printer to be used for all queue/producers If an invalid/non-existent queue or producer name is passed, a DEBUG message is printed,

Parameters
printerThe printer to be used for the given queues and producers
queue_namesNames of the queues which should use the printer.
producer_namesNames of the producers for which all associated queues should use the given printer.

Definition at line 1101 of file cl_syoscb_cfg.svh.

References exist_producer(), cl_syoscb_cfg_pl::exists(), get_producer(), get_producers(), get_queues(), and printers.

◆ set_printer_verbosity()

void cl_syoscb_cfg::set_printer_verbosity ( bit  pv,
string  queue_names[],
string  producer_names[] 
)
virtual

Configuration API: Sets the verbosity level to be used for a number of printers.

If both "queue_names" and "producer_names" are empty, sets the verbosity bit for all queue/producer combinations If an invalid/non-existent queue or producer name is passed, a DEBUG message is printed,

Parameters
pvThe value of the verbosity bit to set. See printer_verbosity for value descriptions
queue_namesNames of the queues for which the designated printers should use this verbosity bit
producer_namesNames of the producers for which all associated queues printers should use the given verbosity bit.

Definition at line 1033 of file cl_syoscb_cfg.svh.

References exist_producer(), exist_queue(), get_producer(), get_producers(), get_queues(), cl_syoscb_cfg_pl::list, and printer_verbosity.

◆ set_producer()

bit cl_syoscb_cfg::set_producer ( string  producer,
queue_names  [] 
)
virtual

Configuration API: Sets the given producer for the listed queues If any errors occur, information about this is printed as a UVM_DEBUG message If a list of queues has already been set for a given producer, overrides that list.

Parameters
producerThe name of the producer
queue_namesArray of queue names which the producer should be associated with
Returns
0b1 if everything works correctly, 10b0 if an errors occurs

Definition at line 482 of file cl_syoscb_cfg.svh.

References exist_queue(), producers, and cl_syoscb_cfg_pl::set_list().

Referenced by init().

◆ set_queue()

void cl_syoscb_cfg::set_queue ( string  queue_name,
cl_syoscb_queue_base  queue 
)
virtual

Configuration API: Sets the queue object for a given queue.

Also sets the values of max_queue_size and enable_queue_stats for the given queue to 0

Parameters
queue_nameThe name of the queue
queueThe queue object to set the queue name to point to

Definition at line 412 of file cl_syoscb_cfg.svh.

References enable_queue_stats, max_queue_size, and queues.

Referenced by cl_syoscb::override_queue_type(), and set_queues().

◆ set_queue_stat_interval()

void cl_syoscb_cfg::set_queue_stat_interval ( string  queue_name,
int unsigned  qsi 
)
virtual

Configuration API: Sets the value of the queue_stat_interval member variable for the given queue.

If the given queue name does not match an existing queue, throws a UVM_FATAL.

Parameters
queue_nameThe name of the queue for which to set the value
qsiThe new value of the queues statistic printout interval

Definition at line 1271 of file cl_syoscb_cfg.svh.

References exist_queue(), and queue_stat_interval.

◆ set_queues()

void cl_syoscb_cfg::set_queues ( string  queue_names[])
virtual

Configuration API: Will set the legal queues when provided with a list of queue names.

An example could be: set_queues('{"Q1", "Q2"})

Parameters
queue_namesThe legal queue names to use for this SCB.
Note
Throws a UVM_FATAL if queue_names is empty

Definition at line 440 of file cl_syoscb_cfg.svh.

References set_queue().

Referenced by init().

◆ set_scb_stat_interval()

void cl_syoscb_cfg::set_scb_stat_interval ( int unsigned  ssi)
virtual

Configuration API: Sets the value of the scb_stat_interval member variable

Parameters
ssiThe new value of the field

Definition at line 1294 of file cl_syoscb_cfg.svh.

References scb_stat_interval.

◆ size_queues()

int unsigned cl_syoscb_cfg::size_queues ( )
virtual

Configuration API: Returns the number of queues in this SCB

Returns
That value

Definition at line 460 of file cl_syoscb_cfg.svh.

References queues.

Referenced by cl_syoscb::build_phase().

Member Data Documentation

◆ comparers

uvm_comparer cl_syoscb_cfg::comparers
private

Associative array holding handles to comparers used for a specific queue/producer combination.

If no comparer has been set for a given queue/producer combination, the default_comparer is used.

Definition at line 167 of file cl_syoscb_cfg.svh.

Referenced by get_comparer(), and set_comparer().

◆ default_comparer

uvm_comparer cl_syoscb_cfg::default_comparer
private

The default uvm_comparer that can be used when no other comparer has been assigned to a queue/producer.

By default, this comparer has a verbosity of UVM_LOW, causing miscompare information to be printed when performing OOO compares. To change this, use cl_syoscb_comparer_config::set_verbosity to change the verbosity level

Definition at line 172 of file cl_syoscb_cfg.svh.

Referenced by get_default_comparer(), and set_default_comparer().

◆ default_enable_comparer_report

bit cl_syoscb_cfg::default_enable_comparer_report = 0b1
private

The default comparer report toggle for a uvm_comparer that can be used when no other verbosity has been assigned to a queue's comparer.

Defaults to 1'b1 (comparer report is enabled) for IO, IOP and IO-2HP comparisons. Defaults to 1'b0 (comparer report is disabled) for OOO and User Defned comparisons. See enable_comparer_report for additional details.

Definition at line 163 of file cl_syoscb_cfg.svh.

Referenced by get_default_enable_comparer_report(), get_enable_comparer_report(), set_compare_type(), and set_default_enable_comparer_report().

◆ default_printer

uvm_printer cl_syoscb_cfg::default_printer
private

The default printer used for all printing purposes if no specific printer has been associated with a queue.

Defaults to being a uvm_default_printer

Definition at line 191 of file cl_syoscb_cfg.svh.

Referenced by get_default_printer(), and set_default_printer().

◆ default_printer_verbosity

bit cl_syoscb_cfg::default_printer_verbosity = 0b0
private

Default printer verbosity bit.

Controls the number of array elements to output when printing a tx item. See field printer_verbosity for value descriptions. Defaults to 1'b0 (5 elements are printed at the head/tail of lists)

Definition at line 183 of file cl_syoscb_cfg.svh.

Referenced by get_default_printer_verbosity(), get_printer_verbosity(), and set_default_printer_verbosity().

◆ disable_clone

bit cl_syoscb_cfg::disable_clone = 0b0
private

Controls whether calls to cl_syoscb::add_item will clone the given uvm_sequence_item or reuse the handle.

Defaults to 1'b0

Definition at line 44 of file cl_syoscb_cfg.svh.

Referenced by get_disable_clone(), and set_disable_clone().

◆ disable_compare_after_error

bit cl_syoscb_cfg::disable_compare_after_error = 0b0
private

Controls whether comparisons should be disabled after the first UVM_ERROR is raised.

Defaults to 1'b0.

  • 1'b0 => Comparions are not disabled after the first UVM_ERROR
  • 1'b1 => Comparisons are disabled after the first UVM_ERROR

Definition at line 49 of file cl_syoscb_cfg.svh.

Referenced by get_disable_compare_after_error(), and set_disable_compare_after_error().

◆ disable_report

bit cl_syoscb_cfg::disable_report = 0b0
private

Controls whether a report should be generated in the report_phase.

Defaults to 1'b0 Used when e.g. this scb is wrapped by cl_syoscbs wrapper.

  • 1'b0 => Report is not disabled
  • 1'b1 => Report is disabled

Definition at line 78 of file cl_syoscb_cfg.svh.

Referenced by get_disable_report(), and set_disable_report().

◆ dump_orphans_to_files

bit cl_syoscb_cfg::dump_orphans_to_files = 0b0
private

Controls whether all orphaned items should be dumped to queue-specific files at the end of simulation.

Defaults to 1'b0. If set, a number of files named <scb_name>.<orphan_dump_file_name>.<queue_name>_orphans.log are generated at the end of simulation. The number of orphans that are printed is controlled by the knob max_print_orphans The value of <orphan_dump_file_name> is set by orphan_dump_file_name

  • 1'b0 => Orphans are not dumped to files at the end of simulation
  • 1'b1 => Orphans are dumped to files at the end of simulation

Definition at line 72 of file cl_syoscb_cfg.svh.

Referenced by get_dump_orphans_to_files(), and set_dump_orphans_to_files().

◆ enable_c2s_full_scb_dump

bit cl_syoscb_cfg::enable_c2s_full_scb_dump = 0b0
private

Controls whether items in the full scoreboard dump should be dumped using print() or convert2string().

Defaults to 1'b0 (using object.print()). If enabled and full_scb_dump_type is set to TXT, the convert2string()-implementation of the wrapped object is used when dumping. The output of convert2string must be one line, otherwise a UVM_WARNING is raised.

  • 1'b0 => Items are dumped using their .print()-representation
  • 1'b1 >= Items are dumped using their .convert2string()-representation

Definition at line 97 of file cl_syoscb_cfg.svh.

Referenced by get_enable_c2s_full_scb_dump(), and set_enable_c2s_full_scb_dump().

◆ enable_comparer_report

bit cl_syoscb_cfg::enable_comparer_report
private

Associative array holding the bit enabling the comparer report for a specific queue/producer combination.

The comparer report contains information on the specific fields where a miscompare happens. If no value has been set the value of default_enable_comparer_report is used.

  • 1'b0 => Disable comparer report.
  • 1'b1 => Enable comparer report.

Definition at line 157 of file cl_syoscb_cfg.svh.

Referenced by get_enable_comparer_report(), and set_enable_comparer_report().

◆ enable_no_insert_check

bit cl_syoscb_cfg::enable_no_insert_check = 0b1
private

Enable/disable insertion checking on queues.

Defaults to 1'b1.

  • 1'b1 => Enables the check. If a queue has not had any insertions at the end of simulation, a UVM_ERROR is raised
  • 1'b0 => Disables the insertion check. No error is raised if a queue did not have any insertions.

Definition at line 39 of file cl_syoscb_cfg.svh.

Referenced by get_enable_no_insert_check(), and set_enable_no_insert_check().

◆ enable_queue_stats

bit cl_syoscb_cfg::enable_queue_stats
private

Enable/disable the printing of queue's statistics per producer.

Defaults to 1'b0. Indexed by queue name.

  • 1'b0 => Queue's producer-specific stats are disabled
  • 1'b1 => Queue's producer-specific stats are enabled

Definition at line 84 of file cl_syoscb_cfg.svh.

Referenced by get_enable_queue_stats(), set_enable_queue_stats(), and set_queue().

◆ end_greediness

t_scb_compare_greed cl_syoscb_cfg::end_greediness = pk_syoscb::SYOSCB_COMPARE_GREEDY
private

See trigger_greediness for description.

Defaults to pk_syoscb::SYOSCB_COMPARE_GREEDY This greed level is used in the cl_syoscb_compare::extract_phase() to drain remaining matches if they exist.

Definition at line 34 of file cl_syoscb_cfg.svh.

Referenced by get_end_greediness(), and set_end_greediness().

◆ full_scb_dump

bit cl_syoscb_cfg::full_scb_dump = 0b0
private

Controls whether all transactions going into the SCB should be dumped to a logfile.

Defaults to 1'b0 (off).

  • 1'b0 => Disables dumping all transactions to a logfile
  • 1'b1 => Enables dumping all transactions to a logfile

Definition at line 89 of file cl_syoscb_cfg.svh.

Referenced by get_full_scb_dump(), and set_full_scb_dump().

◆ full_scb_dump_split

bit cl_syoscb_cfg::full_scb_dump_split = 0b0
private

Controls whether SCB dumps (controlled by full_scb_dump) print all transactions in the same file, or if separate files are used for each queue.

Defaults to 1'b0

  • 1'b0 => Dump the transactions of all the queues into the same file.
  • 1'b1 => Dump the transactions of each queue in separate file.

Definition at line 103 of file cl_syoscb_cfg.svh.

Referenced by get_full_scb_dump_split(), and set_full_scb_dump_split().

◆ full_scb_dump_type

t_dump_type cl_syoscb_cfg::full_scb_dump_type = pk_syoscb::TXT
private

File format used when dumping SCB contents to a logfile.

Defaults to TXT. Valid values are pk_syoscb::TXT and pk_syoscb::XML.

Definition at line 111 of file cl_syoscb_cfg.svh.

Referenced by get_full_scb_dump_type(), and set_full_scb_dump_type().

◆ full_scb_max_queue_size

int unsigned cl_syoscb_cfg::full_scb_max_queue_size
private

Controls the number of elements that a queue in the SCB can receive before transaction dumping starts.

Defaults to 0 (items are logged every time they are added to the SCB)

Definition at line 107 of file cl_syoscb_cfg.svh.

Referenced by get_full_scb_max_queue_size(), and set_full_scb_max_queue_size().

◆ hash_compare_check

t_hash_compare_check cl_syoscb_cfg::hash_compare_check = pk_syoscb::SYOSCB_HASH_COMPARE_NO_VALIDATION
private

Controls sanity check comparisons on hash queues.

  • NO_VALIDATION => Does not perform any additional validations after finding an item in the secondary queue which matches the digest of the primary item.
  • VALIDATE_MATCH => If an item is found in the secondary queue, compares the fields of the primary item to those of the secondary to validate the match.
  • VALIDATE_NO_MATCH => If a match is not found in the secondary queue, performs ordinary comparison of the primary item to all items in the secondary queue. This may incur a significant performance hit due to the many additional comparisons.
  • VALIDATE_ALL => Performs validation when matches are found and when matches are not found. Only used for hash-based queue implementations. Defaults to SYOSCB_HASH_COMPARE_NO_VALIDATION.

Definition at line 144 of file cl_syoscb_cfg.svh.

Referenced by get_hash_compare_check(), and set_hash_compare_check().

◆ max_print_orphans

int cl_syoscb_cfg::max_print_orphans = 0
private

Select the maximum number of orphaned elements to print if any orphans are left in a queue after simulation.

Defaults to 0 (print everything). If set to -1, no orphans are printed. If set to 0, all orphans are printed. If set to a positive value N, prints up to N orphans from each queue. See also dump_orphans_to_files for the ability to log orphans into a file

Definition at line 64 of file cl_syoscb_cfg.svh.

Referenced by get_max_print_orphans(), set_dump_orphans_to_files(), and set_max_print_orphans().

◆ max_queue_size

int unsigned cl_syoscb_cfg::max_queue_size
private

Maximum number of elements in each queue before an error is signaled.

0 means no limit (default). Indexed by queue name.

Definition at line 53 of file cl_syoscb_cfg.svh.

Referenced by get_max_queue_size(), set_max_queue_size(), and set_queue().

◆ max_search_window

int unsigned cl_syoscb_cfg::max_search_window
private

The maximum number of entries to iterate through in a queue when performing OOO compare.

If no matches are found within the search window, it is registered as no match occuring. If max_search_window == 0, all items in a given queue are searched. The maximum search window can be set on a per-queue basis using set_max_search_window() Defaults to 0 (search everything)

Definition at line 198 of file cl_syoscb_cfg.svh.

Referenced by get_max_search_window(), and set_max_search_window().

◆ mutexed_add_item_enable

bit cl_syoscb_cfg::mutexed_add_item_enable = 0b0
private

Controls whether cl_syoscb::add_item() should be mutexed or not.

Defaults to 1'b0 (not mutexed). When enabled, whenever an item is added to the SCB, the mutex cl_syoscb::add_item_mutex must be acquired. This ensures that no other items are added while scanning for a match, preserving queue order when iterating.

  • 1'b0 => Adding items is not mutexed
  • 1'b1 => Adding items is mutexed

Definition at line 205 of file cl_syoscb_cfg.svh.

Referenced by get_mutexed_add_item_enable(), and set_mutexed_add_item_enable().

◆ ordered_next

bit cl_syoscb_cfg::ordered_next = 0b1
private

Controls whether a strict item ordering should be used in assoc.

arrays in hash-based queue. Defaults to 1'b1.

  • 1'b0 => Use the SystemVerilog implementation of the next() function for associative arrays in the hash queue implementations. This does not guarantee the order to insertion order For OOO compares using the hash queues this is an option which makes the OOO compare perform at its maximum
  • 1'b1 => Guarantee the order of insertions by maintaining some metadata. The OOO compare with hashed queues take a minor performance hit when this is enabled. Only valid for hash based queue implementations. Defaults to 1'b1 (guaranteed order of insertions)

Definition at line 132 of file cl_syoscb_cfg.svh.

Referenced by get_ordered_next(), and set_ordered_next().

◆ orphan_dump_type

t_dump_type cl_syoscb_cfg::orphan_dump_type = pk_syoscb::TXT
private

File format used when dumping orphans to logfiles.

Default to TXT Valid values are pk_syoscb::TXT and pk_syoscb::XML If set to XML, orphan dump logfiles will use .xml extension instead of .log

Definition at line 116 of file cl_syoscb_cfg.svh.

Referenced by get_orphan_dump_type(), and set_orphan_dump_type().

◆ primary_queue

string cl_syoscb_cfg::primary_queue
private

Name of the primary queue used in this scoreboard.

If set to an empty string, the primary queue is dynamically selected when performing comparions (takes the shortest queue)

Definition at line 15 of file cl_syoscb_cfg.svh.

Referenced by get_primary_queue(), and set_primary_queue().

◆ print_cfg

bit cl_syoscb_cfg::print_cfg = 0b0
private

Controls whether the scoreboard's configuration values should be printed in the cl_syoscb::build_phase().

Defaults to 1'b0 (disable).

Definition at line 150 of file cl_syoscb_cfg.svh.

Referenced by get_print_cfg(), and set_print_cfg().

◆ print_orphans_as_errors

bit cl_syoscb_cfg::print_orphans_as_errors = 0b0
private

Controls whether orphaned items in the queues should be treated as errors when printing at the end of simulation.

Defaults to 1'b0. -1'b0 => Orphans are printed with UVM_INFO -1'b1 => Orphans are printed as UVM_ERRORs

Definition at line 58 of file cl_syoscb_cfg.svh.

Referenced by get_orphans_as_errors(), and set_orphans_as_errors().

◆ printer_verbosity

bit cl_syoscb_cfg::printer_verbosity
private

Associative array holding the printer verbosity bit for a specific queue/producer combination.

This verbosity bit controls the number of elements to be printed at the start/end of a list in a tx item. If no entry has been set for a specific queue/producer combination the value of default_printer_verbosity is used.

  • 1'b0 => Number of elements at the head and at the end of a list is 5 (unless changed with cl_syoscb_printer_config::set_printer_begin/end_elements)
  • 1'b1 => No maximum number of elements (the entire list contents are printed)

Definition at line 179 of file cl_syoscb_cfg.svh.

Referenced by get_printer_verbosity(), and set_printer_verbosity().

◆ printers

uvm_printer cl_syoscb_cfg::printers
private

Associative array holding handles to printers used for a specific queue/producer combination.

If no printer has been set for a specific queue/producer combination, uses the printer set in default_printer.

Definition at line 187 of file cl_syoscb_cfg.svh.

Referenced by get_printer(), and set_printer().

◆ producers

cl_syoscb_cfg_pl cl_syoscb_cfg::producers
private

Associative array indexed by producer name.

Returns the list of queues which this producer is related to.

Definition at line 11 of file cl_syoscb_cfg.svh.

Referenced by exist_producer(), get_max_length_producer(), get_producer(), get_producers(), init(), and set_producer().

◆ queue_stat_interval

int unsigned cl_syoscb_cfg::queue_stat_interval
private

Defines an interval value N for each queue, such that the queue's statistics are printed on every N'th insertion.

All entries default to 0 (stat printouts disabled)

  • 0 => Printing stats are disabled for the given queue
  • N>0 => The given queue's stats are printed every N insertions into the queue.

Definition at line 211 of file cl_syoscb_cfg.svh.

Referenced by get_queue_stat_interval(), and set_queue_stat_interval().

◆ scb_stat_interval

int unsigned cl_syoscb_cfg::scb_stat_interval = 0
private

Defines an interval value N, similar to queue_stat_interval, causing a printout of all queue stats in the SCB on every N'th insertion.

Default value is 0 (stat printout disabled)

  • 0 => Printing SCB stats is disabled
  • N>0 => The SCB stats are printed after every N insertions into the SCB.

Definition at line 217 of file cl_syoscb_cfg.svh.

Referenced by get_scb_stat_interval(), and set_scb_stat_interval().

◆ trigger_greediness

t_scb_compare_greed cl_syoscb_cfg::trigger_greediness = pk_syoscb::SYOSCB_COMPARE_NOT_GREEDY
private

Defines the greed level for comparison operations.

Defaults to pk_syoscb::SYOSCB_COMPARE_NOT_GREEDY The greed level controls whether a comparison trigger will attempt to drain the SCB by performing additional comparisons if the previous comparison was successful (greedy) or if only a single comparison is performed when triggered (not greedy)

Definition at line 30 of file cl_syoscb_cfg.svh.

Referenced by get_trigger_greediness(), and set_trigger_greediness().


The documentation for this class was generated from the following files:

Project: SyoSil ApS UVM Scoreboard, Revision: 1.0.3.0

Copyright 2014-2022 SyoSil ApS
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.
doxygen
Doxygen Version: 1.8.14
Generated with IDV SV Filter Version: 2.6.3
Fri Sep 2 2022 14:41:01
Find a documentation bug? Report bugs to: scoreboard@syosil.com