Jump to content

How to end simulation when there are forever-loops in sequence and monitor


Recommended Posts

Hi all,

How to end simulation when there are forever-loops in sub-sequence and monitor? I have tried set_drain_time, but it doesn't work. If I remove the forever-loops in sub-sequence and monitor. The simulation ends when drop_objection executes done successfully in top-sequence after all the item being sent. By the way, I want to monitor signals of DUV during all the simulation time until the last item being sent. Could anybody tell me the trick? Thanks in advance.

Link to post
Share on other sites

I think one way you can do what you're trying to do is to set up a UVM heartbeat that watches for activity.  There is a very good paper written on this.  I think you can find it in the contributions area.

 

Basically, you need logic that raises an objection to allow the simulation to run further, and drop it when you detect enough inactivity during a given window (a timeout mechanism).  That's the basic idea that I think is what you might be looking for.

Link to post
Share on other sites

Hi mrforever,

 

I'm not sure if I understand your question correctly. It sounds to me that the forever loops in the monitor and sequence are intentional (not bugs)? So the sequence is sending background traffic? If so, then I would be sure that your sequence is not issuing objections. The monitor will continue to issue objections (raising at the beginning and dropping at end of the transaction), but that shouldn't prevent the test from ending, because as soon as the last transaction completes then all of the objections will be dropped. I would also be sure that you aren't setting a drain time anywhere. If you are, then the background traffic sequence will send another transaction before the drain time completes, raising objections again in the monitor and you'll never get out of it.

 

HTH,

David

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...