How to access packet in scoreboard

Hi,

How can i create a handler of packet in scoreboard and access it as we do in driver and monitor class.
So my agenda is to capture output of DUT from monitor and give it to BFM. I have BFM inside Scoreboard. Now i have to compare my input sent to DUT and Output received from BFM should be same.

I have used uvm_blocking_put_port(PORT(monitor)->PORT(Agent)->EXPORT(scoreboard)->IMP(BFM))[UVM TLM Port to Export to Imp] to connect monitor to my BFM so i have to capture my input sent to DUT and output from BFM in scoreboard how do I do that.

I tried creating handler to packet in scoreboard I am not able to do that pls if anybody knows solution help me out.

In reply to Swathi BN:

Please read here
https://verificationacademy.com/cookbook/analysis
It explains all the details you are asking for.

In reply to chr_sue:

So in which scenarios uvm_blocking_put_port connection can be used?
Above link says I have to use analysis port.

And also have another question- can we use diff port connections to one class. I mean to scoreboard can I have both analysis port connection and uvm_blocking_put_port connection. Is that possible?

In reply to Swathi BN:

If you are using a blocking port you’ll loose transaction. This not your objective. Use the analysis port instead.

In reply to Swathi BN:

How can i create a handler of packet in scoreboard and access it as we do in driver and monitor class.
So my agenda is to capture output of DUT from monitor and give it to BFM. I have BFM inside Scoreboard. Now i have to compare my input sent to DUT and Output received from BFM should be same.

What do you mean by “handler”? Do you mean code that receives the packet handle and processes it? Use analysis ports and the handler is a write() function that receives handles to the inputs and outputs of the design.

Also, what is the BFM? Usually this means Bus Functional Model, which is code that you can call to generate transactions on a bus. Maybe you meant “reference model” which receives input transactions and generates the expected output transactions that can be compared with the actual transactions from the design outputs.

In reply to chr_sue:

Thank you

In reply to chrisspear:

I meant Handler for instance and yes its reference model.

Thank you will use analysis port.