title: UVM TB components to be used
body: <p><a href="https://i.stack.imgur.com/oiTTV.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/oiTTV.png" alt=""></a></p>
  
  <p>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. </p>
  
  <p>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?</p>
  
  <p>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?</p>