0
votes

I have a sequence (e.g SANITY_TEST seq) which execute another sequence (e.g BOOT seq). The BOOT seq contains the following param:

index_v : uint(bits:4) ;

I have the following test :

<'
extend MAIN ocp_master_sequence_q {

    body()@driver.clock is only {
      do SANITY_TEST seq ;
   };
};

Is there any way to execute SANITY_TEST seq from the test and init the index_v param of the BOOT_seq directly from the test?

1

1 Answers

0
votes

There are two main approaches -

one is for the SANITY_TEST to have same param, so that the value can be propagated/

extend  SANITY_TEST seq {
    do BOOT seq keeping {
       .index_v == me.index_v;
    };
};

 //// 
do SANITY_TEST seq keeping {
    .index_v == 4;
}; 

If you want that whenever BOOT seq is done by SANITY_TEST the index_v will be of some value, you can add constraint to the BOOT seq.

extend BOOT seq {
    keep me.in_sequence(SANITY_TEST seq) => me.index_v == 7;
};