What is the difference between creating two monitors in same agent instead of using only one monitor in UVM?

What is the difference between creating two monitors in same agent instead of using only one monitor?
In case of two monitors:
One monitor I am using for monitoring the output from DUT.
Other monitor I am using for taking the inputs and calculating the expected output.

In reply to Prathamesh Govardhane:

A monitor is designed to be protocol specific, which is why it is part of an agent. An agent is DUT agnostic and meant for re-use.

The second monitor you are describing is more like a predictor. A predictor is DUT specific and should be used only at the testbench level.

In reply to cgales:

Thanks

In reply to cgales:

In reply to Prathamesh Govardhane:
A monitor is designed to be protocol specific, which is why it is part of an agent. An agent is DUT agnostic and meant for re-use.
The second monitor you are describing is more like a predictor. A predictor is DUT specific and should be used only at the testbench level.

hello sir,
can we have these two monitor inside the same agent or shd i create an agent as passive for the monitor which i have used to collect data from DUT…?
and as per my knowledge there is no restriction for monitor inside the agent in uvm…when can go with multiple monitor inside the same agent…?