Can anyone please explain what is the difference between Master agent and slave agent? I have tried searching through many blogs and guides, but could not come to a final conclusion. In my Testbench architecture, I am verifying a SECDED Hamming code Encoder-decoder. These are the steps 1. Agent 0 drives Data_in and valid to Encoder. 2. Agent 1 monitor receives encoded data with parity and passes it to Agent 2 (re-active agent) 3. Agent 2 generates error injection and drives the error-injected data with parity to decoder. 4. Agent 3 captures the type of error (single/double) from Decoder. 5. Agent 4 monitor captures the decoded data and passes it to scoreboard. I am confused here, which agents are masters and which are slaves.