UVMF Environment Sequences

Hi
In the ‘Sequence Categories’ session of the ‘UVMF, One Bite at a Time’ course, some explanation is given about the environment sequences which are included in the environment package and therefore are reusable from block to top. This confuses me a little, because I guess we reuse an environment when the RTL block corresponding to that environment becomes part of a larger system, in which case the sub-system RTL will get it’s inputs from adjacent RTL and therefore the agents inside the sub-environment must be configured as passive, so that no contention occurs. In such a scenario, how are the environment sequences reused? I mean when the agents of the environment, which has now become a sub-environment, are configured as passive, what will be the use of the environment sequences?
Thank you

In reply to Farhad:

Hi,

As a design block is encapsulated in another design block, some of the interfaces in the lower block remain as interfaces in the higher block.  Some interfaces in the lower block are driven by other design blocks.  Environment sequences that use agents which will become passive in higher level simulations can not be used in higher level simulations and are therefore not reusable.  Environment sequences that use agents that remain active in higher level simulations can be reused in higher level simulations and are therefore reusable.  Some interfaces change protocols in higher level simulations but perform the same function.  In this case, environment level sequences can be parameterized to the protocol transaction type so they can be reused in higher level simulations.  One example of this is DUT configuration performed through APB at lower levels and AXI at higher levels.