The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Mar 28th, 2024, 1:11am
Pages: 1
Send Topic Print
Indep Source models (Read 45 times)
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1998
Massachusetts, USA
Indep Source models
Jul 14th, 2003, 7:14am
 
Hi, Ken -
I'm looking over your "various independent source models" file, http://www.designers-guide.com/Modeling/VerilogAMS/basic-models/sources/sources....

and I think these might not work as expected in periodic-AC analysis.
V(p,n) <+ dc + ac_stim( "ac", mag ) + ac_stim( "pac", mag);

This is a nuisance that I've run across before: I was trying to skip some noise calculations, but I had to put
if (analysis("noise", "pnoise", "qpnoise"))
which pre-supposes that I know the names of all the noise-like analyses that might be run in the simulator. (Of course, once the simulator gets smart enough to make a dependency tree, I won't have to direct it to skip all the complicated computations that are only used for noise.)

But my point is really that there ought to be some way to ask, "is this some kind of noise analysis?" or "is this some kind of small-signal ac analysis?" without having to know all the different analysis types in all the simulators.

-Geoffrey
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: Indep Source models
Reply #1 - Jul 14th, 2003, 12:12pm
 
Geoffrey,
I don't understand your need to do this as the noise stimulus functions (white_noise(), etc.) naturally operate during all noise analyses. In that sense, the noise stimulus functions are different than the AC stimulus functions, which do tend to operate differently for each type of AC analysis (and so you can specify the analysis for which they should be active).

-Ken
Back to top
 
 
View Profile WWW   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1998
Massachusetts, USA
Re: Indep Source models
Reply #2 - Jul 17th, 2003, 7:57am
 
Ken -
If the simulator made a proper dependency tree, I wouldn't need this for noise, as you say.  However, it doesn't, and in BSIM3, the "strongInversionNoiseEval" function is fairly complicated and the simulator is wasting time computing the expressions (and their derivatives!) because I can't put the entire function inside of the flicker_noise() call.

In the case of
   flicker = kf * pow(abs(id), af);
   I(dio) <+ flicker_noise(flicker, ef, "FLICKER");

I've gotten "domain error" messages from pow() because af=0.7 and id is zero -- meaning the simulator is trying to compute the derivative of flicker, which has a pow(0, -0.3).  In this case, of course, I can put the whole flicker noise expression inside the flicker_noise() call.

-Geoffrey
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: Indep Source models
Reply #3 - Jul 17th, 2003, 8:49am
 
Geoffrey,
So this has nothing to do with the models I have posted in Modeling->Verilog-AMS? You would like the analysis() function enhanced so that you can specify categories of analyses? It already does this by providing the "static" choice, which matches both "dc" and "ic" and so in concept there should be no problem adding a category that matched all types of noise analysis. That seems like a reasonable request. I recommend that you suggest it to the committee that is responsible for defining Verilog-AMS.

-Ken
Back to top
 
 
View Profile WWW   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.