@vessel-dsp/compiler 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +4 -2
  2. package/dist/bbd-clock.d.ts.map +1 -1
  3. package/dist/bbd-clock.js +5 -0
  4. package/dist/bbd-clock.js.map +1 -1
  5. package/dist/compile.d.ts.map +1 -1
  6. package/dist/compile.js +261 -12
  7. package/dist/compile.js.map +1 -1
  8. package/dist/device-laws.d.ts.map +1 -1
  9. package/dist/device-laws.js +541 -97
  10. package/dist/device-laws.js.map +1 -1
  11. package/dist/fixtures/circuits.d.ts +23 -2
  12. package/dist/fixtures/circuits.d.ts.map +1 -1
  13. package/dist/fixtures/circuits.js +205 -2
  14. package/dist/fixtures/circuits.js.map +1 -1
  15. package/dist/index.d.ts +2 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/netlist.d.ts +30 -0
  20. package/dist/netlist.d.ts.map +1 -1
  21. package/dist/netlist.js +488 -8
  22. package/dist/netlist.js.map +1 -1
  23. package/dist/part-catalog.d.ts +35 -18
  24. package/dist/part-catalog.d.ts.map +1 -1
  25. package/dist/part-catalog.js +2474 -592
  26. package/dist/part-catalog.js.map +1 -1
  27. package/dist/registry-data/bjt.d.ts +3 -0
  28. package/dist/registry-data/bjt.d.ts.map +1 -0
  29. package/dist/registry-data/bjt.js +1350 -0
  30. package/dist/registry-data/bjt.js.map +1 -0
  31. package/dist/registry-data/charge-pump.d.ts +3 -0
  32. package/dist/registry-data/charge-pump.d.ts.map +1 -0
  33. package/dist/registry-data/charge-pump.js +204 -0
  34. package/dist/registry-data/charge-pump.js.map +1 -0
  35. package/dist/registry-data/diode.d.ts +3 -0
  36. package/dist/registry-data/diode.d.ts.map +1 -0
  37. package/dist/registry-data/diode.js +683 -0
  38. package/dist/registry-data/diode.js.map +1 -0
  39. package/dist/registry-data/index.d.ts +20 -0
  40. package/dist/registry-data/index.d.ts.map +1 -0
  41. package/dist/registry-data/index.js +100 -0
  42. package/dist/registry-data/index.js.map +1 -0
  43. package/dist/registry-data/jfet.d.ts +3 -0
  44. package/dist/registry-data/jfet.d.ts.map +1 -0
  45. package/dist/registry-data/jfet.js +605 -0
  46. package/dist/registry-data/jfet.js.map +1 -0
  47. package/dist/registry-data/loader.d.ts +137 -0
  48. package/dist/registry-data/loader.d.ts.map +1 -0
  49. package/dist/registry-data/loader.js +350 -0
  50. package/dist/registry-data/loader.js.map +1 -0
  51. package/dist/registry-data/mosfet.d.ts +3 -0
  52. package/dist/registry-data/mosfet.d.ts.map +1 -0
  53. package/dist/registry-data/mosfet.js +63 -0
  54. package/dist/registry-data/mosfet.js.map +1 -0
  55. package/dist/registry-data/opamp.d.ts +37 -0
  56. package/dist/registry-data/opamp.d.ts.map +1 -0
  57. package/dist/registry-data/opamp.js +669 -0
  58. package/dist/registry-data/opamp.js.map +1 -0
  59. package/dist/registry-data/regulator.d.ts +3 -0
  60. package/dist/registry-data/regulator.d.ts.map +1 -0
  61. package/dist/registry-data/regulator.js +189 -0
  62. package/dist/registry-data/regulator.js.map +1 -0
  63. package/dist/registry-data/schema.d.ts +56 -0
  64. package/dist/registry-data/schema.d.ts.map +1 -0
  65. package/dist/registry-data/schema.js +142 -0
  66. package/dist/registry-data/schema.js.map +1 -0
  67. package/dist/registry-data/zener.d.ts +3 -0
  68. package/dist/registry-data/zener.d.ts.map +1 -0
  69. package/dist/registry-data/zener.js +547 -0
  70. package/dist/registry-data/zener.js.map +1 -0
  71. package/dist/registry.d.ts +61 -6
  72. package/dist/registry.d.ts.map +1 -1
  73. package/dist/registry.js +35 -7
  74. package/dist/registry.js.map +1 -1
  75. package/dist/types.d.ts +209 -19
  76. package/dist/types.d.ts.map +1 -1
  77. package/package.json +1 -1
