Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do not use limexp() for bias-independent quantities #5

Open
gjcoram opened this issue Apr 14, 2024 · 0 comments
Open

Do not use limexp() for bias-independent quantities #5

gjcoram opened this issue Apr 14, 2024 · 0 comments

Comments

@gjcoram
Copy link

gjcoram commented Apr 14, 2024

According to the Verilog-AMS LRM (version 2.4), section 4.5.13:
The limexp() function is an operator whose internal state contains information about the argument on previous iterations. It returns a real value which is the exponential of its single real argument, however, it internally limits the change of its output from iteration to iteration in order to improve convergence.

So, it doesn't make sense to use limexp() in an expression like
limexp(LLN * ln(1.0 / l));
There is no reason to ask the simulator to set up internal state to track the iteration-to-iteration change, because 'LLN' and 'l' do not change between iterations.

WARNING in file ekv3.va, line 227: Call to limexp((LLN*ln((1.0/l)))), but argument is not bias-dependent
WARNING in file ekv3.va, line 304: Call to limexp((-(Leff_o_LR)*Leff_o_LR)), but argument is not bias-dependent
WARNING in file ekv3.va, line 316: Call to limexp((-(Weff_o_WR)*Weff_o_WR)), but argument is not bias-dependent
WARNING in file ekv3.va, line 330: Call to limexp(-(Leff_o_LA)), but argument is not bias-dependent
WARNING in file ekv3.va, line 330: Call to limexp(-(Leff_o_LB)), but argument is not bias-dependent
WARNING in file ekv3.va, line 336: Call to limexp((-(tmp_kpw)*tmp_kpw)), but argument is not bias-dependent
WARNING in file ekv3.va, line 381: Call to limexp((-(LLODKKP)*ln(l))), but argument is not bias-dependent
WARNING in file ekv3.va, line 382: Call to limexp((-(WLODKKP)*ln((w+WLOD)))), but argument is not bias-dependent
WARNING in file ekv3.va, line 388: Call to limexp((-(LLODKVTO)*ln(l))), but argument is not bias-dependent
WARNING in file ekv3.va, line 389: Call to limexp((-(WLODKVTO)*ln((w+WLOD)))), but argument is not bias-dependent
WARNING in file ekv3.va, line 393: Call to limexp((LODKGAMMA*ln(KVTO_sti))), but argument is not bias-dependent
WARNING in file ekv3.va, line 394: Call to limexp((LODKETAD*ln(KVTO_sti))), but argument is not bias-dependent
WARNING in file ekv3.va, line 466: Call to limexp((BEX*lnrT)), but argument is not bias-dependent
WARNING in file ekv3.va, line 468: Call to limexp((TE0EX*lnrT)), but argument is not bias-dependent
WARNING in file ekv3.va, line 469: Call to limexp((TE1EX*lnrT)), but argument is not bias-dependent
WARNING in file ekv3.va, line 470: Call to limexp((UCEX_w*lnrT)), but argument is not bias-dependent
WARNING in file ekv3.va, line 533: Call to limexp((0.33333333333333333333333333333333*ln(((COX*COX)/UT)))), but argument is not bias-dependent
WARNING in file ekv3.va, line 534: Call to limexp((0.66666666666666666666666666666667*ln(ETAQM))), but argument is not bias-dependent
WARNING in file ekv3.va, line 536: Call to limexp((0.66666666666666666666666666666667*ln((((gamma_b_dev*COX)*0.5)/(sqrtUT*phif))))), but argument is not bias-dependent
WARNING in file ekv3.va, line 538: Call to limexp((0.66666666666666666666666666666667*ln((((gamma_b_dev*COX)*1.4142135623730950488016887242097)*sqrtphif)))), but argument is not bias-dependent

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

No branches or pull requests

1 participant