Skip to content

First changes#12

Open
dwarning wants to merge 15 commits intoMatBucher:mainfrom
dwarning:main
Open

First changes#12
dwarning wants to merge 15 commits intoMatBucher:mainfrom
dwarning:main

Conversation

@dwarning
Copy link

Most of the issues from @gjcoram are solved with this PR. No change in equations. Few parameter constraints are modified and should be checked.

@gjcoram
Copy link

gjcoram commented Apr 17, 2024

Thanks for having a go at my issues. I will say, though, that the analog lexp function isn't really needed for several of the cases. For example (lines 302-304):
Leff_o_LR = Leff / LR_w;
tmp_rsce = 1.0 - limexp( - Leff_o_LR * Leff_o_LR);
The quantities here aren't bias-dependent, so they won't get crazy values, and the argument is (-x*x), so the exponential won't ever be greater than 1.0.

@dwarning
Copy link
Author

Still no change in equations.
Set flicker noise variable to sddm to 0 if no current - prevent hidden state.
Format code.
Problem appears with adms/Xyce in charge contribution for fringing capacitances. Curious that same scheme works for overlap capacitances.
Last PR so far.

dwarning and others added 4 commits November 14, 2024 11:04
The use of "tmp1" and "tmp2" variables in multiple contexts in
EKV3 (in expressions destined for contributions and as temporaries
holding ddx()) confuses Xyce/ADMS into thinking it needs to generate
code for second derivatives in every expression involving tmp1 or
tmp2.

Wrapping the single instance of tmp1 and tmp2 having ddx stored into
them (which are then immediately used in a later computation and then
discarded) inside a begin/end block and making those tmp1 and tmp2
variables block local completely fixes the misunderstanding, and
Xyce/ADMS no longer generates second derivative code anywhere.

This simple fix should be used if (when?) Xyce decides to import the
open source version of EKV 3.02 into Xyce, if that happens before
Xyce/ADMS is replaced by something good.  Without this fix,
Xyce/ADMS generates a huge amount of completely unnecessary second
derivatives.

See also Xyce/Xyce/issues/104
Isolate ddx temporary to eliminate ADMS second derivatives
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants