Uvm_scoreboard vs uvm_subscriber

Hi,
What is the difference between uvm_scoreboard and uvm_subscriber??

In reply to Sivajim:

The uvm_scoreboard is an extension of uvm component without adding capabilities. uvm_subscriber is an extension of uvm_component with a built-in analysis_export.

Hi,

  1. In uvm_scoreboard, we can define & initialize analysis_export to implement write function. But what is the use of uvm_subscriber with built-in analysis_export?
  2. user defined scoreboard should be extended from uvm_scoreboard or uvm_subscriber? which is the best option?
    would you please clarify it.

In reply to Sivajim:

This depends on your application and it is also a question of taste.
A scorebord Needs always at least 2 inputs for compairing the data. Finally you need 2 analysis exports. uvm_subscriber has already one.

In reply to Sivajim:
The UVM has a number of classes derived from uvm_component that are simply placeholders for the intended use of the component. They add no functionality other than if you have many classes derived from one of these placeholders, they will be grouped together in a debugging tool. A scoreboard is a component that tells you if your test is running as expected, usually by comparing expected results with predicted results. However, there is no hard requirement that it has any analysis exports.

The UVM also has a few more classes derived from uvm_component that a little bit more than just a placeholder because they are often enough that someone that they needed to be their own class. uvm_subscriber is one of those classes - it is just a uvm_component with one analysis export. This is typically used as a coverage collector.

1 Like

Thank you all