It is non-physical to allow negative values for:
- saturation currents JSS, JSSWS, JSSWGS, JTSS, JTSSWS, JTSSWGS, JSD, JSSWD, JSSWGD, JTDS, JTSSWD, JTSSWGD
- capacitances CJS, CJSWS, CJSWGS, CJD, CJSWD, CJSWGD
- built-in potentials PBS, PBSWS, PBSWGS, PBD, PBSWD, PBSWGD
Also, I think the "info" attributes for PBS, etc. are incorrect (they look to match the info for CJS, etc.).
parameter real JSS = 0.0E-09 from (-inf:inf) ATTR(info="AREA COMPONENT OF CURRENT FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)"); parameter real JSSWS = 0.0E-12 from (-inf:inf) ATTR(info="SIDEWAYS COMPONENT OF CURRENT FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");
parameter real JSSWGS = 0.0E-12 from (-inf:inf) `ATTR(info="GATE-SIDE COMPONENT OF CURRENT FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");
parameter real JTSS = 0.0E-09 from (-inf:inf) ATTR(info="AREA COMPONENT OF TRAP-ASSISTED CURRENT FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)"); parameter real JTSSWS = 0.0E-12 from (-inf:inf) ATTR(info="SIDEWAYS COMPONENT OF TRAP-ASSISTED CURRENT FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");
parameter real JTSSWGS = 0.0E-12 from (-inf:inf) `ATTR(info="GATESIDE COMPONENT OF TRAP-ASSISTED CURRENT FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");
parameter real CJS = 0.0E-06 from (-inf:inf) ATTR(info="AREA COMPONENT OF CAPACITANCE FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)"); parameter real CJSWS = 0.0E-09 from (-inf:inf) ATTR(info="SIDEWAYS COMPONENT OF CAPACITANCE FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");
parameter real CJSWGS = 0.0E-09 from (-inf:inf) `ATTR(info="GATESIDE COMPONENT OF CAPACITANCE FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");
parameter real PBS = 0.800 from (-inf:inf) ATTR(info="AREA PARAMETER OF CAPACITANCE FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)"); parameter real PBSWS = 0.600 from (-inf:inf) ATTR(info="SIDEWAYS PARAMETER OF CAPACITANCE FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");
parameter real PBSWGS = 0.600 from (-inf:inf) `ATTR(info="GATESIDE PARAMETER OF CAPACITANCE FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");
It is non-physical to allow negative values for:
Also, I think the "info" attributes for PBS, etc. are incorrect (they look to match the info for CJS, etc.).
parameter real JSS = 0.0E-09 from (-inf:inf)
ATTR(info="AREA COMPONENT OF CURRENT FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)"); parameter real JSSWS = 0.0E-12 from (-inf:inf)ATTR(info="SIDEWAYS COMPONENT OF CURRENT FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");parameter real JSSWGS = 0.0E-12 from (-inf:inf) `ATTR(info="GATE-SIDE COMPONENT OF CURRENT FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");
parameter real JTSS = 0.0E-09 from (-inf:inf)
ATTR(info="AREA COMPONENT OF TRAP-ASSISTED CURRENT FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)"); parameter real JTSSWS = 0.0E-12 from (-inf:inf)ATTR(info="SIDEWAYS COMPONENT OF TRAP-ASSISTED CURRENT FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");parameter real JTSSWGS = 0.0E-12 from (-inf:inf) `ATTR(info="GATESIDE COMPONENT OF TRAP-ASSISTED CURRENT FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");
parameter real CJS = 0.0E-06 from (-inf:inf)
ATTR(info="AREA COMPONENT OF CAPACITANCE FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)"); parameter real CJSWS = 0.0E-09 from (-inf:inf)ATTR(info="SIDEWAYS COMPONENT OF CAPACITANCE FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");parameter real CJSWGS = 0.0E-09 from (-inf:inf) `ATTR(info="GATESIDE COMPONENT OF CAPACITANCE FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");
parameter real PBS = 0.800 from (-inf:inf)
ATTR(info="AREA PARAMETER OF CAPACITANCE FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)"); parameter real PBSWS = 0.600 from (-inf:inf)ATTR(info="SIDEWAYS PARAMETER OF CAPACITANCE FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");parameter real PBSWGS = 0.600 from (-inf:inf) `ATTR(info="GATESIDE PARAMETER OF CAPACITANCE FOR JUNCTION DIODE, SOURCE SIDE (ASYMMETRICAL MODEL)");