Hi,
My monitor is sending two transactions to scoreboard at the same timestamp through analysis port, call it txn1 and txn2. The txn1 and txn2 are sending to the TLM analysis FIFO in the scoreboard, which using fifo.get(t) to get the transactions. But since two transaction are sending at the same simulation time, with txn1 first followed by txn2 (this is what I see from the simulation log file right now), however the scoreboard is getting txn1 and immediately gets txn2, which does not have enough time to process txn1, the txn1 is completely lost. In my simulation log file I only manage to see scoreboard process txn2.
task run();
txn_proc(req_txn);
endtask
task txn_proc(my_trans t);
forever begin
req_fifo.get(t);
if (t.cyc==wr_cyc) wr_cyc_proc(t);
if (t.cyc=rd_cyc) rd_cyc_proc(t);
....
end
endtask
May I know how to make sure the scoreboard able to process both txn for this case?
Thanks!