Jump to content

How to monitor DUT outputs from a test/sequence?


Recommended Posts

I am learning UVM. So far I was able to create the following environment for my DUT.


Agents with monitors, drivers and sequences for all of the input-output interfaces from my DUT.


A top level UVM env.


Sequences to send valid data to DUT. I yet to implement scoreboard.


I'm having some trouble to understand how to handle scenarios like following:


For one of my tb->dut interfaces, TB needs to wait for an event (or transaction) from DUT. Once it receives the transaction from DUT, TB needs to send back a response. What is the best way to implement this? How can I monitor DUT transaction from sequence? I assume I need to wait for an event or something similar which will tell me that DUT has a new valid output in its interface.


My agents have monitors which will monitor any new output signals from DUT. So, do I need to somehow bring this data from agent's monitor to my test/sequence class? I know that monitor has an analysis port and it can be used to send received data to scoreboard for checking. So, do I need to use the same port to read DUT output data, create valid response and send it to DUT?


Thanks!


Link to comment
Share on other sites

Hi,

 

This situation is best handled with a reactive slave driver functionality in your agent: 

When the driver observes a valid sequence of signal transitions which signify the end of a transaction, then it can drive a response into the DUT. The response item will come from the agent sequencer. Using this scheme you will be able to control (constrain) the type of response that the DUT will receive. There is an example of a reactive slave in the UBUS example included with the UVM class library. 

 

Regards,

Steve

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...