Vertical re-use (from block to sub-system/chip level)

In reply to chr_sue:

In reply to verif_learner:
If I understand you right the only Change is the interface. It changes from a native interface to the standard AXI bus. If this i right you have to change only the run_phase of all transactors (driver, monitor). The seq_item should be the same, because this is Independent from the pin-level interface you are using. In this case you Can reuse all your esquences/tests etc.

In the order of re-use, I prefer the following order:

  1. re-use the block env by just re-configuring it - no code modifications but additional code in the form of configuration settings
  2. re-use the block env with re-configuring it + add some translators/adapters. We don’t modify any existing code but add additional code for translators/adapters
  3. re-use by modifying the existing code. In this case, we are going to touch the existing code

In my view, 3rd option is the least preferred (this is the one you are impying to use).
Apart from this, in my case, I cant afford to touch AXI agent as it is a VIP from a third party.

I am thinking something on the lines of adding some translaction code that convers legacy sequences/sequence_items to new sequences/sequence_items but I don’t have much experience in this area. I am trying to tread carefully here.

I would appreciate thoughts from your and experts who have faced this issue before.