Pls do help

I am getting an unpredictable behavior in my sequencer.

In my environment, I need 2 independent lower interface verification components (IVC1 & IVC2) controlled by a virtual sequencer (MVC_sequencer) in the top level module verification component (MVC). In the sequencer of IVC2 (IVC2_sequencer), I have registered sequences corresponding to my testcases. I have configured the count of the default random sequence of IVC2_sequencer to zero. The virtual sequence of MVC_sequencer controls the selection of sequences from each lower sequences. I have used grab()-ungrab() feature within the virtual sequence.

When I add more sequences to the IVC2_sequencer, a sequence is getting started randomly instead of the sequence for which I am grabbing the IVC2_sequencer during runtime. Everything works fine with less number of sequences using the same code. I reused the IVC2 component and created another IVC3 component and tried with the additional sequences. That too works fine to some number of sequences(20-25).
Pls do help me to sort this problem out. Am having more testcases to be verified.

asking some questions below that may help.

  1. why do you need to use grab-ungrab feature since you already assign count = 0 to your sub-seuquencer’s default sequence.

  2. what do you mean by adding more sequences excatly? do you choose one specified sequence or choosing one randomly or have them run parallelly?

  3. do you actually use grab/ungrab as a semaphore if you run your sequences parallelly?