The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 21st, 2024, 3:20pm
Pages: 1
Send Topic Print
sweeping temperature in transient analysis (Read 1248 times)
vivkr
Community Fellow
*****
Offline



Posts: 780

sweeping temperature in transient analysis
Apr 13th, 2007, 2:56am
 
Hi,

Is it possible to change temperature during a running transient analysis?
What kind of convergence issues would one need to look out for in case this is possible?

Regards
Vivek
Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

Life, don't talk to
me about Life...

Posts: 1742
Bracknell, UK
Re: sweeping temperature in transient analysis
Reply #1 - Apr 13th, 2007, 6:07am
 
In spectre, this is not yet (directly) possible. There is an enhancement request for this, and I believe work is underway to support it.

That said, if you have device models which support self-heating, then this should be taken into account.

One way of changing the temperature during a transient would be to run a sequence of transients using the save state/recover state options (see spectre -h tran), and alter to change the temperature. You'd need to ensure that the temperature changed smoothly that you didn't end up with a big discontinuity caused by the operating point changing significantly.

Here's a wildly exaggerated example:

Code:
// temp sweep

parameters vdd_val=3 stoptime=1u

vvdd (vdd 0) vsource type=dc dc=vdd_val
vsin (vdd inp) vsource type=sine ampl=0.1 freq=1M
r1 (inp out) resistor r=1k
r2 (out 0) resistor r=1k tc1=0.1

mytran tran stop=1.2u savefile="end.state" saveperiod=1.2u
alt1 alter param=temp value=30
mytran1 tran stop=2u savefile="end.state" recover="end.state" saveperiod=0.8u
alt2 alter param=temp value=35
mytran2 tran stop=3.1u savefile="end.state" recover="end.state" saveperiod=1.1u 



Note that I used saveperiod instead of savetime to avoid it getting a suffix on the state filename. However, the saveperiod needs to be set to the duration of each transient analysis for this to work...

I did try putting it in a sweep analysis - but this is not supported at the moment (it says that recover can't be used on a tran within a sweep).

By the way, in the above example, it's intentionally not smooth - so I could see it having an effect!

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
vivkr
Community Fellow
*****
Offline



Posts: 780

Re: sweeping temperature in transient analysis
Reply #2 - Apr 19th, 2007, 6:19am
 
Dear Andrew,

Thanks! I will try this example.

Regards
Vivek
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2386
Silicon Valley
Re: sweeping temperature in transient analysis
Reply #3 - Apr 20th, 2007, 8:35am
 
I hope the enhancement to Spectre is more general than simply providing the ability to sweep temperature in transient. It should be possible to create an arbitrary temperature profile versus time. That way one could simulate the effect of a thermal shock. Perhaps what is needed is a tsource.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
MichaelTian
New Member
*
Offline



Posts: 3

Re: sweeping temperature in transient analysis
Reply #4 - Apr 30th, 2007, 6:08am
 
Ken,

The implementation in Spectre will be generic to sweep any parameters during transient, not just temperature.
User needs to supply a vector profile (which will be interpreted as a step function, instead of pwl). Here is the syntax:

 dotran tran stop=100ns param=param_name param_vec=[ t1 val1 t2 val2 ...] [dev=x1 | mod= | sub=] ] param_step=0
   or
 dotran tran stop=100ns param=param_name param_file="time_value_file" [dev=x1 | mod= | sub= ] param_step=0

and here are a few examples:

 dotran tran stop=100ns param=temp param_vec=[0ns 20 50ns 25 100ns 75] param_step=0
 dotran tran stop=100ns param=reltol param_vec=[0ns 1.0e-3  100ns 1.0e-2] param_step=0

 pset1 paramset {
     time reltol temp p1 m1:l
      0n   1e-3   27   1  1u
     10n  1e-3   50   2  1u
     20n  1e-4   50   2  2u
     30n  1e-5   75   3  2u
 }

 dotran tran paramset=pset1 stop=100n param_step=0

 Comments are welcome,

  Thanks,

  Mike
Back to top
 
 
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.