sara8d
sara8d

Reputation: 413

Where should I write input transaction to the scoreboard

I have a simple dut to test. The input is a packet, and the output is exactly the same packet. Therefore I don't have to predict the output, and I can compare the output transaction (from the monitor) to the input transaction. Should I write the input transaction to the scoreboard from the sequence or from the driver?

Upvotes: 0

Views: 886

Answers (1)

Rahul Menon
Rahul Menon

Reputation: 792

The preferred uvm mechanism is to have a monitor at the input port which collects the data from the input bus (independent of the driver) and sends it to the scoreboard. This will enable re-use and portability of the agent. The agent can be later re-used in a passive mode and the scoreboard which is connected as the monitor will be available in the passive mode. [ the driver being absent in the passive mode the scoreboard cannot be re-used ] The monitor will also independently validate the protocol driven by the driver.

If you are very sure that you do not want to do the extra work or plan to build the monitor at a later time you can add the analysis port to the driver and send the transaction to the scoreboard from the driver. As a sequence is not a component and will be created and destroyed dynamically it's not suggested to connect the scoreboard to the sequence. Every time you create the sequence you will need to re-establish the connection with the scoreboard where as the driver/monitor connection to the scoreboard can be established once at startup during the connect_phase.

Am assuming that you cannot re-use the monitor at the output port as the output protocol is different from the input protocol.

Upvotes: 1

Related Questions