Класс Scoreboard описан в файле Scoreboard.sv. Основной метод класса Scoreboard::start() последовательно берет посланные приемниками транзакции из почтовых ящиков:

rcvr2sb[0].get(old_trans);
rcvr2sb[1].get(new_trans);					

и сравнивает их:

if (old_trans.compare(new_trans)) begin
    $display(" %0d : Scoreboard : Equal outputs ",$time);
end else begin
    $display(" %0d : Scoreboard : **ERROR: Unequal outputs ",$time);
    old_trans.errors++;
end

Для сравнения вызывается метод Transaction::compare. Если транзакции не совпадают, то вектор ошибок увеличивается на 1. Эти действия выполняются до тех пор, пока драйвер не выставит сигнал stop.
Код класса Scoreboard:

`ifndef _SCOREBOARD_
`define _SCOREBOARD_

class Scoreboard;

mailbox #(Transaction) rcvr2sb[2];

// Constructor
function new(mailbox #(Transaction) rcvr2sb[2]);
    this.rcvr2sb = rcvr2sb;
endfunction : new

task start();

Transaction old_trans, new_trans;

    while (!old_trans.stop) begin
        rcvr2sb[0].get(old_trans);
        rcvr2sb[1].get(new_trans);
        $display(" %0d : Scoreboard : Transactions received ",$time);
        $display(" %0d : Scoreboard : OLD scheme outputs: \n %s ", $time,
old_trans.display_outputs());
        $display(" %0d : Scoreboard : NEW scheme outputs: \n %s ", $time,
new_trans.display_outputs());
        if (old_trans.compare(new_trans)) begin
            $display(" %0d : Scoreboard : Equal outputs ",$time);
        end else begin
            $display(" %0d : Scoreboard : **ERROR: Unequal outputs ",$time);
            old_trans.errors++;
        end
    end

endtask : start

endclass

`endif

Описание этого класса при конфигурировании тестового окружения не изменяется.