SyoSil ApS UVM Scoreboard
1.0.3.0
|
Configuration class for the SyoSil UVM scoreboard. More...
Inherits uvm_object, and uvm_object.
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... | |
Configuration class for the SyoSil UVM scoreboard.
Definition at line 2 of file cl_syoscb_cfg.svh.
|
virtual |
Configuration API: Checks whether this SCB uses a dynamic or static primary queue.
Definition at line 754 of file cl_syoscb_cfg.svh.
References get_primary_queue().
Referenced by cl_syoscb_compare_base::split_queues().
|
virtual |
Configuration API: Checks if a given producer exists.
producer | The name of the producer to check |
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().
|
virtual |
Configuration API: Checks if a queue with a given name exists.
queue_name | The name of the queue to check |
Definition at line 454 of file cl_syoscb_cfg.svh.
References queues.
Referenced by cl_syoscb::add_item(), cl_syoscb::empty_queues(), cl_syoscb::flush_queues(), get_enable_comparer_report(), get_enable_queue_stats(), get_full_scb_max_queue_size(), get_max_queue_size(), get_max_search_window(), get_printer_verbosity(), get_queue(), get_queue_stat_interval(), cl_syoscb::insert_queues(), cl_syoscb::intermediate_queue_stat_dump(), set_enable_comparer_report(), set_enable_queue_stats(), set_full_scb_max_queue_size(), set_max_queue_size(), set_max_search_window(), set_primary_queue(), set_printer_verbosity(), set_producer(), and set_queue_stat_interval().
|
virtual |
Configuration API: Returns the comparer associated with a given queue and producer.
queue_name | Name of the queue for which the comparer should be returned |
producer_name | Name of the producer for which the associated queues comparer should be returned |
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().
|
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
queue_name | Name of the queue for which the designated comparers enable report bit should be returned |
producer_name | Name of the producer for which the associated queues comparers enable report bit should be returned |
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().
|
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
queue_name | The 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().
|
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
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().
|
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
queue_name | The 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().
|
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
queue_name | The queue for which to get the maximum search window. |
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().
|
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.
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().
|
virtual |
Configuration API: Returns the printer associated with a given producer/queue combination.
queue_name | Name of the queue for which the printer should be returned |
producer_name | Name of the producer for which the associated queues printer should be returned |
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().
|
virtual |
Configuration API: Returns the verbosity bit associated with a given queue/producer combination.
queue_name | Name of the queue for which the designated printerss verbosity bit should be returned |
producer_name | Name of the producer for which the associated queues printerss verbosity bit should be returned |
Definition at line 1070 of file cl_syoscb_cfg.svh.
References default_printer_verbosity, exist_producer(), exist_queue(), and printer_verbosity.
|
virtual |
Configuration API: Gets the producer object for a specified producer.
producer | The name of the producer to get the producer object for |
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().
|
virtual |
Configuration API: Returns the names of all producers
producers | Handle 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().
|
virtual |
Configuration API: Returns a queue handle for the specificed queue.
queue_name | The name of the queue to get a handle for |
Definition at line 398 of file cl_syoscb_cfg.svh.
References exist_queue(), and queues.
Referenced by cl_syoscb::add_item(), cl_syoscb::create_queues_stats(), cl_syoscb_compare_base::dynamic_queue_split_do(), cl_syoscb::empty_queues(), cl_syoscb::flush_queues(), cl_syoscb_compare_base::get_queues_item_cnt(), cl_syoscb::get_total_cnt_add_items(), cl_syoscb::get_total_cnt_flushed_items(), cl_syoscb::get_total_queue_size(), cl_syoscb::insert_queues(), cl_syoscb::intermediate_queue_stat_dump(), and cl_syoscb_compare_base::static_queue_split_do().
|
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
queue_name | The 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().
|
virtual |
Configuration API: Returns all queue names as a string list
queue_names | A handle to a dynamic string array where all queue names will be returned. If this handle already points to an allocated array, that array will be lost. |
Definition at line 425 of file cl_syoscb_cfg.svh.
References queues.
Referenced by cl_syoscb::config_validation(), cl_syoscb::create_queues_stats(), cl_syoscb::dump_join_txt(), cl_syoscb::dump_join_xml(), cl_syoscb::dump_split_txt(), cl_syoscb::dump_split_xml(), cl_syoscb_compare_base::dynamic_queue_split_do(), cl_syoscbs_cfg::get_queues(), cl_syoscb_compare_base::get_queues_item_cnt(), cl_syoscb::get_total_cnt_add_items(), cl_syoscb::get_total_cnt_flushed_items(), cl_syoscb::get_total_queue_size(), cl_syoscb::override_queue_type(), set_comparer(), set_enable_comparer_report(), set_full_scb_dump_split(), set_max_search_window(), set_printer(), set_printer_verbosity(), and cl_syoscb_compare_base::static_queue_split_do().
|
virtual |
Configuration API: Initializes the scoreboard's cfg with the given input parameters.
scb_name | The name of the SCB that this cfg is related to |
queues | Names of all queues used in this SCB |
producers | Names 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().
|
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.
comparer | The comparer to be used for the given queues and producers. |
queue_names | Names of the queues for which the given comparer should be used. |
producer_names | Names 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().
|
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.
|
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.
|
virtual |
Configuration API: Sets the value of the dump_orphans_to_files member variable.
Definition at line 1235 of file cl_syoscb_cfg.svh.
References dump_orphans_to_files, and max_print_orphans.
|
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,
ecr | The value of the comparer report enable/disable flag. See enable_comparer_report for value descriptions. |
queue_names | Names of the queues for which the designated comparers should use this comparer report enable bit |
producer_names | Names 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.
|
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
queue_name | The name of the queue to set the value of enable_queue_stats for |
eqs | The 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().
|
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.
Definition at line 802 of file cl_syoscb_cfg.svh.
References full_scb_dump_split, get_full_scb_max_queue_size(), and get_queues().
|
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
queue_name | The name of the queue for which to set the value of full_scb_max_queue_size |
fsmqs | The 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().
|
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
queue_name | The name of the queue to modify |
mqs | The 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.
|
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.
sw | The maximum search window the for given queues. If set to 0, all items in the given queues are searched |
queue_names | Names 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.
|
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.
primary_queue_name | The name of the queue to make the primary queue |
Definition at line 547 of file cl_syoscb_cfg.svh.
References exist_queue(), and primary_queue.
|
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,
printer | The printer to be used for the given queues and producers |
queue_names | Names of the queues which should use the printer. |
producer_names | Names 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.
|
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,
pv | The value of the verbosity bit to set. See printer_verbosity for value descriptions |
queue_names | Names of the queues for which the designated printers should use this verbosity bit |
producer_names | Names 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.
|
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.
producer | The name of the producer |
queue_names | Array of queue names which the producer should be associated with |
Definition at line 482 of file cl_syoscb_cfg.svh.
References exist_queue(), producers, and cl_syoscb_cfg_pl::set_list().
Referenced by init().
|
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
queue_name | The name of the queue |
queue | The 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().
|
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.
queue_name | The name of the queue for which to set the value |
qsi | The 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.
|
virtual |
Configuration API: Will set the legal queues when provided with a list of queue names.
An example could be: set_queues('{"Q1", "Q2"})
queue_names | The legal queue names to use for this SCB. |
Definition at line 440 of file cl_syoscb_cfg.svh.
References set_queue().
Referenced by init().
|
virtual |
Configuration API: Sets the value of the scb_stat_interval member variable
ssi | The new value of the field |
Definition at line 1294 of file cl_syoscb_cfg.svh.
References scb_stat_interval.
|
virtual |
Configuration API: Returns the number of queues in this SCB
Definition at line 460 of file cl_syoscb_cfg.svh.
References queues.
Referenced by cl_syoscb::build_phase().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
private |
Controls whether comparisons should be disabled after the first UVM_ERROR is raised.
Defaults to 1'b0.
Definition at line 49 of file cl_syoscb_cfg.svh.
Referenced by get_disable_compare_after_error(), and set_disable_compare_after_error().
|
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.
Definition at line 78 of file cl_syoscb_cfg.svh.
Referenced by get_disable_report(), and set_disable_report().
|
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
Definition at line 72 of file cl_syoscb_cfg.svh.
Referenced by get_dump_orphans_to_files(), and set_dump_orphans_to_files().
|
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.
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().
|
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.
Definition at line 157 of file cl_syoscb_cfg.svh.
Referenced by get_enable_comparer_report(), and set_enable_comparer_report().
|
private |
Enable/disable insertion checking on queues.
Defaults to 1'b1.
Definition at line 39 of file cl_syoscb_cfg.svh.
Referenced by get_enable_no_insert_check(), and set_enable_no_insert_check().
|
private |
Enable/disable the printing of queue's statistics per producer.
Defaults to 1'b0. Indexed by queue name.
Definition at line 84 of file cl_syoscb_cfg.svh.
Referenced by get_enable_queue_stats(), set_enable_queue_stats(), and set_queue().
|
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().
|
private |
Controls whether all transactions going into the SCB should be dumped to a logfile.
Defaults to 1'b0 (off).
Definition at line 89 of file cl_syoscb_cfg.svh.
Referenced by get_full_scb_dump(), and set_full_scb_dump().
|
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
Definition at line 103 of file cl_syoscb_cfg.svh.
Referenced by get_full_scb_dump_split(), and set_full_scb_dump_split().
|
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().
|
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().
|
private |
Controls sanity check comparisons on hash queues.
Definition at line 144 of file cl_syoscb_cfg.svh.
Referenced by get_hash_compare_check(), and set_hash_compare_check().
|
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().
|
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().
|
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().
|
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.
Definition at line 205 of file cl_syoscb_cfg.svh.
Referenced by get_mutexed_add_item_enable(), and set_mutexed_add_item_enable().
|
private |
Controls whether a strict item ordering should be used in assoc.
arrays in hash-based queue. Defaults to 1'b1.
Definition at line 132 of file cl_syoscb_cfg.svh.
Referenced by get_ordered_next(), and set_ordered_next().
|
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().
|
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().
|
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().
|
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().
|
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.
Definition at line 179 of file cl_syoscb_cfg.svh.
Referenced by get_printer_verbosity(), and set_printer_verbosity().
|
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().
|
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().
|
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)
Definition at line 211 of file cl_syoscb_cfg.svh.
Referenced by get_queue_stat_interval(), and set_queue_stat_interval().
|
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)
Definition at line 217 of file cl_syoscb_cfg.svh.
Referenced by get_scb_stat_interval(), and set_scb_stat_interval().
|
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().
![]() |
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 Version: 1.8.14 Generated with IDV SV Filter Version: 2.6.3 Fri Sep 2 2022 14:41:01 |