A scoreboard is a verification component that contains checkers and verifies the functionality of a design. It usually receives transactions carrying inputs and outputs of the DUT from a UVM agent via TLM Analysis Ports, which then runs the input packets through some kind of a reference model that would mimic the behavior of DUT to produce expected data. The final task is to compare expected results with the actual output data from DUT. The reference model is also called a predictor.
It is recommended to inherit from uvm_scoreboard than uvm_component so that any additions to uvm_scoreboard class in a future release of UVM will automatically be included in the custom scoreboard when you switch to the newer version.
To define a scoreboard:
Create a custom class inherited from uvm_scoreboard
Add the TLM export necessary to communicate with different monitors
Define the action to be taken when the export is called