Why agent is needed, what is its significance?

Hi,

I just want to know why do we need an agent in the test bench architecture. Why cant we directly use sequencer, driver and monitor. It would be great if someone can let me know the significance of agent or can point me where I can get the answer.

Thanks,
Sruthi.

In reply to sruthikrapa:

All the dut ports which follow similar protocol,will use one agent. And all these agents might use a common scoreboard.

In reply to Vamsi Krishna Yella:

Thanks Vamsi. But why do we need an agent for it. Can’t we have separate sequencers, drivers and link them to the scoreboard instead of having one more layer called agent. Please let me know.

-Sruthi.

In reply to sruthikrapa:

An agent is not only 1 additional layer in your hierarchy. It is means which supports reuse. You can reuse/instantiate this agent in any other testbench having the same funtional interface.