Hi everyone. I was trying to demystify the behavio...
# ieee-sscs-dc-23
k
Hi everyone. I was trying to demystify the behavior of xschem + ngspice + magic when using multi-finger transistors. I have tested an NMOS using a schematic shown below. When using wnflag=1 the simulator perform the simulation if not it throws an error (if nf is not set to 1).
t
@Krzysztof Herman: The
wnflag
setting is something that Holger Vogt added to ngspice after I (and others) complained that ngspice was not interpreting W and NF as defined in the BSIM specification. According to the BSIM specification, the value
W
is the total width of all fingers, and model bins should be selected on the basis of the width of a single finger, not the total width (which makes perfect sense). However, you should not be setting
wnflag
yourself; you should use
set ngbehavior=hsa
(although the interpretation of W and NF is not an Hspice-compatibility issue). But you shouldn't be doing that, either; you should be copying the
spinit
file from the PDK
libs.tech/ngspice/
directory to your simulation directory and renaming it to
.spiceinit
. If ngspice is run with the correct configuration options, then all tools should be in agreement.
k
@Tim Edwards thank you for the comment. Indeed I have verified it and inside "iic-osic-tools" I have used for these tests there exists
.spiceinit
file in the user home directory. So it works correctly without
wnflag
.