Re: initial_step and final_step in DC sweep

From: Geoffrey.Coram <Geoffrey.Coram_at_.....>
Date: Mon Aug 28 2006 - 05:01:03 PDT
Marq -
I am, indeed, relying on compiler optimizations.

Borrowing again from my BMAS presentation, what if you did
if (analysis("noise")) begin
  // Extended noise equations (6.103)..(6.113)
end

and then ran this in a PNoise analysis.  Since "noise" matches
only standard Spice small-signal noise, you would get no noise
in a PNoise analysis.  Neither the LRM nor the compact model
author should have to worry about keeping track of all the
different types of noise analyses and explicitly coding for them:

if (analysis("noise","pnoise","hbnoise","qpnoise","xyznoise" ... //BAD!


In another case, I saw a model that had the capacitance 
equations in analysis("tran") -- meaning that there would
be no capacitance in an ac analysis, nor in PSS!


I am content to have "wildly varying run times" and I will complain
loudly to those vendors that have the longer run times.

I am not content to have discrepancies between ac and tran,
or tran and PSS, because model writers have tried to work
around limitations of the compiler.

-Geoffrey


Marq Kole wrote:
> 
> Geoffrey,
> 
> I have taken a look at your MOS11 model: I see that you have totally abstained from using initial_step and final_step, but also from the analysis functions. I assume that you're relying on compiler optimizations that let the separate sequential blocks only be run when none of the module-scope variables they use changes value. Is that correct? Doesn't that introduce wildly varying run times in the various simulators? Wouldn't analog conditional statements be a more obvious guard against unnecessary execution of these blocks?
> 
> Marq
Received on Mon Aug 28 05:01:27 2006

This archive was generated by hypermail 2.1.8 : Mon Aug 28 2006 - 05:01:30 PDT