I have a verification tb structure for a parity encoder decoder like shown below where I am driving data in to the Encoder, getting the output, adding randomised error to it and passing it as input to the Decoder.
My question is do I need two drivers to drive 1)Data_in_08p and 2) Data_corrupted_in? I should have a component that creates random error at random positions and xor's it with the Data_out_08p. What should be the nature of thsi component i.e should it be a driver? Can I have two drivers in 1 agent or do I need to create two agents here?
To be precise, how we define our driver/env when one input of DUT depends upon a DUT output? How many sequences and sequencers and monitors will be there?

