SyoSil ApS UVM Scoreboard
1.0.3.0
|
Base class for a wrapper around multiple SyoSil Scoreboards. More...
Public Member Functions | |
virtual void | build_phase (uvm_phase phase) |
UVM build phase. More... | |
virtual void | connect_phase (uvm_phase phase) |
UVM connect phase. syoscbs_base only calls super.connect_phase. | |
virtual void | report_phase (uvm_phase phase) |
UVM report_phase. More... | |
virtual cl_syoscbs_cfg | get_cfg () |
Gets the configuration object associated with this scoreboard wrapper. | |
virtual cl_syoscb | get_scb (int unsigned idx) |
Scoreboard Wrapper API: Get a handle to a scoreboard inside this wrapper More... | |
virtual void | flush_queues_all () |
Scoreboard Wrapper API: Flush all queues of all scoreboards. | |
virtual void | flush_queues_by_index (int unsigned idxs[]={}, string queue_names[]={}) |
Scoreboard Wrapper API: Flush the queues indicated by queue_names of the scoreboards with indexes idxs. More... | |
virtual void | flush_queues_by_name (string scb_names[]={}, string queue_names[]={}) |
Scoreboard Wrapper API: Flush the queues indicated by queue_names of the scoreboards with names scb_names. More... | |
virtual void | compare_control_all (bit cc) |
Scoreboard Wrapper API: Disable or enable the compare in all scoreboards. More... | |
virtual void | compare_control_by_index (int unsigned idxs[]={}, bit cc) |
Scoreboard Wrapper API: Disable or enable the compare in scoreboards with given indexes. More... | |
virtual void | compare_control_by_name (string scb_names[]={}, bit cc) |
Scoreboard Wrapper API: Disable or enable the compare in scoreboards with given names. More... | |
virtual string | create_report (int unsigned offset, int unsigned first_column_width) |
Scoreboard Wrapper API: Creates a summary report once simulation has finished. More... | |
virtual uvm_component | get_filter_trfm_base (string queue_name, string producer_name, int unsigned idx) |
Scoreboard Wrapper API: Gets a handle to a filter transform as a uvm_component. More... | |
virtual void | do_print (uvm_printer printer) |
Implementation of UVM do_print-hmethod Prints information of all wrapped scoreboards, as well as all filter transforms. More... | |
Protected Member Functions | |
virtual string | create_scb_stats (int unsigned offset, int unsigned first_column_width) |
Returns a string containing the tables with statistics of the different scoreboards. More... | |
virtual void | create_filters (int unsigned idx, cl_syoscb_cfg cfg) |
Create all filter transforms for the given scoreboard. More... | |
virtual void | connect_filters (int unsigned idx, cl_syoscb_cfg cfg) |
Connects all filter transforms with their respective subscribers in the scoreboard. More... | |
virtual void | create_filter (string queue_name, string producer_name, int unsigned idx) |
Creates a filter for given scoreboard/queue name/producer combination. More... | |
virtual void | connect_filter_and_subscriber (string queue_name, string producer_name, int unsigned idx) |
Connects a filter's output to a scoreboard's subscriber. More... | |
virtual string | create_total_stats (int unsigned offset, int unsigned first_column_width) |
Returns a table with summed scoreboard statistics for all wrapped scoreboards. More... | |
virtual string | get_scb_failed_checks () |
Gets information on whether any of the wrapped scoreboards failed to pass error checks. More... | |
Protected Attributes | |
cl_syoscb | scbs [] |
Array holding handles to all scoreboards. | |
cl_syoscbs_cfg | cfg |
Handle to scoreboard wrapper configuration object. | |
uvm_component | fts [][string][string] |
Array holding handles to filter transforms, used to transform inputs of one type to outputs of another type, for feeding into the wrapped scoreboards. More... | |
Base class for a wrapper around multiple SyoSil Scoreboards.
An implementation is found in cl_syoscbs_base
Definition at line 3 of file cl_syoscbs_base.svh.
|
virtual |
UVM build phase.
Receives a cl_syoscbs_cfg object, creates wrapped scoreboards and their configuration objects, forwards configuration objects to each wrapped scoreboard.
Reimplemented in cl_syoscbs< FIN >, and cl_syoscbs< FIN >.
Definition at line 87 of file cl_syoscbs_base.svh.
References cl_syoscbs_cfg::get_cfg(), cl_syoscbs_cfg::get_no_scbs(), cl_syoscbs_cfg::get_print_cfg(), cl_syoscb_cfg::get_scb_name(), cl_syoscbs_cfg::get_scbs_name(), and cl_syoscbs_cfg::set_scbs_name().
|
virtual |
Scoreboard Wrapper API: Disable or enable the compare in all scoreboards.
cc | Compare control bit. If 0b1, enables compare in all scoreboards. If 10b0, disables compare |
Definition at line 288 of file cl_syoscbs_base.svh.
References compare_control_by_index().
|
virtual |
Scoreboard Wrapper API: Disable or enable the compare in scoreboards with given indexes.
If no indexes are specified, all scoreboards are affected.
idxs | The indexes of the scoreboards to enable/disable compare control for |
cc | Compare control bit. If 0b1, enables compare in all scoreboards. If 10b0, disables compare |
Definition at line 296 of file cl_syoscbs_base.svh.
Referenced by compare_control_all().
|
virtual |
Scoreboard Wrapper API: Disable or enable the compare in scoreboards with given names.
If no names are specified, all scoreboards are affected.
scb_names | The names of the scoreboards to enable/disable compare control for |
cc | Compare control bit. If 0b1, enables compare in all scoreboards. If 10b0, disables compare |
Definition at line 312 of file cl_syoscbs_base.svh.
|
protectedvirtual |
Connects a filter's output to a scoreboard's subscriber.
queue_name | The name of the queue to connect the filter to |
producer_name | The name of the producer that produced data going into this filter |
fts_idx | The index of the scoreboard in which this queue exists |
Definition at line 479 of file cl_syoscbs_base.svh.
Referenced by connect_filters().
|
protectedvirtual |
Connects all filter transforms with their respective subscribers in the scoreboard.
Should be called in the UVM connect phase
idx | Index of the scoreboard for which all filters should be connected |
cfg | The configuration object for that scoreboard |
Definition at line 451 of file cl_syoscbs_base.svh.
References cfg, connect_filter_and_subscriber(), and cl_syoscb_cfg_pl::list.
Referenced by cl_syoscbs< FIN >::connect_phase().
|
protectedvirtual |
Creates a filter for given scoreboard/queue name/producer combination.
queue_name | The name of the queue to connect the filter to |
producer_name | The name of the producer that produced data going into this filter |
idx | The index of the scoreboard in which this queue exists |
Definition at line 468 of file cl_syoscbs_base.svh.
Referenced by create_filters().
|
protectedvirtual |
Create all filter transforms for the given scoreboard.
Should be called in the UVM build phase
idx | Index of the scoreboard to create filters for |
cfg | The configuration object for that scoreboard |
Definition at line 434 of file cl_syoscbs_base.svh.
References cfg, create_filter(), and cl_syoscb_cfg_pl::list.
Referenced by cl_syoscbs< FIN >::build_phase().
|
virtual |
Scoreboard Wrapper API: Creates a summary report once simulation has finished.
The report contains insert/match/flush/orphan statistics for the wrapped scoreboards. If the cl_syoscb_cfg::gen_enable_scb_stats configuration knob is active then the report of the different queues in each scoreboard is also included. At the end of the report is a table with the statistics of all scoreboards.
offset | Horizontal offset at which text should start |
first_column_width | The width of the first column in the output table |
Definition at line 347 of file cl_syoscbs_base.svh.
References create_scb_stats(), create_total_stats(), and cl_syoscb_string_library::scb_separator_str().
Referenced by report_phase().
|
protectedvirtual |
Returns a string containing the tables with statistics of the different scoreboards.
If the cl_syoscbs_cfg::enable_scb_stats configuration knob is active for a given scoreboard, the report of the individual queues of that scoreboard is also included.
offset | Horizontal offset at which text should start. Depends on the level of nested calls (see cl_syoscbs_base::report_phase implementation) |
first_column_width | The width of the first column in the output table |
Definition at line 396 of file cl_syoscbs_base.svh.
References cl_syoscb::create_report_contents(), cl_syoscb::create_total_stats(), cl_syoscbs_cfg::get_enable_scb_stats(), and cl_syoscb_string_library::scb_separator_str().
Referenced by create_report().
|
protectedvirtual |
Returns a table with summed scoreboard statistics for all wrapped scoreboards.
offset | Horizontal offset at which text should start |
first_column_width | The width of the first column in the output table |
Definition at line 363 of file cl_syoscbs_base.svh.
References cl_syoscb::get_total_cnt_add_items(), cl_syoscb::get_total_cnt_flushed_items(), cl_syoscb::get_total_queue_size(), and cl_syoscb_string_library::pad_str().
Referenced by create_report().
|
virtual |
Implementation of UVM do_print-hmethod Prints information of all wrapped scoreboards, as well as all filter transforms.
printer | The UVM printer to use |
Definition at line 489 of file cl_syoscbs_base.svh.
|
virtual |
Scoreboard Wrapper API: Flush the queues indicated by queue_names of the scoreboards with indexes idxs.
If no indexes are specified, all scoreboards will be affected by the flush. If no queue names are specified all queues are flushed.
idxs | indexes of the scoreboards to flush |
queue_names | Names of the queues under those scoreboards to flush |
Definition at line 225 of file cl_syoscbs_base.svh.
Referenced by flush_queues_all().
|
virtual |
Scoreboard Wrapper API: Flush the queues indicated by queue_names of the scoreboards with names scb_names.
If no scoreboard names are specified all the scoreboards will be affected by the flush. If no queue names are specified all queues are flushed.
scb_names | Names of the scoreboards to flush |
queue_names | Names of the queues under those scoreboards to flush |
Definition at line 259 of file cl_syoscbs_base.svh.
|
virtual |
Scoreboard Wrapper API: Gets a handle to a filter transform as a uvm_component.
The end user must typecast this uvm_component to the correct type, based on the kind of filter transforms that is implemented
queue_name | The name of the queue to connect the filter to |
producer_name | The name of the producer that produced data going into this filter |
fts_idx | The index of the scoreboard in which this queue exists |
Definition at line 194 of file cl_syoscbs_base.svh.
Referenced by cl_syoscbs< FIN >::get_filter_trfm().
|
virtual |
Scoreboard Wrapper API: Get a handle to a scoreboard inside this wrapper
idx | The index of that scoreboard |
Definition at line 175 of file cl_syoscbs_base.svh.
|
protectedvirtual |
Gets information on whether any of the wrapped scoreboards failed to pass error checks.
These error checks include orphan checking and no-insertion checks.
Definition at line 417 of file cl_syoscbs_base.svh.
References cl_syoscb::get_failed_checks().
Referenced by report_phase().
|
virtual |
UVM report_phase.
Prints the status of all scoreboard instances.
Definition at line 128 of file cl_syoscbs_base.svh.
References create_report(), cl_syoscbs_cfg::get_disable_report(), cl_syoscbs_cfg::get_max_length_producer(), cl_syoscbs_cfg::get_max_length_queue_name(), cl_syoscbs_cfg::get_max_length_scb_name(), get_scb_failed_checks(), cl_syoscb_string_library::scb_header_str(), and cl_syoscb_string_library::scb_separator_str().
|
protected |
Array holding handles to filter transforms, used to transform inputs of one type to outputs of another type, for feeding into the wrapped scoreboards.
Declared as type uvm_component
for flexibility. See example of implementation in cl_syoscbs_base. AA is indexed by [scb_idx][queue_name][producer_name]
Definition at line 18 of file cl_syoscbs_base.svh.
Referenced by cl_syoscbs< FIN >::connect_phase(), and do_print().
![]() |
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:16 |