-
Notifications
You must be signed in to change notification settings - Fork 1
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
Noise goes wrong with psp103_nqs #3
Comments
I observed the same behavior with The problem originates from noise source If I leave the line below unchanged A simulation in some reference simulator that supports Verilog-A would be welcome. Just to find out, what the correct behavior should be. |
It seems that the code for computing derivatives is incorrect. In the special case when you contribute a current to a branch that has only a noise component
and then use that same current to contribute to the current of another branch
a new unknown for I(br1) is created. Now who does that kind of exotic stuff in Verilog-A? Turns out the PSP people do :) All hell breaks loose because the derivative dI(B)/dI(br1) is incorrectly computed. The derivative is computed correctly if I(br1) has a small resistive contribution, i.e.
The workaround until the bug is fixed is to change the file PSP103_module.include. Change
into
The bug seems to have floated up to the surface when correct $mfactor handling was added. Please confirm if it works for you. |
I can follow you analysis and confirm the workaround by adding a tiny resistive component. If I copy over the file openvaf/sim_back/src/dae/builder.rs from @gjcoram the problem disappears (but crash in psphv.va remains). I thought I can locate the root cause by inspection the two files but your modifications in this file are to extensive an my rs skills are very limited. |
Seems to be closed. Build OpenVAF and try it out before I close the issue. |
Can confirm, the psp noise bug is fixed. Thank you. |
This setup was simulated correct with model compiled by the old openvaf Version (noise activated) from Semimod download page
Using openvaf from origin/branches/osdi_0.3_noise_mfactor under linux (BTW - not easy to pick-up the right branch, worry!) I get:
Same behaviour under windows with your provided binary.
Used psp103_nqs.va model Version 103.8.2
I have not the problem with older psp103 version 103.6.0 from same repository. Model w/o noise problem
The text was updated successfully, but these errors were encountered: