AWhooley Posted September 13, 2011 Report Share Posted September 13, 2011 Hi, I am new to UVM so apologies if I make a mess of trying to ask this question. From what I understand the interaction of the test environment to particular interface (e.g. SPI) to a design should be captured within an agent. The agent should contain a sequencer, a driver and a monitor. My understanding is that the environment would then contain an object of this agent as well as your scoreboard for checking. This scoreboard will receive transactions from the monitor in the agent through an analysis port. Hope I am making sense so far! Anyway here is where I get confused. My simple DUT takes transactions in and passes them straight through. My scoreboard simply has to check that what comes out of the DUT matches what went in. My monitor catches the DUT output in a transaction and sends that out through an analysis port. Thus my scoreboard knows what came out of the DUT. Question: How should I tell the scoreboard what went into the DUT? Should the driver send the transaction it sends to the DUT out through an analysis port also? Should the monitor watch the DUT inputs and send what it sees out on a second analysis_port i.e. the monitor would have 2 analysis ports? Should an agent only contain one analysis port to allow ease of reuse and consistency across agents and if so then what do I do? I hope this makes sense. I have been trying to find code examples of a basic UVM environment but all the examples I find seems to miss something (e.g. have an agent but no scoreboard, have a scoreboard but no agent). Thanks Alan Quote Link to comment Share on other sites More sharing options...
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.