PDA

View Full Version : ovm_agent - what benefit does it bring?



neil
03-03-2008, 05:08 AM
I have a testbench in development where I have used ovm_monitor and ovm_driver classes.
The ovm_agent seems to be intended to include driver/sequencer/monitor sub-components. I'm not familiar with the term agent - is this simply a mechanism to group the sub-components together (because they are associated with a particular function) or is there more to it that I am missing?

Thanks, Neil

umery
03-09-2008, 08:56 PM
Hello Neil,

The agent is intended to encapsulate all the lower level components that you mention to model a device on a well defined interface. This class also contains the is_active variable that can be controlled from the top-level environment to passively monitor the interface or drive the interface as well. Since connections to the scoreboard/system-level checkers are generally done through the monitor, this convention helps with vertical reuse of environments. It also contains variables/config objects as well as virtual interface assignment that both driver and monitor need to do perform their function. This way the integrator only has to push this to the agent level and the lower level components get the information they need.

Please take a look at the xbus example in the ovm kit. The xbus_master_agent.sv in xbus/sv is a good example of a simple bus agent.

I hope I answered your question.

Regards,

Umer

neil
03-10-2008, 08:23 AM
Hi Umer

Thanks for your response. In the design I am working on at present it doesn't look like those are much benefit compared to the extra level of hierarchy introduced. But maybe they would be useful where there are multiple instances of an interface. I'll have another look when I get to some different interfaces.

Regards,
Neil