Hello everyone, I have two quick questions. When i...
# ieee-sscs-dc-22
s
Hello everyone, I have two quick questions. When it comes to diodes, there are two symbols available and a bunch of models. Is there a difference between using the diode symbol or the lvsdiode symbol? i tried testing the same diode model inside both symbols and got the same results. Either I'm doing something wrong or the symbol doesn't matter. Lastly, for npn transistors, there is no multiplier parameter available in the symbol properties. How should I go about defining my npn grid size?
t
If you look at the symbol contents, there is no difference between the two except that in
diode.sym
there is a longer list of available models (which is just a text string for reference and does not affect the netlist output). Both symbols default to the
diode_pw2nd_05v5
diode type.
For the NPN, you can always add an "m" parameter to the symbol definition. All netlist output is just text strings in the symbol definition.
s
I tried "mult=" and it didn't work. I'll try "m" next. I saw in the pnp spice model file it defines a "mult=1" parameter. Thanks for the quick reply, will report back soon
t
"mult" is used because SPICE does not allow the multiplier "M" to be used inside a model expression. However, mismatch analysis requires knowing the total area of a device, as in "M*W*L" for a FET. The way this omission in the SPICE definition is worked around in most PDKs is to define an additional parameter "mult" which is always set to the same values as "M". It's a hack, but it works. However, if the model doesn't define "mult", then it has no effect. Regardless, "mult" is not a substitute for "M"; "M" is the parameter name that SPICE understands as a subcircuit multiplier.
s
Got it! "m=" works in npn. I'm wondering if I get the right results with this workaround though to avoid issue #238. I put the corner file parameters in my ngspice code directly.