Grab sequencer by sequence for register model

Thanks a lot for every comment.
Yes, I have a “change” for the m_sequencer, because I did not specify the sequencer when I start the sequences.

m_seq_mul.start(null) ;

if I did not give the m_sequencer an assign like this

m_sequencer = regmodel.default_map.get_sequencer() ;

The various m_sequencer in the sequence will be a null. So I could not use the grab() function either.

On the other hand, if I specified the sequencer when I start the sequence like this

m_seq_mul.start(m_env.apb.sqr) ;

, the m_sequencer in the sequence will not be null, but the grab will not return either.

I have done the other two labs.
The one: I remove the grab function from the sequence seq_add; the test work correctly.
The other: I made an environment for the grab function without register model, the grab function work correctly.

Just when I use the register model in the sequence, with the adapter and the APB agent, in order to access DUT by APB BUS, the grab hang the test and have no return.
I think this is a very useful method for CPU’s interrupt verification. If you have made this process successfully, would you like to share your experience?

If I did not introduce clearly, please let me know. Thanks again for your comments .