Typically Any OVM active agent will contain
1.Env
2.Driver
3.monitor
4.Scoreboard
5.coverage collector
6.sequencer
so what will a passive agent consists of? are the below items correct?
or am I missing anything.
1.Env
2.-------
3.monitor
4.Scoreboard
5.coverage collector
6.--------
That’s correct. The clue is in the labels Passive and Active for the two basic configurations. Active can drive and monitor stimulus, passive can only monitor.
The role of the monitor is to analyze what’s going on on the interface and convert that activity to analysis transactions, effectively a mirror of what the driver does. The reason is that you should be analyzing/checking what is happening on the interface independently of what the driver does. This helps to make your agent reusable for both passive and active cases.
Regarding your list of agent components:
Each agent should have:
agent - container for the following
driver (active only)
sequencer (active only)
monitor (active/passive)
configuration object (active/passive)
You might add protocol specific components that it should be possible to optionally compile:
functional coverage collector (active/passive)
scoreboard (active/passive)