OVM_Scoreboard

Hi,

I have three different agent in my verification environment. All agent have analysis export to sent transaction to my scoreboard. So i have connect all analysis export to single scoreboard analysis import port.During simulation all agent call write method in different time & different sequence based on test-case.

So, How can i manage different transaction received from different agent in scoreboard.? Can i declare multiple write method for all analysis export in scoreboard.?

Looking for your response on the same.

Hi,
You should have write for each port, since you have three agent, you can connect to three import port in the scoreboard and maintain queue for each port with write function this will ease the operation and tracking of transaction. does this answer your question?

In reply to therupesh:

Hi, thanks for replay.
How can i define write for each port in single scoreboard component. Its give me error like :“redefine function was not valid in same class”. When i try to change write method name then its give me error like : “No method exist with this instance”. Your solution sound like above my statement or else.?

Your scoreboard is subscriber for three agents, you cann’t have single write function for all three. you need port implementation declaration macro for the each one here is the example mentioned below:
ovm_analysis_imp_decl(_rcv_txn_ag1) ovm_analysis_imp_decl(_rcv_txn_ag2)
`ovm_analysis_imp_decl(_rcv_txn_ag3)
// Remember that the macro are declared above the class
class ur_scoreboard extend ovm_scoreboard;

// declare the implementation port.
ovm_analysis_imp_rcv_txn_ag1#(ur_txn_item, ur_scoreboard) rcvtxn_frm_agent1;
ovm_analysis_imp_rcv_txn_ag2#(ur_txn_item, ur_scoreboard) rcvtxn_frm_agent2;
ovm_analysis_imp_rcv_txn_ag3#(ur_txn_item, ur_scoreboard) rcvtxn_frm_agent3;

// The write function would be

function void write_rcv_txn_ag1();

endfunction

function void write_rcv_txn_ag2();

endfunction

function void write_rcv_txn_ag3();

endfunction
Regards,
Rupesh.

In reply to therupesh:

Above your solution working for multiple write function implementation in scoreboard component.
again thanks for your replay.