Professional Documents
Culture Documents
Apb Demo Scoreboard - SV
Apb Demo Scoreboard - SV
num_init_reads++;
end
if (transfer.read_write == WRITE) begin
op = transfer.read_write.name();
data = transfer.data[i];
`uvm_info(get_type_name(),
$sformatf("%s to existing address...Updating address : %0h with da
ta : %0h",
op, transfer.addr + i, data), UVM_LOW)
m_mem_expected[transfer.addr + i] = transfer.data[i];
num_writes++;
end
end
// Check to see if entry in associative array for this address
// If not, update the location regardless if read or write.
else begin
op = transfer.read_write.name();
data = transfer.data[i];
`uvm_info(get_type_name(),
$sformatf("%s to empty address...Updating address : %0h with data : %0
h",
op, transfer.addr + i, data), UVM_LOW)
m_mem_expected[transfer.addr + i] = transfer.data[i];
if(transfer.read_write == READ)
num_uninit_reads++;
else if (transfer.read_write == WRITE)
num_writes++;
end
end
endfunction : memory_verify
// report
function void report();
if(!disable_scoreboard)
`uvm_info(get_type_name(),
$sformatf("Reporting scoreboard information...\n%s", this.sprint()),
UVM_LOW)
endfunction : report