itsmyturn Posted July 5, 2012 Report Share Posted July 5, 2012 I have an agent (seqr, driver, monitor) that drives requests to my DUT. The DUT sends out-of-order responses back to the env at arbitrary times. The responses are matched with the requests by matching the IDs. The agent can only drive a new request with those IDs for which there are no pending responses from DUT. I need help on how to tell my active agent's sequencer to only use those IDs that don't have pending responses. The response has a lot of other info too (along with the ID). So, I'm creating another agent (passive) to monitor the responses on the resp interface. I was thinking about something like this: Passive agent's monitor sends the DUT response back to the scoreboard. Then, the scoreboard updates the database saying that the ID got freed (and the active agent's requests are constrained to use the available IDs in the database). This looks like a lot of database accesses to me. Is there a better way of doing this (for eg: scoreboard sends the resp ID to the active agent's sequencer on a TLM interface and that is used for constraining the req's IDs?) ? Thanks Quote Link to comment Share on other sites More sharing options...
petermonsson Posted August 3, 2012 Report Share Posted August 3, 2012 Hi itsmyturn, It depends. What protocol are you implementing. If it is something like AXI I would put the request and response handling logic inside a single driver because an AXI agent is one conceptual unit. Best Regards Peter Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.