@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,547 @@
1
+ // Zener registry data: reverse breakdown voltage by exact part id.
2
+ //
3
+ // **Breakdown volts only; forward behaviour repeats the class default by construction.**
4
+ // A device that declares its own breakdown keeps it: `device-laws.ts` overlays the declared
5
+ // value on a catalog match, so the corpus diodes that already declare one render unchanged.
6
+ // Forward parameters are deliberately NOT the registry's: `saturationCurrent`,
7
+ // `emissionCoefficient` and `thermalVoltage` repeat the class default, and
8
+ // `seriesResistance` repeats its 1.0 ohm default (the database's `reverseBreakdownResistance`
9
+ // is a dynamic impedance at breakdown, not the law's ohmic series resistance, and mapping
10
+ // one to the other needs a fixture first). Deriving the forward law is stage 3's work.
11
+ //
12
+ // Provenance, honestly: every value below is the pre-registry catalog number, kept
13
+ // mechanically. Where the device-database row the catalog transcribed states its own
14
+ // source, the derivation quotes that chain; most rows state a bare typ (or the value lives
15
+ // only in a packet declaration), and the derivation says so. **Basis is `derived` for all
16
+ // of them**: no datasheet row was re-read at stage 1, and stage 3 must cite one. A min/max
17
+ // range from the database is stamped at typ and disclosed here, never spanned.
18
+ //
19
+ // Only real manufacturer part numbers appear here: no prose aliases (`3V`, `5V6 zener`,
20
+ // `zener/protection diode`) and no `SOURCE-*-ZENER` placeholder ids. A packet that prints
21
+ // a voltage instead of a part number states no part, so the registry must not answer it;
22
+ // those values belong in the packet as declared `breakdownVolts`.
23
+ //
24
+ // Wave 5 exception (coordinator keying, owner may revisit): nominal-voltage TOKENS
25
+ // (`9V1`, `5V1`, `3V6`, `3V3`, `4V7`, `8V2`, `2V7`, `6V2`, `12V`) ARE registry ids, one
26
+ // entry per nominal voltage together with the datasheet part numbers that print that Vz.
27
+ // Diode-class voltage tokens (`9.1VZENNER`, `5.1V`, `3V`, ...) are a different class's
28
+ // ids and do not join these entries.
29
+ import { definePartData } from "./loader.js";
30
+ const DB = "component-diode-chips.json";
31
+ const FLAT = "component-zener-diode-chips.json";
32
+ export const zenerRegistryRecords = definePartData([
33
+ {
34
+ partIds: ["1N961B"],
35
+ class: "zener",
36
+ params: {
37
+ breakdownVolts: {
38
+ value: 10,
39
+ basis: "derived",
40
+ source: `${DB} zener-reference row 1N961B (reverseBreakdownVoltage.typ 10, 9.5..10.5)`,
41
+ derivation: "Stamped at the database row's typ; the row cites no source and no datasheet was " +
42
+ "re-read at stage 1. Stage 3 must cite the datasheet.",
43
+ },
44
+ },
45
+ },
46
+ {
47
+ partIds: ["1N965B"],
48
+ class: "zener",
49
+ params: {
50
+ breakdownVolts: {
51
+ value: 15,
52
+ basis: "derived",
53
+ source: `${DB} zener-reference row 1N965B (reverseBreakdownVoltage.typ 15, 14.25..15.75)`,
54
+ derivation: "Stamped at the database row's typ; the row cites no source and no datasheet was " +
55
+ "re-read at stage 1. Stage 3 must cite the datasheet.",
56
+ },
57
+ },
58
+ },
59
+ {
60
+ partIds: ["1N969B"],
61
+ class: "zener",
62
+ params: {
63
+ breakdownVolts: {
64
+ value: 22,
65
+ basis: "derived",
66
+ source: `${DB} zener-reference row 1N969B (reverseBreakdownVoltage.typ 22, 20.9..23.1)`,
67
+ derivation: "Stamped at the database row's typ; the row cites no source and no datasheet was " +
68
+ "re-read at stage 1. Stage 3 must cite the datasheet.",
69
+ },
70
+ },
71
+ },
72
+ {
73
+ partIds: ["1N4744A"],
74
+ class: "zener",
75
+ params: {
76
+ breakdownVolts: {
77
+ value: 15,
78
+ basis: "derived",
79
+ source: `${DB} zener-reference row 1N4744A (reverseBreakdownVoltage.typ 15, 14.25..15.75)`,
80
+ derivation: "Stamped at the database row's typ; the row cites no source and no datasheet was " +
81
+ "re-read at stage 1. Stage 3 must cite the datasheet.",
82
+ },
83
+ },
84
+ },
85
+ {
86
+ partIds: ["1N4751A", "1N4751A 30V", "1N4751A-30V", "1N4751A 30 V"],
87
+ class: "zener",
88
+ params: {
89
+ breakdownVolts: {
90
+ value: 30,
91
+ basis: "derived",
92
+ source: `${DB} zener-reference row 1N4751A (reverseBreakdownVoltage.typ 30, 28.5..31.5)`,
93
+ derivation: "Stamped at the database row's typ. The row's own source is a family-table reading " +
94
+ "('1N4728A-1N4764A family tables list 1N4751A as a 30 V, 5% zener; the Deluxe Memory Man " +
95
+ "source label includes the explicit 30V suffix'), not a re-read datasheet row at stage 1. " +
96
+ "Stage 3 must cite the datasheet.",
97
+ },
98
+ },
99
+ },
100
+ {
101
+ partIds: ["1N4753A"],
102
+ class: "zener",
103
+ params: {
104
+ breakdownVolts: {
105
+ value: 36,
106
+ basis: "derived",
107
+ source: `${DB} zener-reference row 1N4753A (reverseBreakdownVoltage.typ 36, 34.2..37.8)`,
108
+ derivation: "Stamped at the database row's typ. The row's own source names the Q-Tron source graph " +
109
+ "(D_ZENER_PROTECT, 1N4753A 36 V) and the onsemi 1N4728A-1N4758A table (36 V nominal, 5%); " +
110
+ "no datasheet was re-read at stage 1. Stage 3 must cite the datasheet.",
111
+ },
112
+ },
113
+ },
114
+ {
115
+ partIds: ["RD5.1EB3", "RD5.1EB 3", "RD5.1EB-3"],
116
+ class: "zener",
117
+ params: {
118
+ breakdownVolts: {
119
+ value: 5.235,
120
+ basis: "derived",
121
+ source: `${DB} zener-reference row RD5.1EB3 (reverseBreakdownVoltage.typ 5.235, 5.12..5.35)`,
122
+ derivation: "Stamped at the database row's typ; the row cites no source and no datasheet was " +
123
+ "re-read at stage 1. Stage 3 must cite the NEC RD datasheet.",
124
+ },
125
+ },
126
+ note: "Bare RD5.1EB spans every bin but only B3 is a database row (NEC RD5.1E B3: Vz 5.12..5.35 V, " +
127
+ "typ 5.235, vendored at parts/diodes/RD5_1EB3). Stamping B3's typical for the unbinned part " +
128
+ "is a derived stand-in, disclosed, not a printed unbinned value.",
129
+ },
130
+ {
131
+ partIds: ["RD5.1EB"],
132
+ class: "zener",
133
+ params: {
134
+ breakdownVolts: {
135
+ value: 5.235,
136
+ basis: "derived",
137
+ source: "Pre-registry catalog stand-in (no database row for the unbinned part)",
138
+ derivation: "B3's typical 5.235 stamped for the unbinned RD5.1EB as a disclosed derived stand-in " +
139
+ "(see the RD5.1EB3 record's note); the unbinned part has no database row and no " +
140
+ "datasheet was re-read at stage 1. Stage 3 must give the unbinned part its own entry.",
141
+ },
142
+ },
143
+ },
144
+ {
145
+ partIds: ["RD3.0EB3", "RD3.0EB1", "RD3.0EB-1", "RD3.0EB-3"],
146
+ class: "zener",
147
+ params: {
148
+ breakdownVolts: {
149
+ value: 3,
150
+ basis: "derived",
151
+ source: "Pre-registry catalog value for the packet-declared SOURCE-3V-ZENER row (BV 3)",
152
+ derivation: "RD3.0EB1/RD3.0EB3 are real part numbers whose pre-registry value lives on the packet's " +
153
+ "source-declared 3 V zener row; the placeholder id and prose aliases stay out of the " +
154
+ "registry. No datasheet was re-read at stage 1. Stage 3 must cite the NEC RD datasheet.",
155
+ },
156
+ },
157
+ note: "RD3.0EB1/RD3.0EB3 are real part numbers with no database row; their value comes from the " +
158
+ "source's declared 3 V zener row.",
159
+ },
160
+ {
161
+ partIds: ["RD4.7EB", "02BZ4.7A", "02BZ4_7A", "02BZ4-7A"],
162
+ class: "zener",
163
+ params: {
164
+ breakdownVolts: {
165
+ value: 4.7,
166
+ basis: "derived",
167
+ source: `${DB} zener-reference row RD4.7EB (reverseBreakdownVoltage.typ 4.7, 4.47..4.91)`,
168
+ derivation: "Stamped at the database row's typ. The row's own source names the NEC RD4.7E suffix B " +
169
+ "datasheet table (Vz 4.47..4.91 V) and the Boss NF-1 source graph (D2/D3, 4.7 V); no " +
170
+ "datasheet was re-read at stage 1. Stage 3 must cite the datasheet.",
171
+ },
172
+ },
173
+ },
174
+ {
175
+ partIds: ["RD5.6EB3", "RD-5.6EB3", "RD5.6EB 3", "RD5.6EB-3"],
176
+ class: "zener",
177
+ params: {
178
+ breakdownVolts: {
179
+ value: 5.76,
180
+ basis: "derived",
181
+ source: `${DB} zener-reference row RD5.6EB3 (reverseBreakdownVoltage.typ 5.76, 5.64..5.88)`,
182
+ derivation: "Stamped at the database row's typ; the row cites no source and no datasheet was " +
183
+ "re-read at stage 1. Stage 3 must cite the NEC RD datasheet.",
184
+ },
185
+ },
186
+ },
187
+ {
188
+ partIds: ["RD5.6EB2", "RD-5.6EB2", "RD5.6EB 2", "RD5.6EB-2", "RD5.6JB2", "RD5.6J B2", "RD5.6J-B2"],
189
+ class: "zener",
190
+ params: {
191
+ breakdownVolts: {
192
+ value: 5.58,
193
+ basis: "derived",
194
+ source: `${DB} zener-reference row RD5.6EB2 (reverseBreakdownVoltage.typ 5.58, 5.46..5.7)`,
195
+ derivation: "Stamped at the database row's typ. The row's own source names the NEC RD suffix B2 " +
196
+ "table (5.46..5.70 V); no datasheet was re-read at stage 1. Stage 3 must cite the datasheet.",
197
+ },
198
+ },
199
+ },
200
+ {
201
+ partIds: ["RD6.6EB3", "RD6.6EB 3", "RD6.6EB-3"],
202
+ class: "zener",
203
+ params: {
204
+ breakdownVolts: {
205
+ value: 6.62,
206
+ basis: "derived",
207
+ source: `${DB} zener-reference row RD6.6EB3 (reverseBreakdownVoltage.typ 6.62, 6.49..6.76)`,
208
+ derivation: "Stamped at the database row's typ. The row's own source names the NEC RD zener family " +
209
+ "B3 rank envelope and the Boss DM-3 source graph; no datasheet was re-read at stage 1. " +
210
+ "Stage 3 must cite the datasheet.",
211
+ },
212
+ },
213
+ },
214
+ {
215
+ partIds: ["RD8.2EB3", "RD8.2EB 3", "RD8.2EB-3"],
216
+ class: "zener",
217
+ params: {
218
+ breakdownVolts: {
219
+ value: 8.18,
220
+ basis: "derived",
221
+ source: `${DB} zener-reference row RD8.2EB3 (reverseBreakdownVoltage.typ 8.18, 8.02..8.34)`,
222
+ derivation: "Stamped at the database row's typ. The row's own source names the NEC RD zener family " +
223
+ "B3 rank envelope and the Boss DM-3 source graph; no datasheet was re-read at stage 1. " +
224
+ "Stage 3 must cite the datasheet.",
225
+ },
226
+ },
227
+ },
228
+ {
229
+ partIds: ["MTZ5.6B"],
230
+ class: "zener",
231
+ params: {
232
+ breakdownVolts: {
233
+ value: 5.6,
234
+ basis: "derived",
235
+ source: "Pre-registry catalog value for the packet-declared SOURCE-5V6-ZENER row (BV 5.6)",
236
+ derivation: "MTZ5.6B is the real part behind the packet's source-declared 5.6 V zener row; it has " +
237
+ "no database row and no datasheet was re-read at stage 1. Stage 3 must cite the datasheet.",
238
+ },
239
+ },
240
+ },
241
+ {
242
+ partIds: ["RD11EB3", "RD11EB 3", "RD11EB-3", "RD11E B3", "RD11E-B3"],
243
+ class: "zener",
244
+ params: {
245
+ breakdownVolts: {
246
+ value: 10.99,
247
+ basis: "derived",
248
+ source: `${DB} zener-reference row RD11EB3 (reverseBreakdownVoltage.typ 10.99, 10.82..11.16)`,
249
+ derivation: "Stamped at the database row's typ. The row's own source names the NEC RD11E suffix B3 " +
250
+ "datasheet table (Vz 10.82..11.16 V at Iz=10 mA); no datasheet was re-read at stage 1. " +
251
+ "Stage 3 must cite the datasheet.",
252
+ },
253
+ },
254
+ },
255
+ {
256
+ partIds: ["RD11EB"],
257
+ class: "zener",
258
+ params: {
259
+ breakdownVolts: {
260
+ value: 11,
261
+ basis: "derived",
262
+ source: `${DB} zener-reference row RD11EB (reverseBreakdownVoltage.typ 11, 10.18..11.26)`,
263
+ derivation: "Stamped at the database row's typ (the unbinned part's own row, NEC suffix-B range " +
264
+ "10.18..11.26 V -- not the B3 typical under a shorter name). The row's own source " +
265
+ "additionally names the Boss NF-1 source graph (D1, 11 V); no datasheet was re-read at " +
266
+ "stage 1. Stage 3 must cite the datasheet.",
267
+ },
268
+ },
269
+ },
270
+ {
271
+ partIds: ["0Z11A", "05Z11A"],
272
+ class: "zener",
273
+ params: {
274
+ breakdownVolts: {
275
+ value: 11,
276
+ basis: "derived",
277
+ source: `${DB} zener-reference row 0Z11A (reverseBreakdownVoltage.typ 11)`,
278
+ derivation: "Stamped at the database row's typ. The row's own source is a packet validation " +
279
+ "(boss-sp-1-spectrum-service-supply-island.cir models D1 0Z11A as DZ11 with Bv=11), not " +
280
+ "a datasheet; 05Z11A has no row of its own and shares the 0Z11A figure. No datasheet was " +
281
+ "re-read at stage 1. Stage 3 must cite the datasheet.",
282
+ },
283
+ },
284
+ },
285
+ {
286
+ partIds: ["1N5331"],
287
+ class: "zener",
288
+ params: {
289
+ breakdownVolts: {
290
+ value: 5.1,
291
+ basis: "derived",
292
+ source: `${DB} zener-reference row 1N5331 (reverseBreakdownVoltage.typ 5.1)`,
293
+ derivation: "Stamped at the database row's typ. The row's own source is a packet graph (MXR Noise " +
294
+ "Gate/Line Driver D_ZENER, 5.1 V), not a datasheet; no datasheet was re-read at stage 1. " +
295
+ "Stage 3 must cite the datasheet.",
296
+ },
297
+ },
298
+ },
299
+ {
300
+ partIds: ["RD5.6S", "RD5.6S B3", "RD5.6SB3", "RD5.6S-B3"],
301
+ class: "zener",
302
+ params: {
303
+ breakdownVolts: {
304
+ value: 5.6,
305
+ basis: "derived",
306
+ source: `${DB} zener-reference row RD5.6S (reverseBreakdownVoltage.typ 5.6, 5.48..5.72)`,
307
+ derivation: "Stamped at the database row's typ; the row cites no source and no datasheet was " +
308
+ "re-read at stage 1. Stage 3 must cite the NEC RD datasheet.",
309
+ },
310
+ },
311
+ },
312
+ {
313
+ partIds: ["RD11FB3", "RD11FB-3"],
314
+ class: "zener",
315
+ params: {
316
+ breakdownVolts: {
317
+ value: 11.15,
318
+ basis: "derived",
319
+ source: `${DB} zener-reference row RD11FB3 (reverseBreakdownVoltage.typ 11.15, 10.87..11.43)`,
320
+ derivation: "Stamped at the database row's typ; the row cites no source and no datasheet was " +
321
+ "re-read at stage 1. Stage 3 must cite the NEC RD datasheet.",
322
+ },
323
+ },
324
+ },
325
+ {
326
+ partIds: ["PESD12VL1BA"],
327
+ class: "zener",
328
+ params: {
329
+ breakdownVolts: {
330
+ value: 12,
331
+ basis: "derived",
332
+ source: `${DB} zener-reference row PESD12VL1BA (reverseBreakdownVoltage.typ 12, 11.4..12.6)`,
333
+ derivation: "Stamped at the database row's typ. The row's own source is a support-profile bound " +
334
+ "('Bounded 12 V ESD/protection diode support profile for source-visible protection " +
335
+ "branches'), not a datasheet; no datasheet was re-read at stage 1. Stage 3 must cite " +
336
+ "the datasheet.",
337
+ },
338
+ },
339
+ },
340
+ {
341
+ // Wave 5: 2.5 V nominal-voltage entry (keying per the wave-5 proposal: one entry
342
+ // per nominal voltage; partIds are the exact backlog tokens plus the datasheet
343
+ // part numbers that print that Vz). No 2V5-style token exists in the backlog;
344
+ // the entry serves the 1N5222B backlog row.
345
+ partIds: ["1N5222B"],
346
+ class: "zener",
347
+ params: {
348
+ breakdownVolts: {
349
+ value: 2.5,
350
+ basis: "datasheet",
351
+ source: "onsemi 1N5221B-1N5252B (1N5221B/D, Nov 2023 Rev. 5) p2, ELECTRICAL " +
352
+ "CHARACTERISTICS (TA = 25C): '1N5222B: VZ MIN 2.375 TYP 2.5 MAX 2.625 V @ IZ = 20 mA'",
353
+ },
354
+ },
355
+ },
356
+ {
357
+ // Wave 5: 2.7 V nominal-voltage entry. Token 2V7 plus the onsemi 500 mW number.
358
+ partIds: ["2V7", "1N5223B"],
359
+ class: "zener",
360
+ params: {
361
+ breakdownVolts: {
362
+ value: 2.7,
363
+ basis: "datasheet",
364
+ source: "onsemi 1N5221B-1N5252B (1N5221B/D, Nov 2023 Rev. 5) p2, ELECTRICAL " +
365
+ "CHARACTERISTICS (TA = 25C): '1N5223B: VZ MIN 2.565 TYP 2.7 MAX 2.835 V @ IZ = 20 mA'",
366
+ },
367
+ },
368
+ },
369
+ {
370
+ // Wave 5: 3.3 V nominal-voltage entry. Token 3V3 plus the 1 W and 500 mW numbers.
371
+ partIds: ["3V3", "1N4728A", "1N5226B"],
372
+ class: "zener",
373
+ params: {
374
+ breakdownVolts: {
375
+ value: 3.3,
376
+ basis: "datasheet",
377
+ source: "onsemi 1N4728A-1N4758A (1N4736AT/D, Aug 2021 Rev. 10) p2, ELECTRICAL " +
378
+ "CHARACTERISTICS (Ta = 25C): '1N4728A: VZ MIN 3.135 TYP 3.3 MAX 3.465 V @ IZ = 76 mA'; " +
379
+ "onsemi 1N5221B-1N5252B (1N5221B/D, Nov 2023 Rev. 5) p2: '1N5226B: VZ MIN 3.135 " +
380
+ "TYP 3.3 MAX 3.465 V @ IZ = 20 mA' (GenSemi 1N5225-1N5267 1999-01-21 p2 corroborates " +
381
+ "'1N5226: Nominal VZ 3.3 V at IZT = 20 mA')",
382
+ },
383
+ },
384
+ },
385
+ {
386
+ // Wave 5: 3.6 V nominal-voltage entry. Token 3V6 plus the 500 mW numbers (the
387
+ // 1 W onsemi table skips 3.6 V). 1N747A stays uncovered: Central Semi prints
388
+ // the 3.6 V nominal but its test current could not be verified here (two fetch
389
+ // attempts failed), so no cited row exists for it.
390
+ partIds: ["3V6", "1N5227B", "1N5227"],
391
+ class: "zener",
392
+ params: {
393
+ breakdownVolts: {
394
+ value: 3.6,
395
+ basis: "datasheet",
396
+ source: "onsemi 1N5221B-1N5252B (1N5221B/D, Nov 2023 Rev. 5) p2, ELECTRICAL " +
397
+ "CHARACTERISTICS (TA = 25C): '1N5227B: VZ MIN 3.42 TYP 3.6 MAX 3.78 V @ IZ = 20 mA'; " +
398
+ "GenSemi 1N5225-1N5267 (1999-01-21) p2: '1N5227: Nominal VZ 3.6 V at IZT = 20 mA' " +
399
+ "(base number; the sheet heads the series 'Standard Zener voltage tolerance is " +
400
+ "+-5% with a B suffix')",
401
+ },
402
+ },
403
+ },
404
+ {
405
+ // Wave 5: 4.7 V nominal-voltage entry. Absorbs the stage-1 derived 1N5230 row
406
+ // (same 4.7 V value, now cited).
407
+ partIds: ["4V7", "1N4732A", "1N5230B", "1N5230"],
408
+ class: "zener",
409
+ params: {
410
+ breakdownVolts: {
411
+ value: 4.7,
412
+ basis: "datasheet",
413
+ source: "onsemi 1N4728A-1N4758A (1N4736AT/D, Aug 2021 Rev. 10) p2, ELECTRICAL " +
414
+ "CHARACTERISTICS (Ta = 25C): '1N4732A: VZ MIN 4.465 TYP 4.7 MAX 4.935 V @ IZ = 53 mA'; " +
415
+ "onsemi 1N5221B-1N5252B (1N5221B/D, Nov 2023 Rev. 5) p2: '1N5230B: VZ MIN 4.465 " +
416
+ "TYP 4.7 MAX 4.935 V @ IZ = 20 mA' (GenSemi p2 corroborates '1N5230: 4.7 V at 20 mA')",
417
+ },
418
+ },
419
+ },
420
+ {
421
+ // Wave 5: 5.1 V nominal-voltage entry. Absorbs the four stage-1 derived 5.1 V
422
+ // rows (1N4733A, 1N5231, 1N5231B, 1N4733; same value, now cited). 1N5331 keeps
423
+ // its own derived row: it is a 5 W part outside both series tables quoted here.
424
+ partIds: ["5V1", "1N4733A", "1N5231B", "1N5231", "1N4733"],
425
+ class: "zener",
426
+ params: {
427
+ breakdownVolts: {
428
+ value: 5.1,
429
+ basis: "datasheet",
430
+ source: "onsemi 1N4728A-1N4758A (1N4736AT/D, Aug 2021 Rev. 10) p2, ELECTRICAL " +
431
+ "CHARACTERISTICS (Ta = 25C): '1N4733A: VZ MIN 4.845 TYP 5.1 MAX 5.355 V @ IZ = 49 mA'; " +
432
+ "onsemi 1N5221B-1N5252B (1N5221B/D, Nov 2023 Rev. 5) p2: '1N5231B: VZ MIN 4.845 " +
433
+ "TYP 5.1 MAX 5.355 V @ IZ = 20 mA' (GenSemi p2 corroborates '1N5231: 5.1 V at 20 mA')",
434
+ },
435
+ },
436
+ },
437
+ {
438
+ // Wave 5: 5.6 V nominal-voltage entry (no voltage token in the backlog; serves
439
+ // the 1N5232B row).
440
+ partIds: ["1N4734A", "1N5232B", "1N5232"],
441
+ class: "zener",
442
+ params: {
443
+ breakdownVolts: {
444
+ value: 5.6,
445
+ basis: "datasheet",
446
+ source: "onsemi 1N4728A-1N4758A (1N4736AT/D, Aug 2021 Rev. 10) p2, ELECTRICAL " +
447
+ "CHARACTERISTICS (Ta = 25C): '1N4734A: VZ MIN 5.32 TYP 5.6 MAX 5.88 V @ IZ = 45 mA'; " +
448
+ "onsemi 1N5221B-1N5252B (1N5221B/D, Nov 2023 Rev. 5) p2: '1N5232B: VZ MIN 5.32 " +
449
+ "TYP 5.6 MAX 5.88 V @ IZ = 20 mA' (GenSemi p2 corroborates '1N5232: 5.6 V at 20 mA')",
450
+ },
451
+ },
452
+ },
453
+ {
454
+ // Wave 5: 6.2 V nominal-voltage entry. Token 6V2 plus the 1 W and 500 mW numbers.
455
+ partIds: ["6V2", "1N4735A", "1N5234B", "1N5234"],
456
+ class: "zener",
457
+ params: {
458
+ breakdownVolts: {
459
+ value: 6.2,
460
+ basis: "datasheet",
461
+ source: "onsemi 1N4728A-1N4758A (1N4736AT/D, Aug 2021 Rev. 10) p2, ELECTRICAL " +
462
+ "CHARACTERISTICS (Ta = 25C): '1N4735A: VZ MIN 5.89 TYP 6.2 MAX 6.51 V @ IZ = 41 mA'; " +
463
+ "onsemi 1N5221B-1N5252B (1N5221B/D, Nov 2023 Rev. 5) p2: '1N5234B: VZ MIN 5.89 " +
464
+ "TYP 6.2 MAX 6.51 V @ IZ = 20 mA' (GenSemi p2 corroborates '1N5234: 6.2 V at 20 mA')",
465
+ },
466
+ },
467
+ },
468
+ {
469
+ // Wave 5: 8.2 V nominal-voltage entry. Token 8V2 plus the 1 W and 500 mW numbers.
470
+ partIds: ["8V2", "1N4738A", "1N5237B", "1N5237"],
471
+ class: "zener",
472
+ params: {
473
+ breakdownVolts: {
474
+ value: 8.2,
475
+ basis: "datasheet",
476
+ source: "onsemi 1N4728A-1N4758A (1N4736AT/D, Aug 2021 Rev. 10) p2, ELECTRICAL " +
477
+ "CHARACTERISTICS (Ta = 25C): '1N4738A: VZ MIN 7.79 TYP 8.2 MAX 8.61 V @ IZ = 31 mA'; " +
478
+ "onsemi 1N5221B-1N5252B (1N5221B/D, Nov 2023 Rev. 5) p2: '1N5237B: VZ MIN 7.79 " +
479
+ "TYP 8.2 MAX 8.61 V @ IZ = 20 mA' (GenSemi p2 corroborates '1N5237: 8.2 V at 20 mA')",
480
+ },
481
+ },
482
+ },
483
+ {
484
+ // Wave 5: 9.1 V nominal-voltage entry. Absorbs the stage-1 derived 1N5239B row
485
+ // (same 9.1 V value, now cited). 1N4739 non-A shares the A-row nominal (the
486
+ // registered 1N4742/1N4742A precedent).
487
+ partIds: ["9V1", "1N4739A", "1N4739", "1N5239B", "1N5239"],
488
+ class: "zener",
489
+ params: {
490
+ breakdownVolts: {
491
+ value: 9.1,
492
+ basis: "datasheet",
493
+ source: "onsemi 1N4728A-1N4758A (1N4736AT/D, Aug 2021 Rev. 10) p2, ELECTRICAL " +
494
+ "CHARACTERISTICS (Ta = 25C): '1N4739A: VZ MIN 8.645 TYP 9.1 MAX 9.555 V @ IZ = 28 mA'; " +
495
+ "onsemi 1N5221B-1N5252B (1N5221B/D, Nov 2023 Rev. 5) p2: '1N5239B: VZ MIN 8.645 " +
496
+ "TYP 9.1 MAX 9.555 V @ IZ = 20 mA' (GenSemi p2 corroborates '1N5239: 9.1 V at 20 mA')",
497
+ },
498
+ },
499
+ },
500
+ {
501
+ // Wave 5: 10 V nominal-voltage entry (no voltage token in the backlog; serves
502
+ // the 1N5240B row).
503
+ partIds: ["1N4740A", "1N5240B", "1N5240"],
504
+ class: "zener",
505
+ params: {
506
+ breakdownVolts: {
507
+ value: 10,
508
+ basis: "datasheet",
509
+ source: "onsemi 1N4728A-1N4758A (1N4736AT/D, Aug 2021 Rev. 10) p2, ELECTRICAL " +
510
+ "CHARACTERISTICS (Ta = 25C): '1N4740A: VZ MIN 9.5 TYP 10 MAX 10.5 V @ IZ = 25 mA'; " +
511
+ "onsemi 1N5221B-1N5252B (1N5221B/D, Nov 2023 Rev. 5) p2: '1N5240B: VZ MIN 9.5 " +
512
+ "TYP 10 MAX 10.5 V @ IZ = 20 mA' (GenSemi p2 corroborates '1N5240: 10 V at 20 mA')",
513
+ },
514
+ },
515
+ },
516
+ {
517
+ // Wave 5: 12 V nominal-voltage entry. Absorbs the stage-1 derived 1N4742A row
518
+ // (same 12 V value, now cited; 1N4742 non-A shares it as before).
519
+ partIds: ["12V", "1N4742A", "1N4742", "1N5242B", "1N5242"],
520
+ class: "zener",
521
+ params: {
522
+ breakdownVolts: {
523
+ value: 12,
524
+ basis: "datasheet",
525
+ source: "onsemi 1N4728A-1N4758A (1N4736AT/D, Aug 2021 Rev. 10) p2, ELECTRICAL " +
526
+ "CHARACTERISTICS (Ta = 25C): '1N4742A: VZ MIN 11.4 TYP 12 MAX 12.6 V @ IZ = 21 mA'; " +
527
+ "onsemi 1N5221B-1N5252B (1N5221B/D, Nov 2023 Rev. 5) p2: '1N5242B: VZ MIN 11.4 " +
528
+ "TYP 12 MAX 12.6 V @ IZ = 20 mA' (GenSemi p2 corroborates '1N5242: 12 V at 20 mA')",
529
+ },
530
+ },
531
+ },
532
+ {
533
+ // Wave 5: 13 V nominal-voltage entry (no voltage token in the backlog; serves
534
+ // the 1N4743A row).
535
+ partIds: ["1N4743A"],
536
+ class: "zener",
537
+ params: {
538
+ breakdownVolts: {
539
+ value: 13,
540
+ basis: "datasheet",
541
+ source: "onsemi 1N4728A-1N4758A (1N4736AT/D, Aug 2021 Rev. 10) p2, ELECTRICAL " +
542
+ "CHARACTERISTICS (Ta = 25C): '1N4743A: VZ MIN 12.35 TYP 13 MAX 13.65 V @ IZ = 19 mA'",
543
+ },
544
+ },
545
+ },
546
+ ]);
547
+ //# sourceMappingURL=zener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zener.js","sourceRoot":"","sources":["../../src/registry-data/zener.ts"],"names":[],"mappings":"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"}
@@ -168,6 +168,22 @@ export declare function pinoutMatches(pinout: PartPinout, terminalRoles: readonl
168
168
  import type { FirmwareEvidence } from "./firmware-class";
169
169
  import type { TerminalProfile } from "./terminal-role";
170
170
  import type { ProxyDeclaration } from "./proxy-declaration";
171
+ /**
172
+ * One provisional parameter an entry's law carries: the registry parameter name and
173
+ * the `community` source URL its value was taken from.
174
+ *
175
+ * Stamped by the `registry-data` builders (`bjtLawEntry`, `diodeLawEntry`,
176
+ * `fetLawEntry`, the op-amp gain-bandwidth and output-swing passes) from the record's
177
+ * `community`-basis parameters, so the compiler can name every device that runs on a
178
+ * provisional value without importing any part data. Absent or empty means the entry
179
+ * carries no provisional value.
180
+ */
181
+ export type ProvisionalParam = {
182
+ /** The registry parameter name, e.g. `saturationCurrent`. */
183
+ readonly name: string;
184
+ /** The community source URL the value was taken from. */
185
+ readonly url: string;
186
+ };
171
187
  export type PartEntry = {
172
188
  /** Matched whole and case-folded against a device's part number. */
173
189
  readonly partIds: readonly string[];
@@ -187,6 +203,13 @@ export type PartEntry = {
187
203
  * reproduce. Absent means the entry asserts it models the part.
188
204
  */
189
205
  readonly proxy?: ProxyDeclaration;
206
+ /**
207
+ * **Provisional parameters this entry's law carries.** Each names a registry
208
+ * parameter whose value came from a `community` source, with that source's URL.
209
+ * See `ProvisionalParam`. Absent or empty means the entry carries no provisional
210
+ * value, and nothing about the entry changes: the law stamps exactly as before.
211
+ */
212
+ readonly provisionalParams?: readonly ProvisionalParam[];
190
213
  /**
191
214
  * **Whether this chip's behaviour comes from a program — typed, with positive evidence.**
192
215
  * Absent means `undetermined`, which is **not** a scope boundary. See `firmware-class.ts`: the
@@ -207,6 +230,20 @@ export type PartEntry = {
207
230
  * Absent means no datasheet figure is recorded, and the part draws nothing, as before.
208
231
  */
209
232
  readonly quiescentSupplyAmps?: number;
233
+ /**
234
+ * **A charge pump's fixed open-circuit shortfall below ideal inversion, in volts,
235
+ * from its datasheet.**
236
+ *
237
+ * Present only on single-section `voltage-source` entries that model a
238
+ * switched-capacitor inverter: the derived rail is
239
+ * `-(inputVolts) - sign * chargePumpLossVolts` with the section law's `sourceOhms`
240
+ * carrying the load-dependent drop (see `pumpDerivation` in `device-laws.ts`).
241
+ * The CMOS 7660 family prints ~99.9% open-circuit conversion efficiency and so
242
+ * carries 0; the LT1054 prints a loss table (0.35 V TYP at 10 mA, TI SLVS033G p5)
243
+ * and carries that. Absent means the entry is not a pump model and the derivation
244
+ * never reads it.
245
+ */
246
+ readonly chargePumpLossVolts?: number;
210
247
  /**
211
248
  * **What each terminal IS, with per-terminal evidence.** Absent means `unpopulated`, which is a
212
249
  * correct state rather than a gap: a consumer that needs audio terminals must fall back to
@@ -313,17 +350,35 @@ export declare function foldToken(value: string | undefined | null): string;
313
350
  * a silent one is what let every amp in the corpus run a 6V6 fit.
314
351
  */
315
352
  export declare function registryLawFor(registry: PartRegistry, partNumber: string | null, lawKind: DeviceLaw["kind"]): DeviceLaw | null;
353
+ /** A part's printed output swing, as the registry states it. See `DeviceLaw` `outputSwingDropHighVolts`. */
354
+ export type OpampOutputSwing = {
355
+ readonly highVolts: number;
356
+ readonly lowVolts: number;
357
+ readonly printed: NonNullable<Extract<DeviceLaw, {
358
+ kind: "ideal-opamp";
359
+ }>["outputSwingPrinted"]>;
360
+ };
361
+ /**
362
+ * The output-swing pair, with the condition it was printed at, from an `ideal-opamp` law, or `null`
363
+ * when the law states none. **Both of the pair or neither, and the printed condition exactly when the
364
+ * pair is**: a law that states a half, or a pair with no condition, or a condition with no pair, is a
365
+ * table error and throws, naming the part. Nothing here guesses a missing side from the other.
366
+ */
367
+ export declare function opampOutputSwingOf(law: Extract<DeviceLaw, {
368
+ kind: "ideal-opamp";
369
+ }>, partId: string): OpampOutputSwing | null;
316
370
  /**
317
- * How far a part's output stops short of each supply rail, from the registry entry that names
318
- * it, or `null` when the part is not in the registry or states none (the rails are then used as
319
- * they are). Read from either an `ideal-opamp` law entry or the first section of a `sections`
320
- * entry, because a declared `opamp` device never reaches the section lowering.
371
+ * How far a part's output stops short of each supply rail, as its datasheet prints it, from the
372
+ * registry entry that names it by exact folded part id, or `null` when the part is not in the registry
373
+ * or its entry states none (the rails are then used as they are). Read from either an `ideal-opamp` law
374
+ * entry or the first section of a `sections` entry, because a declared `opamp` device never reaches the
375
+ * section lowering. Throws on a half-stated pair (`opampOutputSwingOf`).
321
376
  */
322
- export declare function registryOpampSwingDrop(registry: PartRegistry, partNumber: string | null): number | null;
377
+ export declare function registryOpampSwing(registry: PartRegistry, partNumber: string | null): OpampOutputSwing | null;
323
378
  /**
324
379
  * The gain-bandwidth product, in hertz, that a part's datasheet states, from the registry entry
325
380
  * that names it by exact part id, or `null` when the part is not in the registry or its entry states
326
- * none. Read the same way as `registryOpampSwingDrop` -- from an `ideal-opamp` law entry or the first
381
+ * none. Read the same way as `registryOpampSwing` -- from an `ideal-opamp` law entry or the first
327
382
  * section of a `sections` entry -- and for the same reason: a declared `opamp` device never reaches
328
383
  * the section lowering, so this is the only door through which the catalog's figure reaches it.
329
384
  *