Comparing the data of seq_items from two interfaces (bus_txn, dut_txn) in Scoreboard

Hi All,

I Have a Scenario where i need check the outputs from DUT based on the Bus driven inputs and both of them are using
two different interfaces.

I have tried using tlm_analysis_fifo’s, I want use dut_txn packet data in all available tasks.

Please guide me that how can i make a “dut_afifo.get(dut_txn)” dut_txn packet global so that all tasks in Scoreboard can use that data.

Thanks In Advance.
Suresh.

In reply to jpms.suresh:

A scoreboard compares generally data extracted from different interfaces. For this you need a reference model on the transaction-level which converts your bus_txn inti dut_txn. Then you can compare the data.

In reply to jpms.suresh:
You need to define what the differences are between bus_txn and dut_txn, and what it is you are looking to compare. Sometime you can make the two txn classes derived from the same base, or have one extended from the other. But we need more explanation.

In reply to dave_59:

Hi Dave,

Actually I need to compare the data which is stored in registers(signals)based on the bus_txn write data and address,
i have used different interfaces for bus_txn and dut input dut_txn .

I need to get both transactions for in same task.

i have tried to store dut_txn data in queue but it is giving error.

// tlm fifos declaration //
uvm_tlm_analysis_fifo #(dut_txn) dut_afifo;
uvm_tlm_analysis_fifo #(bus_txn) dut_afifo1;

// run_phase//
 task_dut_txn;
 task_bus_txn;

//task definitions //
task_dut_txn;
dut_afifo.get(dut_txn);
...................
endtask


task_bus_txn;
dut_afifo1.get(bus_txn);
.......
if(bus_txn.address==1) begin 
 if(dut_txn.data==bus_txn.data[7:0] begin
......
....
endtask

This is what i am trying to do…
can you please help me that how can i make my dut_txn available throughout scoreboard components.

Thanks & Regards,
Suresh.