manyoki
Junior Member
![* *](https://designers-guide.org/forum/Templates/Forum/default/starblue.gif)
Offline
![](https://designers-guide.org/forum/avatars/blank.gif)
Humble is not stupid.
Posts: 10
suburb
|
Happened to me more than once, and it is very annoying. I am running a batch of transients in Spectre. After the last run is over, a postprocessing routine should take over the results and do some number crunching. This postprocessing works even if some of the runs failed, their results will be skipped and a fail flag will be raised. However, if a run does not finish at all but gets stuck, the whole batch jobe is delayed until I manually kill the spectre process that got stuck. The failing run that I have been seeing reaches a point of time during the transient where the stepsize just becomes so small that virtually no progress is made. Here is an excerpt from the spectre.out logfile (pay attention to the line number in the first column):
It starts as: 125 tran: time = 166.7 ps (676 m%), step = 8.333 ps (33.8 m%) 126 tran: time = 304.7 ps (1.24 %), step = 2.587 ps (10.5 m%) 127 tran: time = 463.6 ps (1.88 %), step = 2.754 ps (11.2 m%) 128 tran: time = 625 ps (2.53 %), step = 8.333 ps (33.8 m%) 129 tran: time = 1 ns (4.05 %), step = 80 as (324 n%) 130 tran: time = 1 ns (4.05 %), step = 80 as (324 n%) 131 tran: time = 1 ns (4.05 %), step = 80 as (324 n%) 132 tran: time = 1 ns (4.05 %), step = 20 as (81.1 n%) 133 tran: time = 1 ns (4.05 %), step = 40 as (162 n%) 134 tran: time = 1 ns (4.05 %), step = 80 as (324 n%) 135 tran: time = 1 ns (4.05 %), step = 80 as (324 n%) 136 tran: time = 1 ns (4.05 %), step = 80 as (324 n%) Then continues until I kill it manually: 4951 tran: time = 1.007 ns (4.08 %), step = 20 as (81.1 n%) 4952 tran: time = 1.007 ns (4.08 %), step = 20 as (81.1 n%) 4953 tran: time = 1.007 ns (4.08 %), step = 80 as (324 n%) 4954 tran: time = 1.007 ns (4.08 %), step = 80 as (324 n%) 4955 tran: time = 1.007 ns (4.08 %), step = 80 as (324 n%) 4956 Spectre received SIGINT. 4957 Saving the states into file... 4958 4959 Killed by user. 4960 4961 Aggregate audit (8:52:12 AM, Thur Jun 22, 2006): 4962 Time used: CPU = 53.2 ks (14h 46m 22s), elapsed = 53.2 ks (14h 47m 13s), util. = 99.9%. 4963 Virtual memory used = 109 Mbytes. 4964 spectre completes with 0 errors, 7084 warnings, and 154 notices.
How do I opt out automatically from a sim like this? Is there an option to catch this? Is it possible to write a veriloga module to monitor the timesteps?
Any advice is appreciated.
Zoltan
|