From 51f17e5c2dacd3f062ee7b3f58ba156bd74fc221 Mon Sep 17 00:00:00 2001 From: Roka Miklos Date: Tue, 30 Jun 2026 17:24:07 +0200 Subject: [PATCH] Added Diode component with standard and verilog model (diode, led, zener) --- circuit/ael/mr/mr_diode.ael | 286 ++++++++++++++++++++++ circuit/ael/mr/mr_diode_zener.ael | 286 ++++++++++++++++++++++ circuit/models/diode/1n4148.mod | 15 ++ circuit/models/diode/led.mod | 35 +++ circuit/models/diode/on/mur820.mod | 18 ++ circuit/models/diode/on/mur830.mod | 17 ++ circuit/models/diode/on/mur840.mod | 17 ++ circuit/models/diode/on/mur850.mod | 17 ++ circuit/models/diode/on/mur860.mod | 17 ++ circuit/models/diode/on/murs110.mod | 20 ++ circuit/models/diode/zener.mod | 134 ++++++++++ de/ael/boot.ael | 1 + mrModels/mr_diode/symbol/master.tag | 2 + mrModels/mr_diode/symbol/symbol.oa | Bin 0 -> 24620 bytes mrModels/mr_diode_zener/symbol/master.tag | 2 + mrModels/mr_diode_zener/symbol/symbol.oa | Bin 0 -> 24860 bytes veriloga/mr/mr_diode.va | 145 +++++++++++ 17 files changed, 1012 insertions(+) create mode 100644 circuit/ael/mr/mr_diode.ael create mode 100644 circuit/ael/mr/mr_diode_zener.ael create mode 100644 circuit/models/diode/1n4148.mod create mode 100644 circuit/models/diode/led.mod create mode 100644 circuit/models/diode/on/mur820.mod create mode 100644 circuit/models/diode/on/mur830.mod create mode 100644 circuit/models/diode/on/mur840.mod create mode 100644 circuit/models/diode/on/mur850.mod create mode 100644 circuit/models/diode/on/mur860.mod create mode 100644 circuit/models/diode/on/murs110.mod create mode 100644 circuit/models/diode/zener.mod create mode 100644 mrModels/mr_diode/symbol/master.tag create mode 100644 mrModels/mr_diode/symbol/symbol.oa create mode 100644 mrModels/mr_diode_zener/symbol/master.tag create mode 100644 mrModels/mr_diode_zener/symbol/symbol.oa create mode 100644 veriloga/mr/mr_diode.va diff --git a/circuit/ael/mr/mr_diode.ael b/circuit/ael/mr/mr_diode.ael new file mode 100644 index 0000000..650f790 --- /dev/null +++ b/circuit/ael/mr/mr_diode.ael @@ -0,0 +1,286 @@ +// (setq tab-width 4) +// kelle ez ? :: decl diode_va_ModelNetlistFmt = "%43?global %;model %t diode_va %b%r%8?%29?%:%30?%p %:%k%?[%1i]%;=%p %;%;%;%e%e"; + +create_item( + "mr_diode", // name + "PN junction diode", // label + "D", // prefix + 0, // attributes + NULL, // priority + NULL, // icon + standard_dialog, // dialog name + "", // dialog data + CmpModelNetlistFmt, // netlist format + "Diode", // netlist data + ComponentAnnotFmt, // display format string + NULL, // symbol name (not used since 2011) + NULL, // artwork type (not used since 2011) + NULL, // artwork data (not used since 2011) + ITEM_PRIMITIVE_EX, // extra attributes + + // ------------------------------------------------------------------------ + // Model + // ------------------------------------------------------------------------ + create_parm + ( + "Model", + "Model instance name", + 0, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","va_diode") + ), + + + // ------------------------------------------------------------------------ + // Area + // ------------------------------------------------------------------------ + create_parm + ( + "Area", + "Scaling factor", + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","1.0") + ), + + // ------------------------------------------------------------------------ + // Is + // ------------------------------------------------------------------------ + create_parm + ( + "Is", + "Saturation current", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + CURRENT_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Tnom + // ------------------------------------------------------------------------ + create_parm + ( + "Tnom", + "Nominal temperature", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + TEMPERATURE_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Rs + // ------------------------------------------------------------------------ + create_parm + ( + "Rs", + "Ohmic resistance", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + RESISTANCE_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // N + // ------------------------------------------------------------------------ + create_parm + ( + "N", + "Emission coefficient, (default: 1.0)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Tt + // ------------------------------------------------------------------------ + create_parm + ( + "Tt", + "Transit time", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + TIME_UNIT, + prm("StdForm","0.0") + ), + + // ------------------------------------------------------------------------ + // Cjo + // ------------------------------------------------------------------------ + create_parm + ( + "Cjo", + "Junction capacitance", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + CAPACITANCE_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Vj + // ------------------------------------------------------------------------ + create_parm + ( + "Vj", + "Junction potential, (default: 1.0)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + VOLTAGE_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // M + // ------------------------------------------------------------------------ + create_parm + ( + "M", + "Grading coefficient, (default: 0.5)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Eg + // ------------------------------------------------------------------------ + create_parm + ( + "Eg", + "Activation energy, (default: 1.1)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Xti + // ------------------------------------------------------------------------ + create_parm + ( + "Xti", + "Is temperature exponent (default: 3.3)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Af + // ------------------------------------------------------------------------ + create_parm + ( + "Af", + "Flicker noise exponent (default: 1.0)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Kf + // ------------------------------------------------------------------------ + create_parm + ( + "Kf", + "Flicker noise coefficient (default: 0.0)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Fc + // ------------------------------------------------------------------------ + create_parm + ( + "Fc", + "Forward bias junction parm (default: 0.5)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Bv + // ------------------------------------------------------------------------ + create_parm + ( + "Bv", + "Reverse breakdown voltage (default: 1e99)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + VOLTAGE_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Ibv + // ------------------------------------------------------------------------ + create_parm + ( + "IBv", + "Reverse breakdown current (default: 1 mA)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + CURRENT_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // _M + // ------------------------------------------------------------------------ + create_parm + ( + "_M", + "Number of devices in parallel, (default: 1)", + PARM_NO_DISPLAY, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ) +); diff --git a/circuit/ael/mr/mr_diode_zener.ael b/circuit/ael/mr/mr_diode_zener.ael new file mode 100644 index 0000000..38e31e9 --- /dev/null +++ b/circuit/ael/mr/mr_diode_zener.ael @@ -0,0 +1,286 @@ +// (setq tab-width 4) +// kelle ez ? :: decl diode_va_ModelNetlistFmt = "%43?global %;model %t diode_va %b%r%8?%29?%:%30?%p %:%k%?[%1i]%;=%p %;%;%;%e%e"; + +create_item( + "mr_diode_zener", // name + "Zener diode", // label + "D", // prefix + 0, // attributes + NULL, // priority + NULL, // icon + standard_dialog, // dialog name + "", // dialog data + CmpModelNetlistFmt, // netlist format + "Diode", // netlist data + ComponentAnnotFmt, // display format string + NULL, // symbol name (not used since 2011) + NULL, // artwork type (not used since 2011) + NULL, // artwork data (not used since 2011) + ITEM_PRIMITIVE_EX, // extra attributes + + // ------------------------------------------------------------------------ + // Model + // ------------------------------------------------------------------------ + create_parm + ( + "Model", + "Model instance name", + 0, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","va_diode") + ), + + + // ------------------------------------------------------------------------ + // Area + // ------------------------------------------------------------------------ + create_parm + ( + "Area", + "Scaling factor", + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","1.0") + ), + + // ------------------------------------------------------------------------ + // Is + // ------------------------------------------------------------------------ + create_parm + ( + "Is", + "Saturation current", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + CURRENT_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Tnom + // ------------------------------------------------------------------------ + create_parm + ( + "Tnom", + "Nominal temperature", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + TEMPERATURE_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Rs + // ------------------------------------------------------------------------ + create_parm + ( + "Rs", + "Ohmic resistance", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + RESISTANCE_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // N + // ------------------------------------------------------------------------ + create_parm + ( + "N", + "Emission coefficient, (default: 1.0)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Tt + // ------------------------------------------------------------------------ + create_parm + ( + "Tt", + "Transit time", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + TIME_UNIT, + prm("StdForm","0.0") + ), + + // ------------------------------------------------------------------------ + // Cjo + // ------------------------------------------------------------------------ + create_parm + ( + "Cjo", + "Junction capacitance", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + CAPACITANCE_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Vj + // ------------------------------------------------------------------------ + create_parm + ( + "Vj", + "Junction potential, (default: 1.0)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + VOLTAGE_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // M + // ------------------------------------------------------------------------ + create_parm + ( + "M", + "Grading coefficient, (default: 0.5)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Eg + // ------------------------------------------------------------------------ + create_parm + ( + "Eg", + "Activation energy, (default: 1.1)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Xti + // ------------------------------------------------------------------------ + create_parm + ( + "Xti", + "Is temperature exponent (default: 3.3)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Af + // ------------------------------------------------------------------------ + create_parm + ( + "Af", + "Flicker noise exponent (default: 1.0)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Kf + // ------------------------------------------------------------------------ + create_parm + ( + "Kf", + "Flicker noise coefficient (default: 0.0)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Fc + // ------------------------------------------------------------------------ + create_parm + ( + "Fc", + "Forward bias junction parm (default: 0.5)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Bv + // ------------------------------------------------------------------------ + create_parm + ( + "Bv", + "Reverse breakdown voltage (default: 1e99)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + VOLTAGE_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // Ibv + // ------------------------------------------------------------------------ + create_parm + ( + "IBv", + "Reverse breakdown current (default: 1 mA)", + PARM_NO_DISPLAY | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFileFormSet", + CURRENT_UNIT, + prm("StdForm","") + ), + + // ------------------------------------------------------------------------ + // _M + // ------------------------------------------------------------------------ + create_parm + ( + "_M", + "Number of devices in parallel, (default: 1)", + PARM_NO_DISPLAY, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ) +); diff --git a/circuit/models/diode/1n4148.mod b/circuit/models/diode/1n4148.mod new file mode 100644 index 0000000..8a0eca8 --- /dev/null +++ b/circuit/models/diode/1n4148.mod @@ -0,0 +1,15 @@ +; 1N4148 +; +model D1N4148 Diode \ + Is = 2.682n \ + N = 1.836 \ + Rs = 0.5664 \ + Xti = 3 \ + Eg = 1.11 \ + Cjo = 4p \ + M = 0.3333 \ + Vj = 0.5 \ + Fc = 0.5 \ + Bv = 100 \ + Ibv = 100u +; Tt = 11.54n diff --git a/circuit/models/diode/led.mod b/circuit/models/diode/led.mod new file mode 100644 index 0000000..e44de41 --- /dev/null +++ b/circuit/models/diode/led.mod @@ -0,0 +1,35 @@ +;*==================== +;*LED Pinout: 1=A, 2=K +;*==================== + +; --------------------------------------------------------- +; Typ INFRARED GaAs LED: Vf=1.2V Vr=5V If=40mA trr=3uS +; --------------------------------------------------------- +model DLED0 Diode \ + IS = 93.5p RS = 84m N = 2.63 \ + BV = 5 IBV = 10u CJO = 2.97p \ + VJ = 0.75 M = 0.333 TT = 4.32u + +; --------------------------------------------------------- +; Typ RED GaAs LED: Vf=1.7V Vr=4V If=40mA trr=3uS +; --------------------------------------------------------- +model DLED1 Diode \ + IS = 93.2p RS = 42m N = 3.73 \ + BV = 4 IBV = 10u CJO = 2.97p \ + VJ = 0.75 M = 0.333 TT = 4.32u + +; --------------------------------------------------------- +; Typ RED,GREEN,YELLOW,AMBER GaAs LED: Vf=2.1V Vr=4V If=40mA trr=3uS +; --------------------------------------------------------- +model DLED2 Diode \ + IS = 93.1p RS = 42m N = 4.61 \ + BV = 4 IBV = 10u CJO = 2.97p \ + VJ = 0.75 M = 0.333 TT = 4.32u + +; --------------------------------------------------------- +; Typ BLUE SiC LED: Vf=3.4V Vr=5V If=40mA trr=3uS +; --------------------------------------------------------- +model DLED3 Diode \ + IS = 93.1p RS = 42m N = 7.47 \ + BV = 5 IBV = 30u CJO = 2.97p \ + VJ = 0.75 M = 0.333 TT = 4.32u diff --git a/circuit/models/diode/on/mur820.mod b/circuit/models/diode/on/mur820.mod new file mode 100644 index 0000000..b4308e0 --- /dev/null +++ b/circuit/models/diode/on/mur820.mod @@ -0,0 +1,18 @@ +; Motorola MUR820 TO220AC +; +model MUR820_ON Diode \ + IS = 3.30803e-08 \ + RS = 0.01 \ + N = 1.63481 \ + EG = 1.00822 \ + XTI = 4 \ + BV = 200 \ + IBV = 0.00005 \ + CJO = 3.16981e-10 \ + VJ = 0.437823 \ + M = 0.40704 \ + FC = 0.5 \ + TT = 4.43935e-08 \ + KF = 0 \ + AF = 1 + diff --git a/circuit/models/diode/on/mur830.mod b/circuit/models/diode/on/mur830.mod new file mode 100644 index 0000000..71f6da4 --- /dev/null +++ b/circuit/models/diode/on/mur830.mod @@ -0,0 +1,17 @@ +; Motorola MUR830 TO220AC +; +model MUR830 Diode \ + Is = 1.026p \ + Rs = 36.34m \ + Ikf = 17.71m \ + N = 1 \ + Xti = 10 \ + Eg = 1.11 \ + Cjo = 367p \ + M = 0.4068 \ + Vj = 0.75 \ + Fc = 0.5 \ + Isr = 32.31n \ + Nr = 2 \ + Tt = 123.3n + diff --git a/circuit/models/diode/on/mur840.mod b/circuit/models/diode/on/mur840.mod new file mode 100644 index 0000000..a78cb4b --- /dev/null +++ b/circuit/models/diode/on/mur840.mod @@ -0,0 +1,17 @@ +; Motorola MUR840 TO220AC +; +model MUR840 Diode \ + Is = 1.026p \ + Rs = 36.34m \ + Ikf = 17.71m \ + N = 1 \ + Xti = 10 \ + Eg = 1.11 \ + Cjo = 367p \ + M = 0.4068 \ + Vj = 0.75 \ + Fc = 0.5 \ + Isr = 132.1n \ + Nr = 2 \ + Tt = 123.3n + diff --git a/circuit/models/diode/on/mur850.mod b/circuit/models/diode/on/mur850.mod new file mode 100644 index 0000000..1f41143 --- /dev/null +++ b/circuit/models/diode/on/mur850.mod @@ -0,0 +1,17 @@ +; Motorola MUR850 TO220AC +; +model MUR850 Diode \ + Is = 853.7f \ + Rs = 41.35m \ + Ikf = 21.56m \ + N = 1 \ + Xti = 3 \ + Eg = 1.11 \ + Cjo = 367p \ + M = 0.4068 \ + Vj = 0.75 \ + Fc = 0.5 \ + Isr = 85.16n \ + Nr = 2 \ + Tt = 123.3n + diff --git a/circuit/models/diode/on/mur860.mod b/circuit/models/diode/on/mur860.mod new file mode 100644 index 0000000..aa38e76 --- /dev/null +++ b/circuit/models/diode/on/mur860.mod @@ -0,0 +1,17 @@ +; Motorola MUR860 TO220AC +; +model MUR860 Diode \ + Is = 853.7f \ + Rs = 41.35m \ + Ikf = 21.56m \ + N = 1 \ + Xti = 3 \ + Eg = 1.11 \ + Cjo = 367p \ + M = 0.4068 \ + Vj = 0.75 \ + Fc = 0.5 \ + Isr = 217.5n \ + Nr = 2 \ + Tt = 123.3n + diff --git a/circuit/models/diode/on/murs110.mod b/circuit/models/diode/on/murs110.mod new file mode 100644 index 0000000..3c38674 --- /dev/null +++ b/circuit/models/diode/on/murs110.mod @@ -0,0 +1,20 @@ +; Motorola MURS110 +; +; src: onsemi +; +model MURS110 Diode \ + IS = 1.0e-15 \ + RS = 0.057964 \ + N = 0.790242 \ + EG = 1.04345 \ + XTI = 0.5 \ + BV = 100 \ + IBV = 0.000002 \ + CJO = 1.06518e-10 \ + VJ = 0.4 \ + M = 0.626202 \ + FC = 0.5 \ + TT = 4.43935e-08 \ + KF = 0.0 \ + AF = 1.0 + diff --git a/circuit/models/diode/zener.mod b/circuit/models/diode/zener.mod new file mode 100644 index 0000000..09a976f --- /dev/null +++ b/circuit/models/diode/zener.mod @@ -0,0 +1,134 @@ +; =================================================== +; Motorola Zener Diodes (OnSemi) +; 1=A +; 2=K +; =================================================== + + +; --------------------------------------------------- +; 1N746 +; Motorola 3.3V 500mW Si Zener pkg:DO-13 1,2 +; Bv = 3.025 +; --------------------------------------------------- +model D1N746 Diode \ + IS = 1E-11 RS = 13.65 N = 1.27 \ + TT = 5E-8 CJO = 5.826E-10 VJ = 0.75 \ + M = 0.33 BV = 3.027 IBV = 0.01 + +; --------------------------------------------------- +; 1N747 +; Motorola 3.6V 500mW Si Zener pkg:DO-35 1,2 +; --------------------------------------------------- +model D1N747 Diode \ + IS = 1E-11 RS = 12.8 N = 1.27 \ + TT = 5E-8 CJO = 5.422E-10 VJ = 0.75 \ + M = 0.33 BV = 3.344 IBV = 0.01 + +; --------------------------------------------------- +; 1N748 +; Motorola 3.9V 500mW Si Zener pkg:DO-35 1,2 +; --------------------------------------------------- +model D1N748 Diode \ + IS = 1E-11 RS = 11.84 N = 1.27 \ + TT = 5E-8 CJO = 5.076E-10 VJ = 0.75 \ + M = 0.33 BV = 3.663 IBV = 0.01 + +; --------------------------------------------------- +; 1N749 +; Motorola 4.3V 500mW Si Zener pkg:DO-35 1,2 +; --------------------------------------------------- +model D1N749 Diode \ + IS = 1E-11 RS = 10.47 N = 1.27 \ + TT = 5E-8 CJO = 4.683E-10 VJ = 0.75 \ + M = 0.33 BV = 4.091 IBV = 0.01 + +; --------------------------------------------------- +; 1N750 +; Motorola 4.7V 500mW Si Zener pkg:DO-35 1,2 +; --------------------------------------------------- +model D1N750 Diode \ + IS = 1E-11 RS = 9.066 N = 1.27 \ + TT = 5E-8 CJO = 4.351E-10 VJ =0.75 \ + M = 0.33 BV = 4.519 IBV=0.01 + +; --------------------------------------------------- +; 1N751 +; Motorola 5.1V 500mW Si Zener pkg:DO-35 1,2 +; --------------------------------------------------- +model D1N751 Diode \ + IS = 1E-11 RS = 7.708 N = 1.27 \ + TT = 5E-8 CJO = 4.068E-10 VJ = 0.75 \ + M = 0.33 BV = 4.946 IBV = 0.01 + +; --------------------------------------------------- +; 1N752 +; Motorola 5.6V 500mW Si Zener pkg:DO-35 1,2 +; --------------------------------------------------- +model D1N752 Diode \ + IS = 1E-11 RS = 6.168 N = 1.27 \ + TT = 5E-8 CJO = 3.766E-10 VJ = 0.75 \ + M = 0.33 BV = 5.477 IBV = 0.01 + +; --------------------------------------------------- +; 1N753 +; Motorola 6.2V 500mW Si Zener pkg:DO-35 1,2 +; --------------------------------------------------- +model D1N753 Diode \ + IS = 1E-11 RS = 4.685 N = 1.27 \ + TT = 5E-8 CJO = 3.463E-10 VJ = 0.75 \ + M = 0.33 BV = 6.106 IBV = 0.01 + +; --------------------------------------------------- +; 1N754 +; Motorola 6.8V 500mW Si Zener pkg:DO-35 1,2 +; --------------------------------------------------- +model D1N754 Diode \ + IS = 1E-11 RS = 3.721 N = 1.27 \ + TT = 5E-8 CJO = 3.209E-10 VJ = 0.75 \ + M = 0.33 BV = 6.726 IBV=0.01 + +; --------------------------------------------------- +; 1N755 +; Motorola 7.5V 500mW Si Zener pkg:DO-35 1,2 +; --------------------------------------------------- +model D1N755 Diode \ + IS = 1E-11 RS = 3.359 N = 1.27 \ + TT = 5E-8 CJO = 2.959E-10 VJ = 0.75 \ + M = 0.33 BV = 7.433 IBV = 0.01 + +; --------------------------------------------------- +; 1N756 +; Motorola 8.2V 500mW Si Zener pkg:DO-35 1,2 +; --------------------------------------------------- +model D1N756 Diode \ + IS = 1E-11 RS = 3.858 N = 1.27 \ + TT = 5E-8 CJO = 2.749E-10 VJ = 0.75 \ + M = 0.33 BV = 8.123 IBV = 0.01 + +; --------------------------------------------------- +; 1N757 +; Motorola 9.1V 500mW Si Zener pkg:DO-35 1,2 +; --------------------------------------------------- +model D1N757 Diode \ + IS = 1E-11 RS = 5.672 N = 1.27 \ + TT = 5E-8 CJO = 2.523E-10 VJ = 0.75 \ + M = 0.33 BV = 8.987 IBV = 0.01 + +; --------------------------------------------------- +; 1N758 +; Motorola 10V 500mW Si Zener pkg:DO-35 1,2 +; --------------------------------------------------- +model D1N758 Diode \ + IS = 1E-11 RS = 8.483 N = 1.27 \ + TT = 5E-8 CJO = 2.334E-10 VJ = 0.75 \ + M = 0.33 BV = 9.83 IBV = 0.01 + +; --------------------------------------------------- +; 1N759 +; Motorola 12V 500mW Si Zener pkg:DO-35 1,2 +; --------------------------------------------------- +model D1N759 Diode \ + IS = 1E-11 RS = 14.95 N = 1.27 \ + TT = 5E-8 CJO = 2.008E-10 VJ = 0.75 \ + M = 0.33 BV = 11.7 IBV = 0.01 + diff --git a/de/ael/boot.ael b/de/ael/boot.ael index 3d9fdda..671e291 100644 --- a/de/ael/boot.ael +++ b/de/ael/boot.ael @@ -44,6 +44,7 @@ load( strcat( MRMODELS_DIR_CIRCUIT_AEL, "mrmodels_include")); load( strcat( MRMODELS_DIR_CIRCUIT_AEL, "mr/mr_capacitor" )); load( strcat( MRMODELS_DIR_CIRCUIT_AEL, "mr/mr_inductor" )); load( strcat( MRMODELS_DIR_CIRCUIT_AEL, "mr/mr_resistor" )); +load( strcat( MRMODELS_DIR_CIRCUIT_AEL, "mr/mr_diode" )); load( strcat( MRMODELS_DIR_CIRCUIT_AEL, "mr/mr_bjt" )); load( strcat( MRMODELS_DIR_CIRCUIT_AEL, "mr/mr_jfet" )); diff --git a/mrModels/mr_diode/symbol/master.tag b/mrModels/mr_diode/symbol/master.tag new file mode 100644 index 0000000..e1024da --- /dev/null +++ b/mrModels/mr_diode/symbol/master.tag @@ -0,0 +1,2 @@ +-- Master.tag File, Rev:1.0 +symbol.oa diff --git a/mrModels/mr_diode/symbol/symbol.oa b/mrModels/mr_diode/symbol/symbol.oa new file mode 100644 index 0000000000000000000000000000000000000000..6b7c20b83837a42e796ceb178b796dd0ba618503 GIT binary patch literal 24620 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 literal 0 HcmV?d00001 diff --git a/veriloga/mr/mr_diode.va b/veriloga/mr/mr_diode.va new file mode 100644 index 0000000..06323c5 --- /dev/null +++ b/veriloga/mr/mr_diode.va @@ -0,0 +1,145 @@ +/* + + Copyright 2002-2005 Tiburon Design Automation, Inc. All rights reserved. + + This software has been provided pursuant to a License Agreement + containing restrictions on its use. This software contains + valuable trade secrets and proprietary information of + Tiburon Design Automation, Inc. and is protected by law. It may + not be copied or distributed in any form or medium, disclosed + to third parties, reverse engineered or used in any manner not + provided for in said License Agreement except with the prior + written authorization from Tiburon Design Automation, Inc. + + Verilog-A definition of diode + + Note that GMIN is not picked up from Options card + + $RCSfile: diode.va,v $ $Revision: 1.8 $ $Date: 2012/07/09 19:37:45 $ + +*/ + +`include "constants.vams" +`include "disciplines.vams" + +`define SPICE_GMIN 1.0e-12 +`define LARGE_REAL 1.0e99 +`define DEFAULT_TNOM 27 +`define MAX_EXPL 2.688117142e+43 +`define MIN_EXPL 3.720075976e-44 +`define EXPL_THRESHOLD 100.0 + +`define DEXP(A,B) \ + if (A > `EXPL_THRESHOLD) begin \ + B = `MAX_EXPL*(1.0+(A)-`EXPL_THRESHOLD); \ + end else if (A < -`EXPL_THRESHOLD) begin \ + B = `MIN_EXPL; \ + end else begin \ + B = exp(A); \ + end + +module va_diode(anode,cathode); + + // %%DEVICE_CLASS=DIODE%% + + inout anode, cathode; + electrical anode, cathode, internal; + + parameter real Area = 1.0 from (0:inf]; //Area scaling factor + parameter real Is = 1e-14 from [0:inf]; //Saturation current [A] + parameter real Tnom = `DEFAULT_TNOM from (-`P_CELSIUS0:inf); //Measurement temperature [C] + parameter real Rs = 0.0 from [0:inf]; //Ohmic res [Ohm] + parameter real N = 1.0 from [0:inf]; //Emission coef + parameter real Tt = 0.0 from [0:inf]; //Transit time [s] + parameter real Cjo = 0.0 from [0:inf]; //Junction capacitance [F] + parameter real Vj = 1.0 exclude 0; //Junction potential [v] + parameter real M = 0.5 from [0:inf]; //Grading coef + parameter real Eg = 1.11 from (0:inf]; //Activation energy [eV] + parameter real Xti = 3.0 from [0:inf]; //IS temp exp. + parameter real Kf = 0.0; //Flicker noise coef + parameter real Af = 1.0 from (0:inf); //Flicker noise exponent + parameter real Fc = 0.5 from [0:1]; //Forward bias junct parm + parameter real Bv = `LARGE_REAL from [0:inf]; //Reverse breakdown voltage [v] + parameter real Ibv = 0.001 from [0:inf]; //Current at BV [A] + + real Vd, Id, Qd; + real f1, f2, f3, Fcp; + real Ibv_calc, Vth; + real Is_temp, Vth_nom, T_nom, T; + real exponent; + + analog begin + Vth = $vt; + T = $temperature; + + f1 = (Vj/(1 - M))*(1 - pow((1 - Fc), 1 - M)); + f2 = pow((1 - Fc), (1 + M)); + f3 = 1 - Fc * (1 + M); + Fcp = Fc * Vj; + + if (Ibv !=0) + Ibv_calc = Ibv; + else + Ibv_calc = Is * Bv / Vth; + + Vd = V(anode, internal); + + // Temperature dependence + T_nom = Tnom + `P_CELSIUS0; + Vth_nom = $vt(T_nom); + `DEXP((Eg / Vth_nom - Eg / Vth),exponent); + + Is_temp = Is * pow(T/T_nom, Xti / N) * exponent; + + // Intrinsic diode + // BV is not adjusted to match Ibv if I(BV) <> Ibv + if (Vd < 0) begin + if (Vd < -Bv) // Past breakdown + begin + `DEXP(-(Bv + Vd) / Vth,exponent); + Id = -Area * Is_temp * (exponent + Bv / Vth); + end + + else if (Vd == -Bv) // At breakdown + Id = -Area * Ibv_calc; + + else if (Vd <= -5 * N * Vth) // -Bv < Vd < -5 nKT/q + Id = -Area * Is_temp + Vd * `SPICE_GMIN; + + else // -5 nKT/q <= Vd < 0 + begin + `DEXP(Vd / Vth,exponent); + Id = Area * Is_temp * (exponent - 1) + Vd * `SPICE_GMIN; + end + end + else // Fwd bias: + begin + `DEXP(Vd / (N*Vth),exponent); + Id = Area * Is_temp * (exponent - 1) + + Vd * `SPICE_GMIN; + end + // Capacitance (junction and diffusion) + if (Vd <= Fcp) + Qd = Tt * Id + Area * Cjo * Vj + * (1 - pow((1 - Vd / Vj), (1 - M)))/(1 - M); + else + Qd = Tt * Id + Area * Cjo + * (f1 + (1 / f2) * (f3 * (Vd - Fcp) + (0.5 * M / Vj) + * (Vd * Vd - Fcp * Fcp))); + + I(anode, internal) <+ Id; + I(anode, internal) <+ ddt(Qd); + if (Rs > 0.0) begin + I(internal, cathode) <+ V(internal, cathode) / (Rs / Area); + I(internal, cathode) <+ white_noise(4 * `P_K * T / (Rs / Area), + "Rs"); + end + else + V(internal, cathode) <+ 0.0; + + I(anode, internal) <+ white_noise(2 * `P_Q * abs(Id), "shot"); + I(anode, internal) <+ flicker_noise(Kf * pow(abs(Id), Af), 1.0, "flicker"); + end + +endmodule +