Sequence based flow or Test based flow?

Hello !

There is always a debate on which would be a better re-usability flow to setup i.e. either

  1. having all sequence based with one basic test ?
    a. Create a base sequence which has the handle to all the other sequences and sequencer container [containing the handles to all the sequencers]
    b. Then you create new sequence to validate a particular feature by extending from the base sequence… Since this has handles to all the required sequence, you pick n choose which you wanted n launch them in sequential or parallel flow and get it done.
    c. Then in the test in the run_phase have like a plusarg, which gets the sequence from the command line and then launches like a virtual sequence [which internally kicks off all the other sequences]
    d. Only on special needs where the environment architecture changes etc, you create a new test extends from base test and use that.


  1. having separate tests ?
    a. Create a base sequence etc etc. just like the above.
    b. But then you also create a new test for each feature to be validated, and then within that test, you launch the required virtual sequence or so.
    c. But here I see like a overhead, most of the time the test doesn’t do much rather than launching sequences etc etc. which can be done from the feature specific virtual sequence.

So, which do you think/feel is like a good approach for better re-usability and portability considering all the setup i.e. IP/block/Soc etc all together. Please share in your ideas/experience/comments on this topic.

Thanks in advance !