diff --git a/common/sv/scoreboard.sv b/common/sv/scoreboard.sv index 4e43b425..e65ad9a0 100644 --- a/common/sv/scoreboard.sv +++ b/common/sv/scoreboard.sv @@ -15,13 +15,8 @@ package scoreboard_pkg; sink_type_t sink_type ; // List of analysis ports from the monitors - x_monitor source_tm; - x_monitor sink_tm; - - // transaction queues (because the source and sink interface can have - // different widths, byte streams are used) - mailbox_c #(logic [7:0]) source_mailbox; - mailbox_c #(logic [7:0]) sink_mailbox; + x_monitor source_monitor; + x_monitor sink_monitor; logic [7:0] source_byte_stream [$]; logic [7:0] sink_byte_stream [$]; @@ -57,20 +52,16 @@ package scoreboard_pkg; // connect the analysis ports of the monitor to the scoreboard function void set_source_stream( - x_monitor source_tm, - mailbox_c #(logic [7:0]) source_mailbox); + x_monitor source_monitor); - this.source_tm = source_tm; - this.source_mailbox = source_mailbox; + this.source_monitor = source_monitor; endfunction: set_source_stream function void set_sink_stream( - x_monitor sink_tm, - mailbox_c #(logic [7:0]) sink_mailbox); + x_monitor sink_monitor); - this.sink_tm = sink_tm; - this.sink_mailbox = sink_mailbox; + this.sink_monitor = sink_monitor; endfunction: set_sink_stream @@ -120,16 +111,16 @@ package scoreboard_pkg; logic [7:0] source_byte; forever begin - this.source_tm.wait_for_transaction_event(); - this.source_tm.get_key(); - for (int i=0; i 0) begin this.axi_ap.get(transaction); - num_bytes = transaction.get_data_width()/8; - for (int i=0; i<(transaction.get_len()+1); i++) begin - data_beat = transaction.get_data_beat(i); - for (int j=0; j end_of_first_cycle; - // end + if (transaction.get_cmd_type() == operation_type) begin // WRITE + this.put_key(); + num_bytes = transaction.get_data_width()/8; + for (int i=0; i<(transaction.get_len()+1); i++) begin + data_beat = transaction.get_data_beat(i); + for (int j=0; j 0) begin @@ -232,10 +217,10 @@ package x_monitor_pkg; num_bytes = transaction.get_data_width()/8; data_beat = transaction.get_data_beat(); for (int j=0; j