The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 24th, 2024, 6:15am
Pages: 1
Send Topic Print
Spectre transient bogged down with minuscule steps (Read 1110 times)
manyoki
Junior Member
**
Offline

Humble is not
stupid.

Posts: 10
suburb
Spectre transient bogged down with minuscule steps
Jun 22nd, 2006, 6:21am
 
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
Back to top
 
 

Zoltan
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2386
Silicon Valley
Re: Spectre transient bogged down with minuscule s
Reply #1 - Jun 23rd, 2006, 12:05am
 
Do you know the cause of the small steps. Does the behavior of the circuit change, perhaps it is breaking out in a parasitic oscillation. If it is not the circuit behavior, it might be trapezoidal ringing. You might want to try setting method=gear2ony on the transient options.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
manyoki
Junior Member
**
Offline

Humble is not
stupid.

Posts: 10
suburb
Re: Spectre transient bogged down with minuscule s
Reply #2 - Jun 23rd, 2006, 9:48am
 
Thanks, Ken. The netlist is very big.  I couldn't locate the origin of the problem.  The method is set to "traponly".  I will try with "gear2only".  I'll report back.
Zoltan
Back to top
 
 

Zoltan
View Profile   IP Logged
manyoki
Junior Member
**
Offline

Humble is not
stupid.

Posts: 10
suburb
Re: Spectre transient bogged down with minuscule s
Reply #3 - Jun 23rd, 2006, 9:51am
 
In the meantime I succeded in writing a piece of code to catch the condition and break down the sim.  What remains is then the origin of the small timesteps.

Zoltan
Back to top
 
 

Zoltan
View Profile   IP Logged
manyoki
Junior Member
**
Offline

Humble is not
stupid.

Posts: 10
suburb
Re: Spectre transient bogged down with minuscule s
Reply #4 - Jun 23rd, 2006, 11:48am
 
It seems gear2only helped.  There must have been a reason that I chose traponly in the first place, though.
Zoltan
Back to top
 
 

Zoltan
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.