Multiple drivers : synchronization between rtl and agent

Hi,

I wanted to drive the input of a connected block A. Another RTL block also tries to drive the same signals of this block A.

If it’s just two agents driving then I can use a semaphore but in this case, the RTL cannot be blocked and I have to workaround to make sure the tb driver doesn’t drive at the same time and corrupt the signals.

How do I synchronize the driving in this case?

In reply to Sai Deepthi Chirumamilla:

Can’t answer without more details about the bus protocol.

An agent is just a high-level abstraction of RTL not under test. How would the full design know not to drive the inputs at the same time?