Guaranteeing rsp id before and after driving the DUT

Hello,

I am new to UVM, and I am trying to create a scoreboard. I know that scoreboards are usually constituted by a predictor and an evaluator. Also that this evaluator/comparator can work assuming that transactions are issued in order or out-of-order, my question is, in the out-of-order case, how we preserve the request id for the “after” sequence? We are creating it from the signals that the DUT has via the virtual interface. From where we do get this information?

Thanks in advance,
Marc

In reply to Marc43:

When extracting your seq_items and constructing the rsp, you have to copy the id which belongs to the req. Then you know hich rsp belongs to which req.

In reply to chr_sue:

Thanks for your reply.

That’s what I thought, but the monitor is collecting the signals from the Virtual Interface. The id is in the response (set by the request), but the response is sent back to the sequencer, not the monitor. Here is where I miss something.

In reply to Marc43:

Then you should ask if you really need a monitor.

In reply to chr_sue:

I don’t see your point.

I’ve never seen a monitor connected to the driver to get the responses back. In all the examples I’ve seen (UVM Cookbook included) the monitor takes the signals from the Virtual Interface.

Could you please, explain to me what do you mean?

Thanks.

In reply to Marc43:

In your case it seems to be a benfit to work without a monitor, extracting your responses in the driver and sending them back to the sequence (if needed) or provide them through an analysis port for further processing.

In reply to chr_sue:

Please, forget about my case.

Suppose that I need it, how will I make the sequence id able to the Evaluator/Comparator for the expected output if it comes from the monitor? I’ve never seen a connection between the monitor and the driver, that’s why I don’t know how to pass the sequence id to the monitor.

Any example with code?

Thanks.