@@ -0,0 +1,1350 @@
1
+ // BJT registry data: wave-1 discrete fill.
2
+ //
3
+ // One value per parameter; a parameter with no datasheet citation is not loadable, so it
4
+ // is omitted here and the stamp falls back to the class default (never a guess):
5
+ //
6
+ // - `saturationCurrent`: derived ONLY by form (1), IS = Ic * exp(-Vbe / Vt) with n = 1 from
7
+ // a printed Vbe at a stated Ic, OR read directly from a manufacturer-published SPICE
8
+ // model (`manufacturer-model`, preferred over a derived value where one exists -- owner
9
+ // ruling 2026-10-19). A printed MIN-MAX VBE(sat) range becomes one Vbe by its
10
+ // arithmetic midpoint under form (2) ("a printed bin or range becomes one value by its
11
+ // midpoint"), quoted with page and conditions so anyone can recompute it. A MAX-only Vbe
12
+ // with no MIN is a limit, not a range, and yields no IS (2N5089/2SC1815; 2N5088's IS is
13
+ // from its model, not from the MAX-only VBE(on) row).
14
+ // - `forwardBeta`: derived by form (2) from a printed hFE bin at a stated Vce/Ic, geometric
15
+ // mean for gains. Bare MIN-only hFE rows are never used alone; the small-signal full-range
16
+ // row is preferred. Rank suffixes (2SC1815-Y/BL) are separate entries with their rank's
17
+ // midpoint, never aliases of the unbinned part -- a rank is a different gain, not another
18
+ // spelling. `MPS-A18` needs no alias: it folds to the same id as `MPSA18`.
19
+ // - `reverseBeta`, `leakageAmps`: omitted for every part below. No BJT sheet in this wave
20
+ // prints reverse beta at all, and every leakage row is MAX-only (a limit, not a value).
21
+ // The stamp keeps reverseBeta 1 and leakageAmps 0.
22
+ // - `thermalVoltage`: omitted for every part below. It is kT/q at room temperature, not a
23
+ // per-part datasheet figure; no datasheet basis exists, so the class default stands.
24
+ import { definePartData } from "./loader.js";
25
+ export const bjtRegistryRecords = definePartData([
26
+ {
27
+ partIds: ["2N3904"],
28
+ class: "bjt",
29
+ params: {
30
+ saturationCurrent: {
31
+ value: 2.5150964e-15,
32
+ basis: "derived",
33
+ source: "2N3904/datasheets/2n3904.pdf (onsemi 2N3904/D, Oct 2024 Rev. 3) p2, ELECTRICAL " +
34
+ "CHARACTERISTICS: 'Base-Emitter Saturation Voltage VBE(sat), IC = 10 mA, IB = 1.0 mA, " +
35
+ "MIN 0.65 MAX 0.85 V' (no TYP printed; the 50 mA row is MAX-only 0.95 V)",
36
+ derivation: "Printed VBE(sat) range 0.65-0.85 V at IC = 10 mA, IB = 1.0 mA; arithmetic midpoint " +
37
+ "0.75 V (form 2, printed range, no TYP); IS = IC * exp(-Vbe / Vt) with n = 1 " +
38
+ "(form 1): 0.01 * exp(-0.75 / 0.025852) = 2.5150964e-15.",
39
+ },
40
+ forwardBeta: {
41
+ value: 173.2050808,
42
+ basis: "derived",
43
+ source: "2N3904/datasheets/2n3904.pdf (onsemi 2N3904/D, Oct 2024 Rev. 3) p2: 'DC Current Gain, " +
44
+ "IC = 10 mA, VCE = 1.0 V, MIN 100 MAX 300' (the 0.1/1.0/50/100 mA rows are MIN-only; " +
45
+ "Note 3: pulse test)",
46
+ derivation: "Printed hFE bin 100-300 at IC = 10 mA, VCE = 1.0 V; geometric midpoint " +
47
+ "(form 2, gains): sqrt(100 * 300) = 173.2050808.",
48
+ },
49
+ },
50
+ },
51
+ {
52
+ partIds: ["2N3906"],
53
+ class: "bjt",
54
+ params: {
55
+ saturationCurrent: {
56
+ value: 2.5150964e-15,
57
+ basis: "derived",
58
+ source: "2N3906/datasheets/2n3906.pdf (onsemi 2N3906/D, Feb 2010 Rev. 4) p2, ELECTRICAL " +
59
+ "CHARACTERISTICS: 'Base-Emitter Saturation Voltage VBE(sat), IC = 10 mA, IB = 1.0 mA, " +
60
+ "MIN 0.65 MAX 0.85 V' magnitudes (PNP; the 50 mA row is MAX-only 0.95 V)",
61
+ derivation: "Printed VBE(sat) range 0.65-0.85 V at IC = 10 mA, IB = 1.0 mA; arithmetic midpoint " +
62
+ "0.75 V (form 2, printed range, no TYP); IS = IC * exp(-Vbe / Vt) with n = 1 " +
63
+ "(form 1): 0.01 * exp(-0.75 / 0.025852) = 2.5150964e-15. Polarity is structural " +
64
+ "(device PNP flag), not a registry value.",
65
+ },
66
+ forwardBeta: {
67
+ value: 173.2050808,
68
+ basis: "derived",
69
+ source: "2N3906/datasheets/2n3906.pdf (onsemi 2N3906/D, Feb 2010 Rev. 4) p2: 'DC Current Gain, " +
70
+ "IC = 10 mA, VCE = 1.0 V, MIN 100 MAX 300' (the 0.1/1.0/50/100 mA rows are MIN-only; " +
71
+ "Note 2: pulse test)",
72
+ derivation: "Printed hFE bin 100-300 at IC = 10 mA, VCE = 1.0 V; geometric midpoint " +
73
+ "(form 2, gains): sqrt(100 * 300) = 173.2050808.",
74
+ },
75
+ },
76
+ },
77
+ {
78
+ // Saturation current from the onsemi-published datasheet-embedded SPICE model
79
+ // (Microsim-format NPN line, coordinator clarification 2026-10-19: a model the
80
+ // manufacturer prints inside its own datasheet is manufacturer-published, basis
81
+ // `manufacturer-model`). The sheet's only printed Vbe figure is MAX-only VBE(on)
82
+ // 0.8 V (a limit, not a range or typical), so no form-1 IS exists; BF stays the
83
+ // derived small-signal-hfe midpoint (mixing sources admitted).
84
+ partIds: ["2N5088"],
85
+ class: "bjt",
86
+ params: {
87
+ saturationCurrent: {
88
+ value: 5.911e-15,
89
+ basis: "manufacturer-model",
90
+ source: "Manufacturer datasheet onsemi 2N5088 / MMBT5088 / 2N5089 / MMBT5089 NPN General " +
91
+ "Purpose Amplifier (2N5088-D; Fairchild-integration printing, opens 'Is Now Part of' " +
92
+ "ON Semiconductor), PDF p3 'Spice Model' block, " +
93
+ "https://www.onsemi.com/pdf/datasheet/2n5088-d.pdf, verbatim lines:\n" +
94
+ "NPN (Is=5.911f Xti=3 Eg=1.11 Vaf=62.37 Bf=1.122K Ne=1.394 Ise=5.911f Ikf=14.92m Xtb=1.5 Br=1.271 Nc=2\n" +
95
+ "Isc=0 Ikr=0 Rc=1.61 Cjc=4.017p Mjc=.3174 Vjc=.75 Fc=.5 Cje=4.973p Mje=.4146 Vje=.75 Tr=4.673n Tf=821.7p\n" +
96
+ "Itf=.35 Vtf=4 Xtf=7 Rb=10)",
97
+ modelFileUrl: "https://www.onsemi.com/pdf/datasheet/2n5088-d.pdf",
98
+ modelLine: "NPN (Is=5.911f Xti=3 Eg=1.11 Vaf=62.37 Bf=1.122K Ne=1.394 Ise=5.911f Ikf=14.92m Xtb=1.5 Br=1.271 Nc=2\n" +
99
+ "Isc=0 Ikr=0 Rc=1.61 Cjc=4.017p Mjc=.3174 Vjc=.75 Fc=.5 Cje=4.973p Mje=.4146 Vje=.75 Tr=4.673n Tf=821.7p\n" +
100
+ "Itf=.35 Vtf=4 Xtf=7 Rb=10)",
101
+ },
102
+ forwardBeta: {
103
+ value: 700,
104
+ basis: "derived",
105
+ source: "2N5088/datasheets/2n5088.pdf (onsemi 2N5088/D, Mar 2007 Rev. 4) p3, ELECTRICAL " +
106
+ "CHARACTERISTICS (VCE = 5.0 V): 'Small-Signal Current Gain hfe, IC = 1.0 mA, f = 1.0 kHz, " +
107
+ "MIN 350 MAX 1400' (the 1.0/10 mA DC rows are MIN-only; the 100 mA 300-900 bin is " +
108
+ "high-current; the sole VBE(on) row is MAX-only 0.8 V at IC = 10 mA, VCE = 5.0 V)",
109
+ derivation: "Printed small-signal hfe bin 350-1400 at IC = 1.0 mA, VCE = 5.0 V, f = 1 kHz; " +
110
+ "geometric midpoint (form 2, gains): sqrt(350 * 1400) = 700.",
111
+ },
112
+ },
113
+ },
114
+ {
115
+ // No saturationCurrent. The shared onsemi family sheet (2N5088-D) prints exactly one
116
+ // Spice Model block and it is the 2N5088's (Bf=1.122K); no 2N5088.lib-style file and
117
+ // no 2N5089-specific model exist on onsemi's site (guessed model URLs fall back to
118
+ // the docs landing page), and the 2N5089 Bf=1.434K line circulating in third-party
119
+ // compilations has no verified onsemi-hosted source. Same MAX-only Vbe reason as 2N5088.
120
+ partIds: ["2N5089"],
121
+ class: "bjt",
122
+ params: {
123
+ forwardBeta: {
124
+ value: 900,
125
+ basis: "derived",
126
+ source: "2N5088/datasheets/2n5088.pdf (onsemi 2N5088/D, Mar 2007 Rev. 4) p3, ELECTRICAL " +
127
+ "CHARACTERISTICS (VCE = 5.0 V), 2N5089 row: 'Small-Signal Current Gain hfe, IC = 1.0 mA, " +
128
+ "f = 1.0 kHz, MIN 450 MAX 1800' (DC rows MIN-only; VBE(on) shared MAX-only 0.8 V row)",
129
+ derivation: "Printed small-signal hfe bin 450-1800 at IC = 1.0 mA, VCE = 5.0 V, f = 1 kHz; " +
130
+ "geometric midpoint (form 2, gains): sqrt(450 * 1800) = 900.",
131
+ },
132
+ },
133
+ },
134
+ {
135
+ // No saturationCurrent: the sheet's only Vbe figure (VBE(sat) MAX 1.0 V at IC = 100 mA,
136
+ // IB = 10 mA) is MAX-only with no MIN -- a limit, not a range, so no IS derivation.
137
+ partIds: ["2SC1815"],
138
+ class: "bjt",
139
+ params: {
140
+ forwardBeta: {
141
+ value: 221.3594362,
142
+ basis: "derived",
143
+ source: "2SC1815/datasheets/toshiba-2sc1815.pdf (Toshiba 2SC1815, 2007-11-01) p1, ELECTRICAL " +
144
+ "CHARACTERISTICS (Ta = 25C): 'DC current gain hFE (1), VCE = 6 V, IC = 2 mA, MIN 70 " +
145
+ "MAX 700' (hFE (2) is TYP 100 at IC = 150 mA -- high-current, not the small-signal " +
146
+ "region; rank table: O 70-140, Y 120-240, GR 200-400, BL 350-700)",
147
+ derivation: "Printed hFE (1) bin 70-700 at VCE = 6 V, IC = 2 mA; geometric midpoint " +
148
+ "(form 2, gains): sqrt(70 * 700) = 221.3594362.",
149
+ },
150
+ },
151
+ },
152
+ {
153
+ // Y rank of the same Toshiba classification table: a different gain, so its own entry
154
+ // with the rank's midpoint -- never an alias of the unbinned part.
155
+ partIds: ["2SC1815-Y"],
156
+ class: "bjt",
157
+ params: {
158
+ forwardBeta: {
159
+ value: 169.7056275,
160
+ basis: "derived",
161
+ source: "2SC1815/datasheets/toshiba-2sc1815.pdf (Toshiba 2SC1815, 2007-11-01) p1, hFE rank note: " +
162
+ "'hFE classification Y: 120-240' (VCE = 6 V, IC = 2 mA per the hFE (1) row)",
163
+ derivation: "Printed Y-rank hFE bin 120-240; geometric midpoint (form 2, gains): " +
164
+ "sqrt(120 * 240) = 169.7056275.",
165
+ },
166
+ },
167
+ },
168
+ {
169
+ // BL rank. Both observed spellings fold to one id (2SC1815BL vs 2SC1815-BL); redundant
170
+ // spellings in one entry are tolerated by the loader, and both name the same rank.
171
+ partIds: ["2SC1815-BL", "2SC1815BL"],
172
+ class: "bjt",
173
+ params: {
174
+ forwardBeta: {
175
+ value: 494.9747468,
176
+ basis: "derived",
177
+ source: "2SC1815/datasheets/toshiba-2sc1815.pdf (Toshiba 2SC1815, 2007-11-01) p1, hFE rank note: " +
178
+ "'hFE classification BL: 350-700' (VCE = 6 V, IC = 2 mA per the hFE (1) row)",
179
+ derivation: "Printed BL-rank hFE bin 350-700; geometric midpoint (form 2, gains): " +
180
+ "sqrt(350 * 700) = 494.9747468.",
181
+ },
182
+ },
183
+ },
184
+ {
185
+ partIds: ["MPSA18"],
186
+ class: "bjt",
187
+ params: {
188
+ saturationCurrent: {
189
+ value: 8.3261401e-14,
190
+ basis: "derived",
191
+ source: "Fetched manufacturer sheet (no vendored copy): onsemi MPSA18/D, Apr 2007 Rev. 4, p3, ON " +
192
+ "CHARACTERISTICS: 'Base-Emitter On Voltage VBE(on), IC = 1.0 mA, VCE = 5.0 V, TYP 0.6 " +
193
+ "MAX 0.7 V' (Note 2: pulse test)",
194
+ derivation: "Printed VBE(on) TYP 0.6 V at IC = 1.0 mA, VCE = 5.0 V; IS = IC * exp(-Vbe / Vt) " +
195
+ "with n = 1 (form 1): 0.001 * exp(-0.6 / 0.025852) = 8.3261401e-14.",
196
+ },
197
+ forwardBeta: {
198
+ value: 1100,
199
+ basis: "datasheet",
200
+ source: "Fetched manufacturer sheet (no vendored copy): onsemi MPSA18/D, Apr 2007 Rev. 4, p3: " +
201
+ "'DC Current Gain hFE, IC = 1.0 mA, VCE = 5.0 V, MIN 500 TYP 1100' (the 10 mA 500-1500 " +
202
+ "bin is higher-current; the 1 mA TYP is the small-signal figure)",
203
+ derivation: "Printed hFE TYP 1100 at IC = 1.0 mA, VCE = 5.0 V, transcribed (no midpoint: a TYP " +
204
+ "is already one value).",
205
+ },
206
+ },
207
+ },
208
+ {
209
+ // Gain AND saturation current. The printed-Vbe derivation is deliberately NOT used:
210
+ // the only printed Vbe point is a forced-beta saturation figure at IC = 150 mA
211
+ // (VBE(sat) 0.6-1.2 V), where series resistance dominates (form 1 takes an
212
+ // ACTIVE-REGION Vbe at IC <= 20 mA only, owner ruling 2026-10-19). IS below is the
213
+ // onsemi-published PSpice model's IS, preferred over any derived value by the same
214
+ // ruling. Mixing sources across parameters of one part is admitted (coordinator
215
+ // 2026-10-19): BF stays the derived small-signal-hfe midpoint.
216
+ partIds: ["2N2222A"],
217
+ class: "bjt",
218
+ note: "The model's BF 929.846 is a MODPEX fit, unusually high, and is NOT adopted (BF stays " +
219
+ "the derived 122.47); its NF 1.10496 has no schema field (the engine's bjt law carries no " +
220
+ "emission coefficient, n = 1 by construction), so IS is taken as printed with that caveat.",
221
+ params: {
222
+ saturationCurrent: {
223
+ value: 3.88184e-14,
224
+ basis: "manufacturer-model",
225
+ source: "Manufacturer model file https://www.onsemi.com/download/models/txt/2n2222a.lib.txt " +
226
+ "(onsemi 2N2222A PSpice, MODPEX-generated, model generated on Feb 28, 13), card lines:\n" +
227
+ ".MODEL Q2n2222a npn\n+IS=3.88184e-14 BF=929.846 NF=1.10496 VAF=16.5003",
228
+ modelFileUrl: "https://www.onsemi.com/download/models/txt/2n2222a.lib.txt",
229
+ modelLine: ".MODEL Q2n2222a npn\n+IS=3.88184e-14 BF=929.846 NF=1.10496 VAF=16.5003",
230
+ },
231
+ forwardBeta: {
232
+ // The DC hFE rows at small-signal currents are MIN-only; the only full DC range is
233
+ // at 150 mA (high-current falloff). The small-signal hfe bin at 1 mA, f = 1 kHz
234
+ // (far below fT 300 MHz, so approx. the DC beta) is the region-correct figure.
235
+ value: 122.4744871,
236
+ basis: "derived",
237
+ source: "Fetched manufacturer sheet (no vendored copy): onsemi P2N2222A/D, Jan 2013 Rev. 7, p2, " +
238
+ "SMALL-SIGNAL CHARACTERISTICS: 'Small-Signal Current Gain hfe, IC = 1.0 mA, " +
239
+ "VCE = 10 V, f = 1.0 kHz, MIN 50 MAX 300' (DC hFE rows at 0.1/1.0/10 mA are MIN-only; " +
240
+ "the 150 mA 100-300 range is high-current)",
241
+ derivation: "Printed small-signal hfe bin 50-300 at IC = 1.0 mA, VCE = 10 V, f = 1 kHz; " +
242
+ "geometric midpoint (form 2, gains): sqrt(50 * 300) = 122.4744871.",
243
+ },
244
+ },
245
+ },
246
+ {
247
+ partIds: ["BC549C"],
248
+ class: "bjt",
249
+ params: {
250
+ saturationCurrent: {
251
+ value: 1.6350012e-14,
252
+ basis: "derived",
253
+ source: "BC550/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6, family " +
254
+ "sheet BC546/547/548/549/550), p2, ELECTRICAL CHARACTERISTICS: 'Base-Emitter On Voltage " +
255
+ "VBE(on), VCE = 5 V, IC = 2 mA, MIN 580 TYP 660 MAX 700 mV' (one row for the family, no " +
256
+ "per-part split)",
257
+ derivation: "Printed VBE(on) TYP 0.66 V at VCE = 5 V, IC = 2 mA; IS = IC * exp(-Vbe / Vt) with " +
258
+ "n = 1 (form 1): 0.002 * exp(-0.66 / 0.025852) = 1.6350012e-14.",
259
+ },
260
+ forwardBeta: {
261
+ value: 579.6550698,
262
+ basis: "derived",
263
+ source: "BC550/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6, p2, hFE " +
264
+ "CLASSIFICATION table: 'C: 420 ~ 800' (the family hFE row is MIN 110 MAX 800 at VCE = 5 V, " +
265
+ "IC = 2 mA; the C bin is the bin this part is)",
266
+ derivation: "Printed C-bin hFE 420-800; geometric midpoint (form 2, gains): " +
267
+ "sqrt(420 * 800) = 579.6550698.",
268
+ },
269
+ },
270
+ },
271
+ {
272
+ // Wave 3. Farnell/Multicomp BC107-108-109 family sheet (V1.0 30/05/05) p3: one
273
+ // VBE(on) row for the family (no per-part split, no TYP), so IS is shared with
274
+ // BC109 below. DC hFE bins are per part at the same bias, so BF differs.
275
+ partIds: ["BC108"],
276
+ class: "bjt",
277
+ params: {
278
+ saturationCurrent: {
279
+ value: 6.3312899e-14,
280
+ basis: "derived",
281
+ source: "BC109/datasheets/farnell-bc107-bc108-bc109.pdf (Multicomp BC107/BC108/BC109, V1.0 " +
282
+ "30/05/05) p3, ELECTRICAL CHARACTERISTICS: 'Base Emitter on Voltage VBE(on), " +
283
+ "IC = 2 mA, VCE = 5 V, MIN 0.55 MAX 0.70 V' (no TYP; one row for the family, " +
284
+ "no per-part split; the VBE(sat) rows are MAX-only 0.83 V at 10 mA and 1.05 V " +
285
+ "at 100 mA and yield nothing)",
286
+ derivation: "Printed VBE(on) range 0.55-0.70 V at IC = 2 mA, VCE = 5 V; arithmetic " +
287
+ "midpoint 0.625 V (form 2, printed range, no TYP); IS = IC * exp(-Vbe / Vt) " +
288
+ "with n = 1 (form 1): 0.002 * exp(-0.625 / 0.025852) = 6.3312899e-14.",
289
+ },
290
+ forwardBeta: {
291
+ value: 296.6479395,
292
+ basis: "derived",
293
+ source: "BC109/datasheets/farnell-bc107-bc108-bc109.pdf (Multicomp BC107/BC108/BC109, V1.0 " +
294
+ "30/05/05) p3: 'DC Current Gain hFE, IC = 2 mA, VCE = 5 V: BC108 MIN 110 MAX 800' " +
295
+ "(BC107 110-450 and BC109 200-800 are the sibling rows; the small-signal hfe " +
296
+ "row at f = 1 kHz reads BC108 125-900 and is not used -- the DC bin at the " +
297
+ "same bias is the quantity the law wants, per the 2N3904/2SC1815 precedent)",
298
+ derivation: "Printed BC108 DC hFE bin 110-800 at IC = 2 mA, VCE = 5 V; geometric " +
299
+ "midpoint (form 2, gains): sqrt(110 * 800) = 296.6479395.",
300
+ },
301
+ },
302
+ },
303
+ {
304
+ // Wave 3. Same family VBE(on) row as BC108 (shared IS); own DC hFE bin.
305
+ partIds: ["BC109"],
306
+ class: "bjt",
307
+ params: {
308
+ saturationCurrent: {
309
+ value: 6.3312899e-14,
310
+ basis: "derived",
311
+ source: "BC109/datasheets/farnell-bc107-bc108-bc109.pdf (Multicomp BC107/BC108/BC109, V1.0 " +
312
+ "30/05/05) p3, ELECTRICAL CHARACTERISTICS: 'Base Emitter on Voltage VBE(on), " +
313
+ "IC = 2 mA, VCE = 5 V, MIN 0.55 MAX 0.70 V' (no TYP; one row for the family, " +
314
+ "no per-part split; the VBE(sat) rows are MAX-only and yield nothing)",
315
+ derivation: "Printed VBE(on) range 0.55-0.70 V at IC = 2 mA, VCE = 5 V; arithmetic " +
316
+ "midpoint 0.625 V (form 2, printed range, no TYP); IS = IC * exp(-Vbe / Vt) " +
317
+ "with n = 1 (form 1): 0.002 * exp(-0.625 / 0.025852) = 6.3312899e-14.",
318
+ },
319
+ forwardBeta: {
320
+ value: 400,
321
+ basis: "derived",
322
+ source: "BC109/datasheets/farnell-bc107-bc108-bc109.pdf (Multicomp BC107/BC108/BC109, V1.0 " +
323
+ "30/05/05) p3: 'DC Current Gain hFE, IC = 2 mA, VCE = 5 V: BC109 MIN 200 MAX 800' " +
324
+ "(the small-signal hfe row at f = 1 kHz reads BC109 240-900 and is not used, " +
325
+ "same reason as BC108)",
326
+ derivation: "Printed BC109 DC hFE bin 200-800 at IC = 2 mA, VCE = 5 V; geometric " +
327
+ "midpoint (form 2, gains): sqrt(200 * 800) = 400.",
328
+ },
329
+ },
330
+ },
331
+ {
332
+ // Wave 3. Same onsemi BC550/D family sheet as BC549C (one VBE(on) row, C bin).
333
+ partIds: ["BC550C"],
334
+ class: "bjt",
335
+ params: {
336
+ saturationCurrent: {
337
+ value: 1.6350012e-14,
338
+ basis: "derived",
339
+ source: "BC550/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6, family " +
340
+ "sheet BC546/547/548/549/550), p2, ELECTRICAL CHARACTERISTICS: 'Base-Emitter On " +
341
+ "Voltage VBE(on), VCE = 5 V, IC = 2 mA, MIN 580 TYP 660 MAX 700 mV' (one row " +
342
+ "for the family, no per-part split)",
343
+ derivation: "Printed VBE(on) TYP 0.66 V at VCE = 5 V, IC = 2 mA; IS = IC * exp(-Vbe / Vt) " +
344
+ "with n = 1 (form 1): 0.002 * exp(-0.66 / 0.025852) = 1.6350012e-14.",
345
+ },
346
+ forwardBeta: {
347
+ value: 579.6550698,
348
+ basis: "derived",
349
+ source: "BC550/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6), p2, hFE " +
350
+ "CLASSIFICATION table: 'C: 420 ~ 800' (the family hFE row is MIN 110 MAX 800 " +
351
+ "at VCE = 5 V, IC = 2 mA; the C bin is the bin this part is)",
352
+ derivation: "Printed C-bin hFE 420-800; geometric midpoint (form 2, gains): " +
353
+ "sqrt(420 * 800) = 579.6550698.",
354
+ },
355
+ },
356
+ },
357
+ {
358
+ // Wave 3. Same family VBE(on) row (shared IS); B bin.
359
+ partIds: ["BC549B"],
360
+ class: "bjt",
361
+ params: {
362
+ saturationCurrent: {
363
+ value: 1.6350012e-14,
364
+ basis: "derived",
365
+ source: "BC550/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6, family " +
366
+ "sheet BC546/547/548/549/550), p2: 'Base-Emitter On Voltage VBE(on), VCE = 5 V, " +
367
+ "IC = 2 mA, MIN 580 TYP 660 MAX 700 mV' (one row for the family)",
368
+ derivation: "Printed VBE(on) TYP 0.66 V at VCE = 5 V, IC = 2 mA; IS = IC * exp(-Vbe / Vt) " +
369
+ "with n = 1 (form 1): 0.002 * exp(-0.66 / 0.025852) = 1.6350012e-14.",
370
+ },
371
+ forwardBeta: {
372
+ value: 300,
373
+ basis: "derived",
374
+ source: "BC550/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6), p2, hFE " +
375
+ "CLASSIFICATION table: 'B: 200 ~ 450'",
376
+ derivation: "Printed B-bin hFE 200-450; geometric midpoint (form 2, gains): " +
377
+ "sqrt(200 * 450) = 300.",
378
+ },
379
+ },
380
+ },
381
+ {
382
+ // Wave 3. Same family VBE(on) row (shared IS); B bin (same bin as BC549B: the
383
+ // classification table is by letter, not by part number).
384
+ partIds: ["BC547B"],
385
+ class: "bjt",
386
+ params: {
387
+ saturationCurrent: {
388
+ value: 1.6350012e-14,
389
+ basis: "derived",
390
+ source: "BC550/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6, family " +
391
+ "sheet BC546/547/548/549/550), p2: 'Base-Emitter On Voltage VBE(on), VCE = 5 V, " +
392
+ "IC = 2 mA, MIN 580 TYP 660 MAX 700 mV' (one row for the family)",
393
+ derivation: "Printed VBE(on) TYP 0.66 V at VCE = 5 V, IC = 2 mA; IS = IC * exp(-Vbe / Vt) " +
394
+ "with n = 1 (form 1): 0.002 * exp(-0.66 / 0.025852) = 1.6350012e-14.",
395
+ },
396
+ forwardBeta: {
397
+ value: 300,
398
+ basis: "derived",
399
+ source: "BC550/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6), p2, hFE " +
400
+ "CLASSIFICATION table: 'B: 200 ~ 450' (by bin letter)",
401
+ derivation: "Printed B-bin hFE 200-450; geometric midpoint (form 2, gains): " +
402
+ "sqrt(200 * 450) = 300.",
403
+ },
404
+ },
405
+ },
406
+ {
407
+ // Wave 3. Unsuffixed BC550: the family VBE(on) row (shared IS) but no bin of its
408
+ // own, so BF is the family DC row's midpoint (the unbinned 2SC1815 precedent).
409
+ partIds: ["BC550"],
410
+ class: "bjt",
411
+ params: {
412
+ saturationCurrent: {
413
+ value: 1.6350012e-14,
414
+ basis: "derived",
415
+ source: "BC550/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6, family " +
416
+ "sheet BC546/547/548/549/550), p2: 'Base-Emitter On Voltage VBE(on), VCE = 5 V, " +
417
+ "IC = 2 mA, MIN 580 TYP 660 MAX 700 mV' (one row for the family)",
418
+ derivation: "Printed VBE(on) TYP 0.66 V at VCE = 5 V, IC = 2 mA; IS = IC * exp(-Vbe / Vt) " +
419
+ "with n = 1 (form 1): 0.002 * exp(-0.66 / 0.025852) = 1.6350012e-14.",
420
+ },
421
+ forwardBeta: {
422
+ value: 296.6479395,
423
+ basis: "derived",
424
+ source: "BC550/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6), p2, " +
425
+ "family hFE row: MIN 110 MAX 800 at VCE = 5 V, IC = 2 mA (no bin for the " +
426
+ "unsuffixed label)",
427
+ derivation: "Printed family hFE 110-800; geometric midpoint (form 2, gains): " +
428
+ "sqrt(110 * 800) = 296.6479395.",
429
+ },
430
+ },
431
+ },
432
+ {
433
+ // Wave 3. 2N3903: the family sheet's only Vbe basis is the VBE(sat) row shared
434
+ // with 2N3904 (IC = 10 mA, within the IC <= 20 mA gate; identical row, conditions
435
+ // and arithmetic to the shipped 2N3904 IS, which stands). BF is the 2N3903 DC
436
+ // row at the same bias (sibling-consistent with 2N3904's DC bin, not the
437
+ // small-signal hfe row).
438
+ partIds: ["2N3903"],
439
+ class: "bjt",
440
+ params: {
441
+ saturationCurrent: {
442
+ value: 2.5150964e-15,
443
+ basis: "derived",
444
+ source: "2N3903/datasheets/2n3903.pdf (onsemi 2N3903/D, Aug 2021 Rev. 9, family sheet " +
445
+ "2N3903 + 2N3904) p2, ELECTRICAL CHARACTERISTICS: 'Base-Emitter Saturation " +
446
+ "Voltage VBE(sat), IC = 10 mA, IB = 1.0 mA, MIN 0.65 MAX 0.85 V' (shared row, " +
447
+ "no per-part split; the 50 mA row is MAX-only 0.95 V)",
448
+ derivation: "Printed VBE(sat) range 0.65-0.85 V at IC = 10 mA, IB = 1.0 mA (IC within the " +
449
+ "form-1 IC <= 20 mA gate); arithmetic midpoint 0.75 V (form 2); " +
450
+ "IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): " +
451
+ "0.01 * exp(-0.75 / 0.025852) = 2.5150964e-15 -- same row and arithmetic " +
452
+ "as the shipped 2N3904 IS.",
453
+ },
454
+ forwardBeta: {
455
+ value: 86.6025404,
456
+ basis: "derived",
457
+ source: "2N3903/datasheets/2n3903.pdf (onsemi 2N3903/D, Aug 2021 Rev. 9) p2, ON " +
458
+ "CHARACTERISTICS: 'DC Current Gain hFE, IC = 10 mA, VCE = 1.0 V: 2N3903 " +
459
+ "MIN 50 MAX 150' (2N3904 100-300 is the sibling row; the small-signal hfe " +
460
+ "row at 1 mA reads 2N3903 50-200 and is not used -- the DC bin at the same " +
461
+ "bias as 2N3904 is the sibling-consistent quantity)",
462
+ derivation: "Printed 2N3903 DC hFE bin 50-150 at IC = 10 mA, VCE = 1.0 V; geometric " +
463
+ "midpoint (form 2, gains): sqrt(50 * 150) = 86.6025404.",
464
+ },
465
+ },
466
+ },
467
+ {
468
+ // Wave 3. Toshiba 2SC732TM rank entry (the 2SC1815-Y/BL precedent: a rank is a
469
+ // different gain, so its own entry, never an alias). VBE TYP transcribed (active
470
+ // region, IC = 2 mA); BF is the GR rank's midpoint.
471
+ partIds: ["2SC732TM-GR"],
472
+ class: "bjt",
473
+ params: {
474
+ saturationCurrent: {
475
+ value: 2.4071917e-14,
476
+ basis: "derived",
477
+ source: "2SC732/datasheets/toshiba-2sc732.pdf (Toshiba 2SC732TM, 1996-09-02, scan p1, " +
478
+ "read visually, no text layer) ELECTRICAL CHARACTERISTICS (Ta = 25C): " +
479
+ "'Base-Emitter Voltage VBE, VCE = 6 V, IC = 2 mA: TYP 0.65 V' (no MIN/MAX; " +
480
+ "the VCE(sat) row is MAX-only 0.3 V at IC = 10 mA and yields nothing)",
481
+ derivation: "Printed VBE TYP 0.65 V at VCE = 6 V, IC = 2 mA (active region, within the " +
482
+ "form-1 IC <= 20 mA gate); IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): " +
483
+ "0.002 * exp(-0.65 / 0.025852) = 2.4071917e-14.",
484
+ },
485
+ forwardBeta: {
486
+ value: 282.8427125,
487
+ basis: "derived",
488
+ source: "2SC732/datasheets/toshiba-2sc732.pdf (Toshiba 2SC732TM, 1996-09-02, scan p1) " +
489
+ "ELECTRICAL CHARACTERISTICS: 'DC Current Gain hFE (Note), VCE = 6 V, IC = 2 mA: " +
490
+ "MIN 200 MAX 700' with Note 'hFE Classification GR: 200~400, BL: 350~600'",
491
+ derivation: "Printed GR-rank hFE bin 200-400 at VCE = 6 V, IC = 2 mA; geometric midpoint " +
492
+ "(form 2, gains): sqrt(200 * 400) = 282.8427125.",
493
+ },
494
+ },
495
+ },
496
+ {
497
+ // Wave 3. NEC 2SC945 rank entry (same rank-entry precedent). VBE TYP transcribed
498
+ // (active region, IC = 1 mA); BF is the P rank's midpoint.
499
+ partIds: ["2SC945-P"],
500
+ class: "bjt",
501
+ params: {
502
+ saturationCurrent: {
503
+ value: 3.8411256e-14,
504
+ basis: "derived",
505
+ source: "2SC945/datasheets/nec-2sc945.pdf (NEC 2SC945 databook p258, scan, read " +
506
+ "visually, no text layer) ELECTRICAL CHARACTERISTICS (Ta = 25C): 'VBE Base to " +
507
+ "Emitter Voltage, MIN 0.55 TYP 0.62 MAX 0.65 V at VCE = 6.0 V, IC = 1.0 mA' " +
508
+ "(the VBE(sat) row is TYP 0.86 MAX 1.0 V at IC = 100 mA -- high-current, excluded)",
509
+ derivation: "Printed VBE TYP 0.62 V at VCE = 6.0 V, IC = 1.0 mA (active region, within " +
510
+ "the form-1 IC <= 20 mA gate); IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): " +
511
+ "0.001 * exp(-0.62 / 0.025852) = 3.8411256e-14.",
512
+ },
513
+ forwardBeta: {
514
+ value: 282.8427125,
515
+ basis: "derived",
516
+ source: "2SC945/datasheets/nec-2sc945.pdf (NEC 2SC945 databook p258) ELECTRICAL " +
517
+ "CHARACTERISTICS: 'hFE2 DC Current Gain, MIN 90 TYP 200 MAX 600 at VCE = 6.0 V, " +
518
+ "IC = 1.0 mA' with 'Classification of hFE2: R 90-180, Q 135-270, P 200-400, " +
519
+ "K 300-600; hFE2 Test Conditions: VCE = 6.0 V, IC = 1.0 mA'",
520
+ derivation: "Printed P-rank hFE2 bin 200-400 at VCE = 6.0 V, IC = 1.0 mA; geometric " +
521
+ "midpoint (form 2, gains): sqrt(200 * 400) = 282.8427125.",
522
+ },
523
+ },
524
+ },
525
+ {
526
+ // Unbinned 2SC945: the family hFE2 row prints a TYP, so no midpoint is needed.
527
+ partIds: ["2SC945"],
528
+ class: "bjt",
529
+ params: {
530
+ saturationCurrent: {
531
+ value: 3.8411256e-14,
532
+ basis: "derived",
533
+ source: "2SC945/datasheets/nec-2sc945.pdf (NEC 2SC945 databook p258, scan, read " +
534
+ "visually, no text layer) ELECTRICAL CHARACTERISTICS (Ta = 25C): 'VBE Base to " +
535
+ "Emitter Voltage, MIN 0.55 TYP 0.62 MAX 0.65 V at VCE = 6.0 V, IC = 1.0 mA'",
536
+ derivation: "Printed VBE TYP 0.62 V at VCE = 6.0 V, IC = 1.0 mA (active region, within " +
537
+ "the form-1 IC <= 20 mA gate); IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): " +
538
+ "0.001 * exp(-0.62 / 0.025852) = 3.8411256e-14.",
539
+ },
540
+ forwardBeta: {
541
+ value: 200,
542
+ basis: "datasheet",
543
+ source: "2SC945/datasheets/nec-2sc945.pdf (NEC 2SC945 databook p258) ELECTRICAL " +
544
+ "CHARACTERISTICS: 'hFE2 DC Current Gain, MIN 90 TYP 200 MAX 600 at VCE = 6.0 V, " +
545
+ "IC = 1.0 mA' (the hFE1 row at 0.1 mA is not the law's bias; the rank table " +
546
+ "splits R/Q/P/K, which stay separate entries)",
547
+ },
548
+ },
549
+ },
550
+ {
551
+ // Wave 4. No VBE row of any kind: the table prints ICBO/IEBO, hFE (no TYP),
552
+ // VCE(sat) MAX-only and no VBE(on)/VBE(sat) TYP or range, so IS has no input.
553
+ partIds: ["2SC2458"],
554
+ class: "bjt",
555
+ params: {
556
+ forwardBeta: {
557
+ value: 221.3594362,
558
+ basis: "derived",
559
+ source: "2SC2458/datasheets/toshiba-2sc2458.pdf (Toshiba 2SC2458(L), 1996-09-02, scan, " +
560
+ "read visually, no text layer) p1, ELECTRICAL CHARACTERISTICS (Ta = 25C): 'DC " +
561
+ "Current Gain hFE (Note), VCE = 6 V, IC = 2 mA, MIN 70 MAX 700' with 'Note: hFE " +
562
+ "Classification O: 70~140, Y: 120~240, GR: 200~400, BL: 350~700'",
563
+ derivation: "Printed hFE bin 70-700 at VCE = 6 V, IC = 2 mA; geometric midpoint " +
564
+ "(form 2, gains): sqrt(70 * 700) = 221.3594362.",
565
+ },
566
+ },
567
+ },
568
+ {
569
+ partIds: ["2SC2458GR", "2SC2458-GR"],
570
+ class: "bjt",
571
+ note: "The hyphenated and unhyphenated spellings fold to one id (2sc2458gr); both are " +
572
+ "corpus-observed (boss-tr-2 uses 2SC2458GR, boss-ge-7 uses 2SC2458-GR).",
573
+ params: {
574
+ forwardBeta: {
575
+ value: 282.8427125,
576
+ basis: "derived",
577
+ source: "2SC2458/datasheets/toshiba-2sc2458.pdf (Toshiba 2SC2458(L), 1996-09-02, scan) p1, " +
578
+ "'Note: hFE Classification GR: 200~400' (VCE = 6 V, IC = 2 mA per the table row)",
579
+ derivation: "Printed GR-rank hFE bin 200-400; geometric midpoint (form 2, gains): " +
580
+ "sqrt(200 * 400) = 282.8427125.",
581
+ },
582
+ },
583
+ },
584
+ {
585
+ // Wave 4. Toshiba mini-package selection table (single-page scan T-27-01 via a
586
+ // third-party host; original Toshiba publication). The hFE cell for the 2SC3378
587
+ // column reads 200~700 at VCE = 6 V, IC = 2 mA; the column map is anchored three
588
+ // ways (the 2SC2458(L) column reads VCEO 50, hFE 70~700 at VCE = 6 V, IC = 2 mA,
589
+ // all matching its verified datasheet). No VBE row exists anywhere in the table,
590
+ // so IS has no input. The GR rank the corpus uses (2SC3378GR) has no citable row:
591
+ // the rank footnotes cannot be mapped to this column, so those devices stay on
592
+ // class defaults and are reported, not filled.
593
+ partIds: ["2SC3378"],
594
+ class: "bjt",
595
+ params: {
596
+ forwardBeta: {
597
+ value: 374.1657387,
598
+ basis: "derived",
599
+ source: "Toshiba MINI PACKAGE SERIES selection table (67C 09139 D T-27-01, third-party " +
600
+ "scan) 'MINI PACKAGE SERIES' table, 2SC3378 column, read visually at high " +
601
+ "magnification: 'hFE, VCE = 6 V, IC = 2 mA, 200~700' (no MIN/MAX/TYP split, no " +
602
+ "VBE row in the table)",
603
+ derivation: "Printed hFE range 200-700 at VCE = 6 V, IC = 2 mA; geometric midpoint " +
604
+ "(form 2, gains): sqrt(200 * 700) = 374.1657387.",
605
+ },
606
+ },
607
+ },
608
+ {
609
+ partIds: ["2SC732TM-BL"],
610
+ class: "bjt",
611
+ params: {
612
+ saturationCurrent: {
613
+ value: 2.4071917e-14,
614
+ basis: "derived",
615
+ source: "2SC732/datasheets/toshiba-2sc732.pdf (Toshiba 2SC732TM, 1996-09-02, scan, read " +
616
+ "visually, no text layer) p1, ELECTRICAL CHARACTERISTICS (Ta = 25C): 'Base-Emitter " +
617
+ "Voltage VBE, VCE = 6 V, IC = 2 mA, TYP 0.65 V' (shared row, GR precedent wave 3)",
618
+ derivation: "Printed VBE TYP 0.65 V at VCE = 6 V, IC = 2 mA (active region, within the " +
619
+ "form-1 IC <= 20 mA gate); IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): " +
620
+ "0.002 * exp(-0.65 / 0.025852) = 2.4071917e-14.",
621
+ },
622
+ forwardBeta: {
623
+ value: 458.2575695,
624
+ basis: "derived",
625
+ source: "2SC732/datasheets/toshiba-2sc732.pdf (Toshiba 2SC732TM, 1996-09-02, scan) p1, " +
626
+ "'Note: hFE Classification GR: 200~400, BL: 350~600' (VCE = 6 V, IC = 2 mA per " +
627
+ "the table row; only these two ranks exist in this sheet)",
628
+ derivation: "Printed BL-rank hFE bin 350-600; geometric midpoint (form 2, gains): " +
629
+ "sqrt(350 * 600) = 458.2575695.",
630
+ },
631
+ },
632
+ },
633
+ {
634
+ // Wave 4. VBE(on) is MAX-only (0.77 V at 10 mA), a limit, not a range: no IS.
635
+ partIds: ["BC109C"],
636
+ class: "bjt",
637
+ params: {
638
+ forwardBeta: {
639
+ value: 520,
640
+ basis: "datasheet",
641
+ source: "BC109C/datasheets/farnell-bc109c.pdf (Farnell/Multicomp BC109 Series V1.0 " +
642
+ "08/04/06) p2, Electrical Characteristics (Ta = 25C), C Group: 'DC Current hFE, " +
643
+ "IC = 2 mA, VCE = 5 V, MIN 420 MAX 800'; and the original Philips BC107/108/109 " +
644
+ "Product Specification 1997 Sep 03 (M3D125, order 9397 750 02817) p4, same row " +
645
+ "and conditions with a TYP column: 'BC108C/BC109C MIN 420 TYP 520 MAX 800'",
646
+ },
647
+ },
648
+ },
649
+ {
650
+ // Wave 4. The onsemi BC237/D family sheet names BC237, BC237B, BC237C and BC239C
651
+ // only: bare BC239 has DC hFE rows nowhere in it (fT/NF/VCEO rows only), so bare
652
+ // BC239 is excluded (see the wave-4 report); BC239C carries the C-bin row.
653
+ partIds: ["BC239C"],
654
+ class: "bjt",
655
+ params: {
656
+ saturationCurrent: {
657
+ value: 7.6822511e-14,
658
+ basis: "derived",
659
+ source: "BC239C/datasheets/onsemi-bc237-d.pdf (onsemi BC237/D, Rev. 4 Jan 2006) p2, ON " +
660
+ "CHARACTERISTICS: 'Base-Emitter On Voltage VBE(on), IC = 2.0 mA, VCE = 5.0 V, " +
661
+ "MIN 0.55 TYP 0.62 MAX 0.7 V' (ungraded family row; C-bin table below it)",
662
+ derivation: "Printed VBE(on) TYP 0.62 V at IC = 2.0 mA, VCE = 5.0 V (active region, within " +
663
+ "the form-1 IC <= 20 mA gate); IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): " +
664
+ "0.002 * exp(-0.62 / 0.025852) = 7.6822511e-14.",
665
+ },
666
+ forwardBeta: {
667
+ value: 500,
668
+ basis: "datasheet",
669
+ source: "BC239C/datasheets/onsemi-bc237-d.pdf (onsemi BC237/D, Rev. 4 Jan 2006) p2: 'DC " +
670
+ "Current Gain hFE, IC = 2.0 mA, VCE = 5.0 V, BC237C/239C MIN 380 TYP 500 MAX 800'",
671
+ },
672
+ },
673
+ },
674
+ {
675
+ // Wave 4. Philips original (M3D125) prints TYP hFE for the B bin and a TYP VBE for
676
+ // the family; the Farnell/Multicomp reprint of the same family prints MIN/MAX only.
677
+ partIds: ["BC107B"],
678
+ class: "bjt",
679
+ params: {
680
+ saturationCurrent: {
681
+ value: 7.6822511e-14,
682
+ basis: "derived",
683
+ source: "Philips Semiconductors BC107/108/109 Product Specification 1997 Sep 03 (M3D125, " +
684
+ "order 9397 750 02817; original-manufacturer sheet via third-party host) p4, " +
685
+ "CHARACTERISTICS (Tj = 25C): 'VBE base-emitter voltage, IC = 2 mA, VCE = 5 V, " +
686
+ "note 2, MIN 550 TYP 620 MAX 700 mV' (ungraded family row)",
687
+ derivation: "Printed VBE TYP 0.62 V at IC = 2 mA, VCE = 5 V (active region, within the " +
688
+ "form-1 IC <= 20 mA gate); IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): " +
689
+ "0.002 * exp(-0.62 / 0.025852) = 7.6822511e-14.",
690
+ },
691
+ forwardBeta: {
692
+ value: 290,
693
+ basis: "datasheet",
694
+ source: "Philips Semiconductors BC107/108/109 Product Specification 1997 Sep 03 (M3D125) " +
695
+ "p4: 'hFE DC current gain, IC = 2 mA, VCE = 5 V: BC107B/BC108B/BC109B MIN 200 " +
696
+ "TYP 290 MAX 450'",
697
+ },
698
+ },
699
+ },
700
+ {
701
+ // Wave 4. NJ Semi-Conductors TO-106 sheet: VBE(on) is MAX-only (0.75 V at 100 uA),
702
+ // a limit, not a range: no IS. The small-signal hfe 50-1100 row is the 1 kHz
703
+ // figure, not the law's DC quantity.
704
+ partIds: ["2N5133"],
705
+ class: "bjt",
706
+ params: {
707
+ forwardBeta: {
708
+ value: 220,
709
+ basis: "datasheet",
710
+ source: "2N5133/datasheets/njsemi-2n5133.pdf (NJ Semi-Conductors 2N5133, Fairchild-process " +
711
+ "TO-106) p1, ELECTRICAL CHARACTERISTICS (25C free air): 'DC Current Gain hFE, " +
712
+ "IC = 1.0 mA, VCE = 5.0 V, MIN 60 TYP 220 MAX 1000'",
713
+ },
714
+ },
715
+ },
716
+ {
717
+ // Wave 4. Fairchild 1997 sheet: hFE bins 50-150 at 2 mA and 25 MIN at 50 mA, no TYP
718
+ // column; VBE(sat) is MAX-only (0.95 V at 50 mA), high-current saturation: no IS.
719
+ partIds: ["2N4125"],
720
+ class: "bjt",
721
+ params: {
722
+ forwardBeta: {
723
+ value: 86.6025404,
724
+ basis: "derived",
725
+ source: "2N4125/datasheets/2n4125.pdf (Fairchild Semiconductor 2N4125, 1997, PNP General " +
726
+ "Purpose Amplifier) p2, Electrical Characteristics (TA = 25C): 'hFE DC Current " +
727
+ "Gain, VCE = 1.0 V, IC = 2.0 mA, MIN 50 MAX 150' (the 50 mA row is MIN-only 25; " +
728
+ "pulse test; the small-signal hfe 50-200 row at 1 kHz is not DC hFE)",
729
+ derivation: "Printed hFE bin 50-150 at VCE = 1.0 V, IC = 2.0 mA; geometric midpoint " +
730
+ "(form 2, gains): sqrt(50 * 150) = 86.6025404.",
731
+ },
732
+ },
733
+ },
734
+ {
735
+ // Wave 4. Central 2N4123-2N4126 R1: the hFE row prints MIN/MAX only (no TYP);
736
+ // VBE(SAT) is MAX-only (0.95 V at 50 mA): no IS. 2N4126 is the PNP column (the
737
+ // header prints 2N4123/4124 NPN and 2N4125/4126 PNP); polarity is structural.
738
+ partIds: ["2N4126"],
739
+ class: "bjt",
740
+ params: {
741
+ forwardBeta: {
742
+ value: 207.8460969,
743
+ basis: "derived",
744
+ source: "Central Semiconductor 2N4123-2N4126 R1 (12-Jan-2016, my.centralsemi.com) p1, " +
745
+ "ELECTRICAL CHARACTERISTICS (TA = 25C): 'hFE, VCE = 1.0 V, IC = 2.0 mA, 2N4126 " +
746
+ "MIN 120 MAX 360' (the 50 mA row is MIN-only 60; small-signal hfe at 1 kHz not used)",
747
+ derivation: "Printed hFE bin 120-360 at VCE = 1.0 V, IC = 2.0 mA; geometric midpoint " +
748
+ "(form 2, gains): sqrt(120 * 360) = 207.8460969.",
749
+ },
750
+ },
751
+ },
752
+ {
753
+ // Wave 4. NEC 2SA733 D10868EJ7V0DS00 (7th ed, March 2004): the hFE row prints a TYP
754
+ // for the family; the rank table splits R/Q/P/E. Unbinned plus the corpus-used P
755
+ // rank (boss-vb-2 Q10 '2SA733-P'); R/Q/E stay out (no corpus use, same sheet).
756
+ partIds: ["2SA733"],
757
+ class: "bjt",
758
+ params: {
759
+ saturationCurrent: {
760
+ value: 3.8411256e-14,
761
+ basis: "derived",
762
+ source: "NEC 2SA733 DATA SHEET Doc. No. D10868EJ7V0DS00 (7th edition, March 2004, via " +
763
+ "renesas.com) p1, ELECTRICAL CHARACTERISTICS (TA = 25C): 'Base to Emitter Voltage " +
764
+ "VBE, VCE = -6.0 V, IC = -1.0 mA, MIN -0.58 TYP -0.62 MAX -0.68 V' magnitudes (PNP)",
765
+ derivation: "Printed VBE TYP 0.62 V at IC = 1.0 mA (active region, within the form-1 IC <= " +
766
+ "20 mA gate); IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): " +
767
+ "0.001 * exp(-0.62 / 0.025852) = 3.8411256e-14. Polarity is structural.",
768
+ },
769
+ forwardBeta: {
770
+ value: 200,
771
+ basis: "datasheet",
772
+ source: "NEC 2SA733 DATA SHEET D10868EJ7V0DS00 (7th ed, March 2004) p1: 'DC Current Gain " +
773
+ "hFE, VCE = -6.0 V, IC = -1.0 mA, MIN 90 TYP 200 MAX 600' (the hFE(2) row at " +
774
+ "-150 mA is high-current falloff; ranks R/Q/P/E split below)",
775
+ },
776
+ },
777
+ },
778
+ {
779
+ partIds: ["2SA733-P", "2SA733P"],
780
+ class: "bjt",
781
+ params: {
782
+ saturationCurrent: {
783
+ value: 3.8411256e-14,
784
+ basis: "derived",
785
+ source: "NEC 2SA733 DATA SHEET D10868EJ7V0DS00 (7th ed, March 2004) p1: shared VBE row " +
786
+ "'MIN -0.58 TYP -0.62 MAX -0.68 V at VCE = -6.0 V, IC = -1.0 mA' magnitudes (PNP; " +
787
+ "the two spellings fold to one id, 2SC945-P precedent)",
788
+ derivation: "Printed VBE TYP 0.62 V at IC = 1.0 mA (form-1 gate met); IS = " +
789
+ "0.001 * exp(-0.62 / 0.025852) = 3.8411256e-14.",
790
+ },
791
+ forwardBeta: {
792
+ value: 282.8427125,
793
+ basis: "derived",
794
+ source: "NEC 2SA733 DATA SHEET D10868EJ7V0DS00 (7th ed, March 2004) p1, 'CLASSIFICATION " +
795
+ "OF hFE, Rank P, Range 200 to 400 (hFE Test Conditions: VCE = -6.0 V, IC = -1.0 mA)'",
796
+ derivation: "Printed P-rank hFE bin 200-400; geometric midpoint (form 2, gains): " +
797
+ "sqrt(200 * 400) = 282.8427125.",
798
+ },
799
+ },
800
+ },
801
+ {
802
+ // Wave 4. Panasonic 2SC828/2SC828A databook p293 (third-party scan of the original
803
+ // page; doc identity disclosed: footer 'Panasonic', undated). The DC hFE row prints
804
+ // MIN/MAX only (no TYP); VBE is MAX-only (0.8 V at 10 mA), a limit: no IS.
805
+ // Ranks Q/R/S are printed but unused by the corpus, so only the unbinned row ships.
806
+ partIds: ["2SC828"],
807
+ class: "bjt",
808
+ params: {
809
+ forwardBeta: {
810
+ value: 260,
811
+ basis: "derived",
812
+ source: "Panasonic 2SC828/2SC828A databook p293 (original-manufacturer page via " +
813
+ "third-party host) ELECTRICAL CHARACTERISTICS (Ta = 25C): 'DC Current Gain hFE*, " +
814
+ "VCE = 5 V, IC = 2 mA, min. 130, max. 520' with '*hFE Ranking Rank Q 130~260, " +
815
+ "R 180~360, S 260~520'",
816
+ derivation: "Printed hFE range 130-520 at VCE = 5 V, IC = 2 mA; geometric midpoint " +
817
+ "(form 2, gains): sqrt(130 * 520) = 260.0.",
818
+ },
819
+ },
820
+ },
821
+ {
822
+ // Wave 4. Toshiba 2SA1015(L) scan (1997-04-10 / 2003-03-27 reprint, same table;
823
+ // third-party host of the Toshiba original). No active-VBE row (only VBE(sat) MAX
824
+ // -1.1 V at -100 mA): IS excluded. Bare A1015 is a top-mark abbreviation no sheet
825
+ // prints: excluded. Unbinned plus the corpus-used Y rank (2SA1015-Y); O/GR stay
826
+ // out (same sheet, no corpus use).
827
+ partIds: ["2SA1015"],
828
+ class: "bjt",
829
+ params: {
830
+ forwardBeta: {
831
+ value: 167.3320053,
832
+ basis: "derived",
833
+ source: "Toshiba 2SA1015(L) Transistor Silicon PNP Epitaxial Type (PCT process), " +
834
+ "2003-03-27 reprint of the 1997-04-10 original (third-party host) p1, ELECTRICAL " +
835
+ "CHARACTERISTICS (Ta = 25C): 'DC current gain hFE (1) (Note), VCE = -6 V, " +
836
+ "IC = -2 mA, 70 MIN, 400 MAX' with 'Note: hFE (1) classification O: 70~140, " +
837
+ "Y: 120~240, GR: 200~400'",
838
+ derivation: "Printed hFE(1) range 70-400 at VCE = -6 V, IC = -2 mA; geometric midpoint " +
839
+ "(form 2, gains): sqrt(70 * 400) = 167.3320053.",
840
+ },
841
+ },
842
+ },
843
+ {
844
+ partIds: ["2SA1015-Y", "2SA1015Y"],
845
+ class: "bjt",
846
+ params: {
847
+ forwardBeta: {
848
+ value: 169.7056275,
849
+ basis: "derived",
850
+ source: "Toshiba 2SA1015(L) 2003-03-27 p1, 'Note: hFE (1) classification Y: 120~240' " +
851
+ "(VCE = -6 V, IC = -2 mA per the table row; the two spellings fold to one id)",
852
+ derivation: "Printed Y-rank hFE(1) bin 120-240; geometric midpoint (form 2, gains): " +
853
+ "sqrt(120 * 240) = 169.7056275.",
854
+ },
855
+ },
856
+ },
857
+ {
858
+ // Wave 4. Toshiba 2SC2240 2007-11-01: the VBE row prints a TYP (active region), so
859
+ // IS derives; ranks GR/BL split the gain. Unbinned plus the corpus-used GR rank
860
+ // (six GR uses); BL stays out (same sheet, no corpus use).
861
+ partIds: ["2SC2240"],
862
+ class: "bjt",
863
+ params: {
864
+ saturationCurrent: {
865
+ value: 2.4071917e-14,
866
+ basis: "derived",
867
+ source: "2SC2240/datasheets/toshiba-2sc2240.pdf (Toshiba 2SC2240, 2007-11-01) p2, " +
868
+ "ELECTRICAL CHARACTERISTICS (Ta = 25C): 'Base-emitter voltage VBE, VCE = 6 V, " +
869
+ "IC = 2 mA, TYP 0.65 V'",
870
+ derivation: "Printed VBE TYP 0.65 V at VCE = 6 V, IC = 2 mA (active region, within the " +
871
+ "form-1 IC <= 20 mA gate); IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): " +
872
+ "0.002 * exp(-0.65 / 0.025852) = 2.4071917e-14.",
873
+ },
874
+ forwardBeta: {
875
+ value: 374.1657387,
876
+ basis: "derived",
877
+ source: "2SC2240/datasheets/toshiba-2sc2240.pdf (Toshiba 2SC2240, 2007-11-01) p2: 'DC " +
878
+ "current gain hFE (Note), VCE = 6 V, IC = 2 mA, MIN 200 MAX 700' with 'Note: hFE " +
879
+ "classification GR: 200~400, BL: 350~700'",
880
+ derivation: "Printed hFE range 200-700 at VCE = 6 V, IC = 2 mA; geometric midpoint " +
881
+ "(form 2, gains): sqrt(200 * 700) = 374.1657387.",
882
+ },
883
+ },
884
+ },
885
+ {
886
+ partIds: ["2SC2240-GR", "2SC2240GR"],
887
+ class: "bjt",
888
+ params: {
889
+ saturationCurrent: {
890
+ value: 2.4071917e-14,
891
+ basis: "derived",
892
+ source: "2SC2240/datasheets/toshiba-2sc2240.pdf (Toshiba 2SC2240, 2007-11-01) p2, shared " +
893
+ "VBE row 'TYP 0.65 V at VCE = 6 V, IC = 2 mA' (the two spellings fold to one id)",
894
+ derivation: "Printed VBE TYP 0.65 V at IC = 2 mA (form-1 gate met); IS = " +
895
+ "0.002 * exp(-0.65 / 0.025852) = 2.4071917e-14.",
896
+ },
897
+ forwardBeta: {
898
+ value: 282.8427125,
899
+ basis: "derived",
900
+ source: "2SC2240/datasheets/toshiba-2sc2240.pdf (Toshiba 2SC2240, 2007-11-01) p2, 'Note: " +
901
+ "hFE classification GR: 200~400' (VCE = 6 V, IC = 2 mA per the table row)",
902
+ derivation: "Printed GR-rank hFE bin 200-400; geometric midpoint (form 2, gains): " +
903
+ "sqrt(200 * 400) = 282.8427125.",
904
+ },
905
+ },
906
+ },
907
+ {
908
+ // Wave 4 community. Germanium PNP: Jim Hagerman's published AC128 SPICE model
909
+ // (paper + card). Provisional single sample: germanium varies enormously specimen
910
+ // to specimen, and the Holmes/Whitehead DAFx-2017 extraction of their own AC128
911
+ // specimen reads IS = 20.66u, BF = 229.6 (same order of IS, hotter gain) --
912
+ // disclosed as the corroborating one-sample. Polarity is structural (PNP).
913
+ partIds: ["AC128"],
914
+ class: "bjt",
915
+ note: "Corroborating single-specimen extraction (Holmes/Holters/van Walstijn DAFx-2017 " +
916
+ "Table 1 via https://grwhitehead.github.io/germaniumbjts, Greg Whitehead): " +
917
+ ".MODEL AC128 PNP(IS=20.66u BF=229.6 BR=14.66 ...) -- a hot specimen; germanium " +
918
+ "varies enormously, so every community germanium value is one sample.",
919
+ params: {
920
+ saturationCurrent: {
921
+ value: 17e-6,
922
+ basis: "community",
923
+ source: "Jim Hagerman, 'AC128 Ge PNP Transistor SPICE Model' paper, 01/16/20, " +
924
+ "http://www.hagtech.com/pdf/ac128model.pdf (PDF, 4 pp, read 2026-10-19): " +
925
+ "'For saturation current we take Vbe and Ic values at low current. From the " +
926
+ "graph we get 150mV and 6mA' (6 mA * exp(-0.150/0.025852) = 18.1 uA ~= 17u); " +
927
+ "verbatim model card:\n" +
928
+ ".MODEL AC128 PNP + ( + BF = 90 + IS = 17u + RE = 220m + BR = 100m + VAF = 30 + " +
929
+ "ISE = 190n + TF = 106n + TR = 10u + CJC = 100p + )",
930
+ sourceKind: "published-spice-model",
931
+ url: "http://www.hagtech.com/pdf/ac128model.pdf",
932
+ quote: ".MODEL AC128 PNP + ( + BF = 90 + IS = 17u + RE = 220m + BR = 100m + VAF = 30 + " +
933
+ "ISE = 190n + TF = 106n + TR = 10u + CJC = 100p + )",
934
+ author: "Jim Hagerman",
935
+ retrievedDate: "2026-10-19",
936
+ whyNoBetterSource: "Searched Mullard Data Book 1965-66/1974-75 excerpts (short-form only: Ptot, " +
937
+ "VCE, ICM and small-signal hfe, no Vbe/DC-hFE), the Valvo Datenbuch 1969-70 " +
938
+ "reprint (URL now 404), alldatasheet/GPD/NJSEMI AC128 sheets (non-original " +
939
+ "manufacturers and/or 1-4 pp short-form). No original-manufacturer AC128 sheet " +
940
+ "with active-region Vbe + DC hFE bin is readable online. The Holmes/Whitehead " +
941
+ "specimen corroborates the IS order.",
942
+ },
943
+ forwardBeta: {
944
+ value: 90,
945
+ basis: "community",
946
+ source: "Jim Hagerman, 'AC128 Ge PNP Transistor SPICE Model' paper, 01/16/20, " +
947
+ "http://www.hagtech.com/pdf/ac128model.pdf (read 2026-10-19): 'Straight from " +
948
+ "data sheet we can read typical forward gain: BF = 90'; verbatim model card:\n" +
949
+ ".MODEL AC128 PNP + ( + BF = 90 + IS = 17u + RE = 220m + BR = 100m + VAF = 30 + " +
950
+ "ISE = 190n + TF = 106n + TR = 10u + CJC = 100p + )",
951
+ sourceKind: "published-spice-model",
952
+ url: "http://www.hagtech.com/pdf/ac128model.pdf",
953
+ quote: ".MODEL AC128 PNP + ( + BF = 90 + IS = 17u + RE = 220m + BR = 100m + VAF = 30 + " +
954
+ "ISE = 190n + TF = 106n + TR = 10u + CJC = 100p + )",
955
+ author: "Jim Hagerman",
956
+ retrievedDate: "2026-10-19",
957
+ whyNoBetterSource: "Same search as the IS record: no DC hFE bin in any located " +
958
+ "original-manufacturer material; the card's BF = 90 is the published value " +
959
+ "(the Holmes/Whitehead specimen reads 229.6 -- hot specimen, disclosed).",
960
+ },
961
+ },
962
+ },
963
+ {
964
+ // Wave 4 mixed: IS from the original Valvo sheet (datasheet basis, third-party
965
+ // host per the owner rule), BF from a published single-specimen extraction
966
+ // (community). The Valvo VBE row is a DC bias point (HF equivalent-circuit header
967
+ // states the -U_CE = 6 V, I_C = 1 mA bias); the 1 kHz alpha_e = 100 (45-225) row
968
+ // in the same table is small-signal and excluded by rule. The headline 150 mV is
969
+ // transcribed with its printed spread (125-185 mV), not midpointed: 150 mV is the
970
+ // sheet's stated value (spread-implied IS range 0.78-7.95 uA, disclosed). The
971
+ // Holmes specimen IS = 1.423 uA sits inside that spread. Edition inferred from
972
+ // the scan family (Dioden und Transistoren 1959, title page not in the available
973
+ // images): disclosed. Polarity is structural (PNP).
974
+ partIds: ["OC44"],
975
+ class: "bjt",
976
+ params: {
977
+ saturationCurrent: {
978
+ value: 3.0207e-6,
979
+ basis: "derived",
980
+ source: "Valvo OC44/OC45 HF-Transistoren sheet p28 (original-manufacturer Valvo sheet, " +
981
+ "third-party host wp.pedalia.org, scan read visually, no text layer): " +
982
+ "'HF-Ersatzschaltbild fuer Emitterschaltung ... bei -U_CE = 6 V, I_C = 1 mA' " +
983
+ "header with '-U_BE = 150 mV (125 bis 185 mV)' (DC bias point of the HF " +
984
+ "equivalent circuit; OC45 sibling column reads 170 mV (145-195 mV))",
985
+ derivation: "Printed VBE headline 150 mV at -U_CE = 6 V, I_C = 1 mA (active region, " +
986
+ "within the form-1 IC <= 20 mA gate; the printed spread 125-185 mV is quoted " +
987
+ "but the headline 150 mV is transcribed, not midpointed); IS = IC * exp(-Vbe / " +
988
+ "Vt) with n = 1 (form 1): 0.001 * exp(-0.150 / 0.025852) = 3.0207e-6 A " +
989
+ "(spread-implied IS range 0.78-7.95 uA).",
990
+ },
991
+ forwardBeta: {
992
+ value: 307,
993
+ basis: "community",
994
+ source: "Holmes/Holters/van Walstijn DAFx-2017 Table 1 ('Comparison of Germanium Bipolar " +
995
+ "Junction Transistor Models for Real-Time Circuit Simulation', Proc. 20th Int. " +
996
+ "Conf. on Digital Audio Effects, Edinburgh, Sept. 2017) via " +
997
+ "https://grwhitehead.github.io/germaniumbjts (Greg Whitehead repo page, read " +
998
+ "2026-10-19): verbatim model card:\n" +
999
+ ".MODEL OC44 PNP(IS=1.423u BF=307.0 BR=20.27 NF=1.022 NR=1.025 VT=25.5m VAF=8.167 " +
1000
+ "VAR=14.84 IKF=43.82m IKR=611.7m ISE=30.54n ISC=213.5n NE=1.316 NC=1.258 RB=32.83 " +
1001
+ "RE=968.7m RC=989.9u CEB=410p CCB=10p)",
1002
+ sourceKind: "published-spice-model",
1003
+ url: "https://grwhitehead.github.io/germaniumbjts",
1004
+ quote: ".MODEL OC44 PNP(IS=1.423u BF=307.0 BR=20.27 NF=1.022 NR=1.025 VT=25.5m VAF=8.167 " +
1005
+ "VAR=14.84 IKF=43.82m IKR=611.7m ISE=30.54n ISC=213.5n NE=1.316 NC=1.258 RB=32.83 " +
1006
+ "RE=968.7m RC=989.9u CEB=410p CCB=10p)",
1007
+ author: "B. Holmes, M. Holters, M. van Walstijn (via Greg Whitehead)",
1008
+ retrievedDate: "2026-10-19",
1009
+ whyNoBetterSource: "The Valvo sheet's only gain number is the 1 kHz small-signal alpha_e = 100 " +
1010
+ "(45-225), excluded by rule; Mullard short-form/electronics-notes give " +
1011
+ "small-signal hfe only. No DC hFE bin exists in any located " +
1012
+ "original-manufacturer material. The card is one specimen's extraction (its " +
1013
+ "IS = 1.423 uA sits inside the Valvo VBE spread 0.78-7.95 uA).",
1014
+ },
1015
+ },
1016
+ },
1017
+ {
1018
+ // Wave 5. Ferranti ZTX107/108/109 series (ZTX107 Series, undated image-only scan
1019
+ // read visually, third-party host) p2, CHARACTERISTICS (at 25C ambient): the
1020
+ // ZTX109 column prints 'Emitter-base voltage VBE, IC = 2 mA, VCE = 5 V: MIN 0.6
1021
+ // MAX 0.7 V' (active-region Vbe, limits not TYP) and 'Static forward current
1022
+ // transfer ratio hFE, ZTX108C/109C row: ZTX109 MIN 450 MAX 900 at IC = 2 mA,
1023
+ // VCE = 5 V'. The VCE(sat) rows are starred TYPICAL figures and are excluded.
1024
+ partIds: ["ZTX109C"],
1025
+ class: "bjt",
1026
+ params: {
1027
+ saturationCurrent: {
1028
+ value: 2.4071917e-14,
1029
+ basis: "derived",
1030
+ source: "Fetched manufacturer sheet (no vendored copy): Ferranti ZTX107/108/109 series " +
1031
+ "(ZTX107 Series, undated scan) p2: 'Emitter-base voltage VBE, IC = 2 mA, VCE = 5 V: " +
1032
+ "ZTX109 MIN 0.6 MAX 0.7 V' (no TYP printed)",
1033
+ derivation: "Printed ZTX109 VBE range 0.6-0.7 V at IC = 2 mA, VCE = 5 V (active region, " +
1034
+ "IC within the form-1 <= 20 mA gate); arithmetic midpoint 0.65 V (form 2); " +
1035
+ "IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): 0.002 * exp(-0.65 / 0.025852) = " +
1036
+ "2.4071917e-14.",
1037
+ },
1038
+ forwardBeta: {
1039
+ value: 636.3961031,
1040
+ basis: "derived",
1041
+ source: "Fetched manufacturer sheet (no vendored copy): Ferranti ZTX107/108/109 series p2: " +
1042
+ "'Static forward current transfer ratio hFE, IC = 2 mA, VCE = 5 V, ZTX108C/109C row: " +
1043
+ "ZTX109 MIN 450 MAX 900' (the unbinned 109 row is 240-900; the 10 uA row is 100-300)",
1044
+ derivation: "Printed ZTX109C hFE bin 450-900 at IC = 2 mA, VCE = 5 V; geometric midpoint " +
1045
+ "(form 2, gains): sqrt(450 * 900) = 636.3961031.",
1046
+ },
1047
+ },
1048
+ },
1049
+ {
1050
+ // Wave 5. Own title sheet (not a 2N2222A alias): onsemi P2N2222A/D, Jan 2013
1051
+ // Rev. 7, p2. The DC rows are MIN-only and the VBE(sat) rows are high-current,
1052
+ // so only the small-signal bin qualifies (the shipped 2N2222A precedent, same
1053
+ // 50-300 arithmetic on the sibling die).
1054
+ partIds: ["P2N2222A"],
1055
+ class: "bjt",
1056
+ params: {
1057
+ forwardBeta: {
1058
+ value: 122.4744871,
1059
+ basis: "derived",
1060
+ source: "Fetched manufacturer sheet (no vendored copy): onsemi P2N2222A/D, Jan 2013 Rev. 7, " +
1061
+ "p2, SMALL-SIGNAL CHARACTERISTICS: 'Small-Signal Current Gain hfe, IC = 1.0 mAdc, " +
1062
+ "VCE = 10 Vdc, f = 1.0 kHz: MIN 50 MAX 300' (the DC hFE rows are MIN-only; VBE(sat) " +
1063
+ "0.6-1.2/2.0 V at 150/500 mA is high-current and excluded)",
1064
+ derivation: "Printed P2N2222A small-signal hfe bin 50-300 at IC = 1.0 mA, VCE = 10 V, f = 1 kHz; " +
1065
+ "geometric midpoint (form 2, gains): sqrt(50 * 300) = 122.4744871.",
1066
+ },
1067
+ },
1068
+ },
1069
+ {
1070
+ // Wave 5. Central Semiconductor 2N6428/2N6429 R1 (10-September-2019),
1071
+ // ELECTRICAL CHARACTERISTICS (TA = 25C) with explicit MIN/MAX columns: the
1072
+ // 1 mA/10 mA hFE rows are MIN-only (250/500), so the only pair is the 100 uA
1073
+ // DC bin (a legitimate low-current bin, not high-current falloff).
1074
+ partIds: ["2N6428"],
1075
+ class: "bjt",
1076
+ params: {
1077
+ saturationCurrent: {
1078
+ value: 5.6552409e-14,
1079
+ basis: "derived",
1080
+ source: "Fetched manufacturer sheet (no vendored copy): Central Semiconductor 2N6428/2N6429, " +
1081
+ "R1 (10-September-2019), ELECTRICAL CHARACTERISTICS (TA = 25C): 'VBE(ON), VCE = 5.0 V, " +
1082
+ "IC = 1.0 mA: 2N6428 MIN 0.56 MAX 0.66 V' (no TYP printed)",
1083
+ derivation: "Printed 2N6428 VBE(ON) range 0.56-0.66 V at IC = 1.0 mA, VCE = 5.0 V (active " +
1084
+ "region, IC within the form-1 <= 20 mA gate); arithmetic midpoint 0.61 V (form 2); " +
1085
+ "IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): 0.001 * exp(-0.61 / 0.025852) = " +
1086
+ "5.6552409e-14.",
1087
+ },
1088
+ forwardBeta: {
1089
+ value: 403.1128874,
1090
+ basis: "derived",
1091
+ source: "Fetched manufacturer sheet (no vendored copy): Central Semiconductor 2N6428/2N6429, " +
1092
+ "R1 (10-September-2019), ELECTRICAL CHARACTERISTICS (TA = 25C): 'hFE, VCE = 5.0 V, " +
1093
+ "IC = 100 uA: 2N6428 MIN 250 MAX 650' (the 1 mA/10 mA rows are MIN-only 250/500)",
1094
+ derivation: "Printed 2N6428 hFE bin 250-650 at IC = 100 uA, VCE = 5.0 V; geometric midpoint " +
1095
+ "(form 2, gains): sqrt(250 * 650) = 403.1128874.",
1096
+ },
1097
+ },
1098
+ },
1099
+ {
1100
+ // Wave 5. Same Central sheet as 2N6428 (its higher-gain sibling column).
1101
+ partIds: ["2N6429"],
1102
+ class: "bjt",
1103
+ params: {
1104
+ saturationCurrent: {
1105
+ value: 5.6552409e-14,
1106
+ basis: "derived",
1107
+ source: "Fetched manufacturer sheet (no vendored copy): Central Semiconductor 2N6428/2N6429, " +
1108
+ "R1 (10-September-2019), ELECTRICAL CHARACTERISTICS (TA = 25C): 'VBE(ON), VCE = 5.0 V, " +
1109
+ "IC = 1.0 mA: 2N6429 MIN 0.56 MAX 0.66 V' (no TYP printed; shared row with 2N6428)",
1110
+ derivation: "Printed 2N6429 VBE(ON) range 0.56-0.66 V at IC = 1.0 mA, VCE = 5.0 V; arithmetic " +
1111
+ "midpoint 0.61 V (form 2); IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): " +
1112
+ "0.001 * exp(-0.61 / 0.025852) = 5.6552409e-14.",
1113
+ },
1114
+ forwardBeta: {
1115
+ value: 790.569415,
1116
+ basis: "derived",
1117
+ source: "Fetched manufacturer sheet (no vendored copy): Central Semiconductor 2N6428/2N6429, " +
1118
+ "R1 (10-September-2019), ELECTRICAL CHARACTERISTICS (TA = 25C): 'hFE, VCE = 5.0 V, " +
1119
+ "IC = 100 uA: 2N6429 MIN 500 MAX 1250' (the 1 mA/10 mA rows are MIN-only 500)",
1120
+ derivation: "Printed 2N6429 hFE bin 500-1250 at IC = 100 uA, VCE = 5.0 V; geometric midpoint " +
1121
+ "(form 2, gains): sqrt(500 * 1250) = 790.569415.",
1122
+ },
1123
+ },
1124
+ },
1125
+ {
1126
+ // Wave 5. BF-only (VBE(sat) is MAX-only at -100 mA: no IS). The A1015GR marking
1127
+ // is named by the sheet's own marking diagram ('A1015 (GR, Y) = Device Code'),
1128
+ // so no alias is involved; the GR bin matches the registered Toshiba 2SA1015-Y
1129
+ // arithmetic (same 200-400 at -6 V/-2 mA).
1130
+ partIds: ["A1015GR"],
1131
+ class: "bjt",
1132
+ params: {
1133
+ forwardBeta: {
1134
+ value: 282.8427125,
1135
+ basis: "derived",
1136
+ source: "Fetched manufacturer sheet (no vendored copy): onsemi KSA1015/D, Nov 2025 Rev. 3, " +
1137
+ "p2, ELECTRICAL CHARACTERISTICS: 'hFE1 DC Current Gain, VCE = -6 V, IC = -2 mA: " +
1138
+ "MIN 70 MAX 400' with 'hFE CLASSIFICATION O 70~140, Y 120~240, GR 200~400' " +
1139
+ "(marking diagram p1: 'A1015 (GR, Y) = Device Code'; VBE(sat) MAX-only -1.1 V " +
1140
+ "at -100 mA, excluded)",
1141
+ derivation: "Printed GR hFE bin 200-400 at VCE = -6 V, IC = -2 mA; geometric midpoint " +
1142
+ "(form 2, gains): sqrt(200 * 400) = 282.8427125. PNP polarity is structural, " +
1143
+ "not a registry value.",
1144
+ },
1145
+ },
1146
+ },
1147
+ {
1148
+ // Wave 5. BF-only (VBE(sat) is MAX-only at 50 mA: no IS). The DC bin at 2 mA is
1149
+ // the law's quantity (the small-signal 120-480 row at the same bias is not used).
1150
+ partIds: ["MPS4124"],
1151
+ class: "bjt",
1152
+ params: {
1153
+ forwardBeta: {
1154
+ value: 207.8460969,
1155
+ basis: "derived",
1156
+ source: "Fetched manufacturer sheet (no vendored copy): onsemi MPS4124/D, Apr 2007 Rev. 4, " +
1157
+ "ON CHARACTERISTICS: 'DC Current Gain hFE, IC = 2.0 mA, VCE = 1.0 V: MIN 120 MAX 360' " +
1158
+ "(the 50 mA row is MIN-only 60; VBE(sat) MAX-only 0.95 V at 50 mA, excluded)",
1159
+ derivation: "Printed MPS4124 hFE bin 120-360 at IC = 2.0 mA, VCE = 1.0 V; geometric midpoint " +
1160
+ "(form 2, gains): sqrt(120 * 360) = 207.8460969.",
1161
+ },
1162
+ },
1163
+ },
1164
+ {
1165
+ // Wave 5. A-bin of the BC546-550 family (vendored onsemi BC550/D sheet). Same
1166
+ // family VBE row as the registered BC549C/BC550C/BC549B/BC547B/BC550 entries.
1167
+ partIds: ["BC546A"],
1168
+ class: "bjt",
1169
+ params: {
1170
+ saturationCurrent: {
1171
+ value: 1.6350012e-14,
1172
+ basis: "derived",
1173
+ source: "BC548B/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6, family sheet " +
1174
+ "BC546/547/548/549/550) p2, ELECTRICAL CHARACTERISTICS: 'VBE(on) Base-Emitter On " +
1175
+ "Voltage, VCE = 5 V, IC = 2 mA: MIN 580 TYP 660 MAX 700 mV'",
1176
+ derivation: "Printed family VBE(on) TYP 0.66 V at VCE = 5 V, IC = 2 mA (active region, IC " +
1177
+ "within the form-1 <= 20 mA gate); IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): " +
1178
+ "0.002 * exp(-0.66 / 0.025852) = 1.6350012e-14.",
1179
+ },
1180
+ forwardBeta: {
1181
+ value: 155.5634919,
1182
+ basis: "derived",
1183
+ source: "BC548B/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6) p2: " +
1184
+ "'hFE CLASSIFICATION A 110 ~ 220, B 200 ~ 450, C 420 ~ 800' (family DC row @ 2 mA/5 V: " +
1185
+ "MIN 110 MAX 800)",
1186
+ derivation: "Printed A-bin hFE 110-220; geometric midpoint (form 2, gains): " +
1187
+ "sqrt(110 * 220) = 155.5634919.",
1188
+ },
1189
+ },
1190
+ },
1191
+ {
1192
+ // Wave 5. A-bin, same family sheet and VBE row as BC546A above.
1193
+ partIds: ["BC548A"],
1194
+ class: "bjt",
1195
+ params: {
1196
+ saturationCurrent: {
1197
+ value: 1.6350012e-14,
1198
+ basis: "derived",
1199
+ source: "BC548B/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6, family sheet " +
1200
+ "BC546/547/548/549/550) p2, ELECTRICAL CHARACTERISTICS: 'VBE(on) Base-Emitter On " +
1201
+ "Voltage, VCE = 5 V, IC = 2 mA: MIN 580 TYP 660 MAX 700 mV'",
1202
+ derivation: "Printed family VBE(on) TYP 0.66 V at VCE = 5 V, IC = 2 mA; IS = IC * exp(-Vbe / Vt) " +
1203
+ "with n = 1 (form 1): 0.002 * exp(-0.66 / 0.025852) = 1.6350012e-14.",
1204
+ },
1205
+ forwardBeta: {
1206
+ value: 155.5634919,
1207
+ basis: "derived",
1208
+ source: "BC548B/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6) p2: " +
1209
+ "'hFE CLASSIFICATION A 110 ~ 220, B 200 ~ 450, C 420 ~ 800'",
1210
+ derivation: "Printed A-bin hFE 110-220; geometric midpoint (form 2, gains): " +
1211
+ "sqrt(110 * 220) = 155.5634919.",
1212
+ },
1213
+ },
1214
+ },
1215
+ {
1216
+ // Wave 5. B-bin, same family sheet and VBE row. BC548B.md's 'typ 290' is a
1217
+ // workbench-runtime figure, not used: the registry derivation is the geometric
1218
+ // 300 (BC547B/BC549B precedent, same B bin).
1219
+ partIds: ["BC548B"],
1220
+ class: "bjt",
1221
+ params: {
1222
+ saturationCurrent: {
1223
+ value: 1.6350012e-14,
1224
+ basis: "derived",
1225
+ source: "BC548B/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6, family sheet " +
1226
+ "BC546/547/548/549/550) p2, ELECTRICAL CHARACTERISTICS: 'VBE(on) Base-Emitter On " +
1227
+ "Voltage, VCE = 5 V, IC = 2 mA: MIN 580 TYP 660 MAX 700 mV'",
1228
+ derivation: "Printed family VBE(on) TYP 0.66 V at VCE = 5 V, IC = 2 mA; IS = IC * exp(-Vbe / Vt) " +
1229
+ "with n = 1 (form 1): 0.002 * exp(-0.66 / 0.025852) = 1.6350012e-14.",
1230
+ },
1231
+ forwardBeta: {
1232
+ value: 300,
1233
+ basis: "derived",
1234
+ source: "BC548B/datasheets/onsemi-bc550-d.pdf (onsemi BC550/D, Feb 2026 Rev. 6) p2: " +
1235
+ "'hFE CLASSIFICATION A 110 ~ 220, B 200 ~ 450, C 420 ~ 800'",
1236
+ derivation: "Printed B-bin hFE 200-450; geometric midpoint (form 2, gains): " +
1237
+ "sqrt(200 * 450) = 300.",
1238
+ },
1239
+ },
1240
+ },
1241
+ {
1242
+ // Wave 5. Fairchild BC184C/D (2002-08-06, title names BC184C) via the sm0vpo
1243
+ // mirror of the Fairchild original. DC bin at 2 mA preferred over the
1244
+ // small-signal 240-900 row (2N3904/2SC1815 precedent).
1245
+ partIds: ["BC184C"],
1246
+ class: "bjt",
1247
+ params: {
1248
+ saturationCurrent: {
1249
+ value: 6.3312899e-14,
1250
+ basis: "derived",
1251
+ source: "Fetched manufacturer sheet (no vendored copy): Fairchild BC184C/D (2002-08-06): " +
1252
+ "'VBE(on) Base-Emitter On Voltage, VCE = 5 V, IC = 2 mA: MIN 0.55 MAX 0.7 V' " +
1253
+ "(no TYP printed)",
1254
+ derivation: "Printed BC184C VBE(on) range 0.55-0.7 V at VCE = 5 V, IC = 2 mA (active region, " +
1255
+ "IC within the form-1 <= 20 mA gate); arithmetic midpoint 0.625 V (form 2); " +
1256
+ "IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): 0.002 * exp(-0.625 / 0.025852) = " +
1257
+ "6.3312899e-14.",
1258
+ },
1259
+ forwardBeta: {
1260
+ value: 447.2135955,
1261
+ basis: "derived",
1262
+ source: "Fetched manufacturer sheet (no vendored copy): Fairchild BC184C/D (2002-08-06): " +
1263
+ "'hFE DC Current Gain, VCE = 5 V, IC = 2 mA: MIN 250 MAX 800' (the 10 uA row is " +
1264
+ "MIN-only 100, the 100 mA row MIN-only 130; small-signal hfe 240-900 not used)",
1265
+ derivation: "Printed BC184C hFE bin 250-800 at VCE = 5 V, IC = 2 mA; geometric midpoint " +
1266
+ "(form 2, gains): sqrt(250 * 800) = 447.2135955.",
1267
+ },
1268
+ },
1269
+ },
1270
+ {
1271
+ // Wave 5. BF-only (VBE(on) prints a single 0.85 V figure at 1 mA: a limit, not a
1272
+ // range or typical, so no IS). Judgement call, disclosed: the 1 mA/10 mA DC rows
1273
+ // print MIN-only 250, so the only pair is the 100 uA DC bin (a legitimate
1274
+ // low-current bin, not high-current falloff).
1275
+ partIds: ["2N5210"],
1276
+ class: "bjt",
1277
+ params: {
1278
+ forwardBeta: {
1279
+ value: 346.4101615,
1280
+ basis: "derived",
1281
+ source: "Fetched manufacturer sheet (no vendored copy): Fairchild 2N5210/MMBT5210 Rev. B " +
1282
+ "2002, ON CHARACTERISTICS: 'hFE DC Current Gain, IC = 100 uA, VCE = 5.0 V: MIN 200 " +
1283
+ "MAX 600' (the IC = 1.0/10 mA rows print MIN-only 250; VBE(on) 0.85 V at 1.0 mA is " +
1284
+ "a single-figure limit, excluded)",
1285
+ derivation: "Printed 2N5210 hFE bin 200-600 at IC = 100 uA, VCE = 5.0 V; geometric midpoint " +
1286
+ "(form 2, gains): sqrt(200 * 600) = 346.4101615.",
1287
+ },
1288
+ },
1289
+ },
1290
+ {
1291
+ // Wave 5. Unbinned 2SC732 (ranks GR/BL registered wave-3; only these two ranks
1292
+ // exist). Vendored Toshiba 2SC732TM 1996-09-02 scan p1 read visually (no text
1293
+ // layer): hFE MIN 200 MAX 700 at 6 V/2 mA with the GR:200~400/BL:350~600 note,
1294
+ // VBE TYP 0.65 at 6 V/2 mA. Unbinned full-range midpoint (2SC2240 precedent).
1295
+ partIds: ["2SC732"],
1296
+ class: "bjt",
1297
+ params: {
1298
+ saturationCurrent: {
1299
+ value: 2.4071917e-14,
1300
+ basis: "derived",
1301
+ source: "2SC732/datasheets/toshiba-2sc732.pdf (Toshiba 2SC732TM, 1996-09-02, image-only scan " +
1302
+ "read visually) p1, ELECTRICAL CHARACTERISTICS (Ta = 25C): 'Base-Emitter Voltage VBE, " +
1303
+ "VCE = 6 V, IC = 2 mA: TYP 0.65 V'",
1304
+ derivation: "Printed VBE TYP 0.65 V at VCE = 6 V, IC = 2 mA (active region, IC within the " +
1305
+ "form-1 <= 20 mA gate); IS = IC * exp(-Vbe / Vt) with n = 1 (form 1): " +
1306
+ "0.002 * exp(-0.65 / 0.025852) = 2.4071917e-14 (shared row with the GR/BL ranks).",
1307
+ },
1308
+ forwardBeta: {
1309
+ value: 374.1657387,
1310
+ basis: "derived",
1311
+ source: "2SC732/datasheets/toshiba-2sc732.pdf (Toshiba 2SC732TM, 1996-09-02, scan read " +
1312
+ "visually) p1: 'DC Current Gain hFE (Note), VCE = 6 V, IC = 2 mA: MIN 200 MAX 700' " +
1313
+ "with 'Note: hFE Classification GR: 200~400, BL: 350~600'",
1314
+ derivation: "Printed unbinned hFE range 200-700 at VCE = 6 V, IC = 2 mA; geometric midpoint " +
1315
+ "(form 2, gains): sqrt(200 * 700) = 374.1657387.",
1316
+ },
1317
+ },
1318
+ },
1319
+ {
1320
+ // Wave 5. IS-only via the manufacturer-published model (2N2222A/2N5088 precedent;
1321
+ // model BF 480 is a MODPEX fit value and is NOT adopted). No datasheet hFE pair
1322
+ // exists (rows are MIN-only), so BF gap-fills the class default. ZTX618 is a 3.5 A
1323
+ // power device (EOL per PCN-2824) serving one DIY pedal; the row is data, not a
1324
+ // relevance claim.
1325
+ partIds: ["ZTX618"],
1326
+ class: "bjt",
1327
+ params: {
1328
+ saturationCurrent: {
1329
+ value: 5.611e-13,
1330
+ basis: "manufacturer-model",
1331
+ source: "Diodes Inc ZTX618 model file, " +
1332
+ "https://www.diodes.com/spice/download/2436/ZTX618.spice.txt " +
1333
+ "(linked from the official ZTX618 part page; Zetex v1.0, last revised 8/7/93), " +
1334
+ "verbatim card:\n" +
1335
+ " .MODEL ZTX618 NPN IS =5.611E-13 NF =1.0022 BF =480 IKF=4.6 VAF=51\n" +
1336
+ "+ ISE=1.73E-13 NE =1.4 NR =1.0002 BR =200 IKR=3 VAR=25\n" +
1337
+ "+ ISC=7.3152E-13 NC =1.47 RB =0.032 RE =0.027 RC =0.025\n" +
1338
+ "+ CJC=59E-12 MJC=0.2651 VJC=0.3051 CJE=216E-12\n" +
1339
+ "+ TF =0.95E-9 TR =2.25E-9",
1340
+ modelFileUrl: "https://www.diodes.com/spice/download/2436/ZTX618.spice.txt",
1341
+ modelLine: " .MODEL ZTX618 NPN IS =5.611E-13 NF =1.0022 BF =480 IKF=4.6 VAF=51\n" +
1342
+ "+ ISE=1.73E-13 NE =1.4 NR =1.0002 BR =200 IKR=3 VAR=25\n" +
1343
+ "+ ISC=7.3152E-13 NC =1.47 RB =0.032 RE =0.027 RC =0.025\n" +
1344
+ "+ CJC=59E-12 MJC=0.2651 VJC=0.3051 CJE=216E-12\n" +
1345
+ "+ TF =0.95E-9 TR =2.25E-9",
1346
+ },
1347
+ },
1348
+ },
1349
+ ]);
1350
+ //# sourceMappingURL=bjt.js.map