Hi Verification Academy,
I have a main_flow_sequence controlling different kinds of frames injection using more lower level sequences.
I would like to wait between the first call of lower level sequence(let’s name it seq_B) till the next time I call it. This wait will be inside the main_flow_sequence.
This wait is required since the seq_B is running in it’s beginning few DUT state registers configurations for the new frame, which may harm the transformation/conversion of the current frame.
One of the output interfaces of the IP is sending messages to a “message FIFO” block inside a micro-controller, I would like to imitate the FW mode of work in my test-bench, so would like to call the lower sequence (seq_B) again only after was monitored a message of end_of_frame of the current frame.
What is the recommended approach to send notification monitored on one of the interfaces of the DUT to the main_flow_sequence?
a. Using uvm_event, and waiting in the sequence to it’s triggering?
b. Using TLM port, which will notify us on this end_of_frame message?
c. Using a call-back? Not really sure if it is an option for what I looking for…
Please feel free to elaborate what is preferred?
Why it is preferred over the other?
Any pitfalls I should avoid?
Or maybe some other ideas…
In case there is a good paper(DVCON, SNUG, etc.) to read on this topic will be happy if you can point me out.
Thanks!