The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 17th, 2024, 8:34am
Pages: 1
Send Topic Print
blowup parameter (Read 10207 times)
juska
New Member
*
Offline



Posts: 1

blowup parameter
Jun 05th, 2008, 6:40am
 
I'm simulating a verilogams module.
My simulation ends with an error linked to blowup parameter. As follows:

Error found by Spectre at time 15 ns during transient analysis 'amsAnalysis'.
Signal V(..) exceeds the blowup limit for the quantity V which is 1GV.
If you want signal this large, set the 'blowup' parameter of this quantity to a larger value.

My question is the following:
how and in which file I have to change 'blowup' parameter value?

Thanks in advance for the answers.
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2386
Silicon Valley
Re: blowup parameter
Reply #1 - Jun 5th, 2008, 2:08pm
 
You would use a "quantity" statement to set the blowup value, but I'm afraid I don't know how to do this through Artist. Alternatively, you might be able to set blowup in a Verilog-A/MS nature.

Do you really want a voltage greater than 1GV? Yes or no, you should create a special nature for it. Otherwise you will likely have convergence and accuracy issues.

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



Posts: 10
Minnesota
Re: blowup parameter
Reply #2 - Jul 9th, 2008, 6:34am
 
I have had to change blowup limits for some HV tranformer modeling work I did a while back.  If you are working inside ADE (Artist) the easiest way I found is to make an external file with the "quantity" spectre statement in it.  For example:

quantityV quantity name="V" blowup=200e+12

Then, pull this file into ADE by choosing: Setup->Simulation Files and then under "definition files" put the path to the external file.  Another way is to pull it in as a model file.  


Back to top
 
 
View Profile   IP Logged
jbdavid
Community Fellow
*****
Offline



Posts: 378
Silicon Valley
Re: blowup parameter
Reply #3 - Oct 9th, 2008, 6:20pm
 
Kens point is Important..
if you have something that is 1GV then with a normal 1e-3 reltol
means most signals under 1MV will be "converged"
if you make a special nature for this signal  (so its not V but Vhv)
the V type signals will do their normal thing and the large blowup parameter will apply only to the Vhv signals..

MAKE A SPECIAL NATURE for this signal!!
jbd
Back to top
 
 

jbdavid
Mixed Signal Design Verification
View Profile WWW   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: blowup parameter
Reply #4 - Oct 14th, 2008, 8:43am
 
jbdavid -
Are you sure you've got it right?  The reltol is applied to the signal itself, so the 1GV signal only has to converge to within 1MV (change in the value from iteration to iteration), but if you have normal 1.8V signals, they still have to converge to 1.8mV (unless you're using some funny tolerance option that uses the largest signal to set the tolerance for all nodes).

I think Ken's concern is with the other tolerance: vabstol.  If you have something in the GV range, then "numerical noise" will appear around 1e-15 * 1e9 = 1e-6, which is the default for vabstol.  It's easier to understand with currents: if you're adding 1GA and -1GA, you can't expect it to cancel better than 1e-6, so iabstol of 1pA is way too large.
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
jbdavid
Community Fellow
*****
Offline



Posts: 378
Silicon Valley
Re: blowup parameter
Reply #5 - Oct 14th, 2008, 1:19pm
 
that "funny" parameter is the default, unless you are using conservative mode.. _IF_I_Remember_Correctly_..  its relative to the Max value of that TYPE of signal.. I used to cover these options in the spectreRF training.. but its been several years now, and the point I have taken away and made my practice is NOT to use an electrical discipline for things like frequency, but declare them as a different discipline with its own blowup parameter..  

Its quite possible my memory is not serving me so well  ;)

jbd
Back to top
 
 

jbdavid
Mixed Signal Design Verification
View Profile WWW   IP Logged
Peruzzi
Community Member
***
Offline



Posts: 71

Re: blowup parameter
Reply #6 - Oct 15th, 2008, 11:41am
 
In my experience, when the blowup voltage is exceeded the problem is rarely the blowup parameter being too low, but is a problem with the behavioral models or the circuit.  So try to fix the models and circuit first.  Only once was the huge magnitude legitimate, but even then there were better alternatives to increasing the blowup limit.  

I was using an electrical variable for dV/dt in a behavioral description of capacitance in a filter:

I = C*dV/dt  

Where V had a rather steep slope and C was about 10 pF.  First I tried to create a nature for

Vdiff = dV/dt

but figured out two alternatives that avoided the blowup altogether:

1. Move C inside the differentiation argument, even though C is constant.  That is, instead of
   C * dV/dt
use
   d(C*V)/dt


2. Use integral instead of differential because it's better behaved.  That is,

V = (1/C) * idt(I) + V_initial

Let me know if this helps.
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.