Geoffrey_Coram
|
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
|