Hi Raghavendra,Originally posted in cdnusers.org by dl_doulos
URM does not require your models to include arbitration and it is not appropriate for a bus like APB that can only have a single master. For the system you describe, you should create one master agent and one slave agent - these can be similar to the agents in the xbus example provided in the IPCM release.
The master sequence driver should generate a series of read or write transactions that the master agent will drive onto the APB bus. The master monitor will independently watch the APB bus and detect the how master is driving it and extract the relevant data (read/write, address, etc).
The slave sequence driver should control how the slave responds to read/write commands on the bus. The slave monitor should detect bus activity corresponding to that particular slave (a real APB system would have multiple slaves so your model should take account of that).
You could also have an overall bus monitor (like the xbus example) that is accessed from the agent monitors and coordinates the sequence driver activity.
Hope that gives you some ideas.