SIPI / model contracts
Interactive model assumptions and evidence
Each interactive panel uses a model with a defined scope. This page publishes the contract for all 28 panels: the topology, the reference planes, the equations, the units, the range over which it is valid, how it is computed, and the evidence available for its behavior.
How to read the evidence labels
Evidence can support several different kinds of conclusions. A model that computes its own formula correctly, a model that behaves plausibly, and a model that agrees with an independent check are three different claims, and collapsing them into one label would blur those distinctions, so the site reports the evidence category explicitly.
Arithmetic, or a closed form, with no modelling assumption beyond the waveform or topology named. Read the stated precision and scope.
A closed form under stated physical assumptions. Exact for the circuit described; the assumptions are where it departs from a real one, and they are listed.
The answer depends on a grid — an FFT length, a quadrature, a sweep. Convergence bounds are stated, and a scenario that does not meet them returns no number rather than a wrong one.
The model is intended to explain a mechanism or qualitative shape. Its numbers are for teaching and are not intended for a design budget.
The model computes the stated relation. An independent comparison has not been recorded for this result.
Physically reasonable and useful for teaching. Deliberately simplified, with no independent validation recorded.
Agrees with an independent model, an analytical limit or a conservation law that does not reuse the implementation result.
Matches a named, cited specification. No panel on this site claims this level.
The fourth level is listed for reference and is currently unused. These model labels do not claim validation against a published specification. Where a page states a specification claim, it is recorded in the claim ledger with its status, and most of those are still awaiting a primary source.
Kind and evidence answer different questions. A deliberately simplified model can have rigorously checked arithmetic: the PDN-induced jitter panel is a first-order loop rather than a solved PLL, and the behaviour that matters — that its three injection points are treated oppositely — is asserted by the model gate.
This page is generated by python3 scaffold.py contract from the same file
the build gate validates, so what is published here and what is enforced cannot drift
apart.
criticalLength
exact model computed v2.0 · reviewed 2026-09-12Compare the round trip against the edge.
- Topology
- One uniform line.
- Reference planes
- Both ends.
- Equations
2*Td > tr/3tpd=84.7*sqrt(Dk_eff) ps/in
- Units
- ps, in
- Validity
- One driver, one receiver, uniform line, lossless.
- Numerics
- Exact arithmetic.
- Known limitations
- One driver, one receiver, uniform line, lossless.
- Evidence
- check-numbers.py — tpd for stripline and microstrip recomputed.
loss
illustrative model computed v2.0 · reviewed 2026-09-12Show the two loss terms crossing, and where the crossover moves.
- Topology
- One uniform line; attenuation per unit length only.
- Reference planes
- Per inch — a rate, not a channel.
- Equations
a = kc*sqrt(f) + kd*fdelta=sqrt(rho/(pi*f*mu))
- Units
- Hz, dB/in, um
- Validity
- A FIT, not a geometry solve. Roughness shown as shape, not a calibrated prediction.
- Numerics
- Direct evaluation.
- Known limitations
- A FIT, not a geometry solve. Roughness shown as shape, not a calibrated prediction.
- Evidence
- check-numbers.py — skin depth at 1 and 10 GHz recomputed.
adcLab
numerical model independent v1.0 · reviewed 2026-09-18Say where a coupled digital aggressor lands in a converter's output — as spurs, as offset, or as raised noise — and what that does to SNR, for a SAR and a delta-sigma converter fed the same disturbance.
- Topology
- Two converters, one aggressor. SAR: ideal bipolar sample-and-hold, then N bit trials spread over the first half of the sample period, each comparing the held input with a DAC scaled by the reference at that trial's own instant. Delta-sigma: discrete-time, second order, one bit, reference multiplying the feedback DAC, followed by sinc-cubed decimation of length 3·OSR−2. The aggressor is a 50%-duty trapezoid with linear edges through a single RC pole, in periodic steady state.
- Reference planes
- Injection at the converter input or at its reference, chosen explicitly. Observation is the decimated output record for the delta-sigma and the code record for the SAR; the modulator bitstream is separately observable. The aggressor is evaluated in the time domain at the exact instants the converter uses it — the sampling instant for the input path, each bit trial for the SAR reference, each modulator clock for the delta-sigma.
- Equations
aggressor: 50%-duty trapezoid, 10-90% rise/fall, full ramp = that / 0.8, through one pole at the path bandwidthflat coupling: v = G·y(t); capacitive: v = G·(f_bw/f_ref)·(x - y), i.e. G/(2*pi*f_ref)·dy/dt with G stated at f_ref = 1 MHzfold: f_out = |f - round(f/fs)·fs|SAR trial j: c <- c + 2^(N-1-j) if h >= (Vref + d(t_j))·(2c/2^N - 1)delta-sigma, for the implemented ordering: X1 = (U-V)/(1-z^-1), X2 = (X1-V)/(1-z^-1), V = z^-1·X2 + E, giving V = z^-1·U + (1-z^-1)^2·E because (1-z^-1)^2 + z^-1(2-z^-1) = 1sinc-cubed: three cascaded length-OSR moving averages; |H(f)| = |sin(pi·f·OSR/fmod)/(OSR·sin(pi·f/fmod))|^3SNR excludes the fundamental, input harmonics 2-6 and DC, each +/-4 bins; interference counts as noise
- Units
- Hz, seconds, volts, dBFS, dB, LSB, ppm
- Validity
- Ideal comparator, DAC, sample-and-hold and clocks. One periodic trapezoidal aggressor. Oversampling is capped at 256 so a run stays interactive. Every parameter is checked against a declared domain before a run — enums, a finite positive reference, whole-number resolution 6-24 and oversampling 8-1024, an input below Nyquist and at or below full scale, finite non-negative noise, swing, phase, ppm, coupling and bandwidth, a positive rise/fall time — and a value outside it is refused with its reason. A reference driven to zero or below is refused, and so is an overloaded loop.
- Numerics
- SAR 65,536 samples at 16 bits. Delta-sigma output records are chosen from the oversampling ratio to hold the cost near a million modulator samples: 16,384 outputs at OSR 32 and 64, 8,192 at 128, 4,096 at 256, after a warm-up of 4,096 + 8·OSR modulator samples plus a full decimator kernel. Coherent input: an odd number of cycles in a power-of-two record, kept two lobes clear of DC and Nyquist. 4-term Blackman-Harris window, lobes summed over +/-4 bins. Deterministic noise seed. One run is synchronous and cannot be cancelled part way: measured at 14 ms for the SAR and 38-89 ms for the delta-sigma, so a dragged control coalesces to one run.
- Known limitations
- No clock jitter or aperture uncertainty, no supply or ground bounce as a separate path, no DAC mismatch, no continuous-time or multi-bit modulator, no anti-alias filter beyond the single path pole. DNL and INL are named as mechanisms and are NOT measured: there is no static ramp or histogram test here, and THD is not a substitute for one. Interference that folds inside an excluded lobe is excluded with it and does not reduce the reported SNR, however large it is; diagnostics.masked names any such component and measurements.maskedCount counts them. The excluded bins carry no measurable noise of their own, so the measured average density stands in for them: exact for white noise, and otherwise bounded by the replaced fraction, which is under 0.2% of bins and so under 0.01 dB. The reference-ripple mixing shown is a property of this loop and does not transfer unchanged to a continuous-time or multi-bit modulator. Nothing here is a compliance measurement.
- Evidence
- check-models.js, eight named suites, 47 assertions, none of which re-runs the model's own formulas. The loop's transfer function is checked by inverting its claim: the double integral of (V - z^-1·U) must BE the quantization error, bounded by the reference plus the overload threshold and consistent with the decision that produced it, which holds at 7.73 V against a 42.5 V bound with no sign violations and fails at 130 V for any other delay. Spur levels come from the trapezoid's Fourier series through a least-squares tone fit to the output record, agreeing within 0.2 dB. Ideal SAR SNR is checked against 6.02N + 1.76 at 10, 12 and 16 bits; the delta-sigma against 15.05 dB per doubling and the closed-form 1-bit second-order limit. Folds are checked against a remainder-and-mirror construction. The decimator is checked against the properties of three cascaded boxcars. Scenario prose is guarded separately by tests/check-adc-integration.js (56 values) and the page's closed forms by check-numbers.py (21). Twelve planted faults in mutate.js, each required to fail the assertion that claims it.
antiResonance
analytical model independent v2.0 · reviewed 2026-09-12Show a peak appearing between two capacitor banks, and what damps it.
- Topology
- Two RLC branches in parallel, plus the VRM branch.
- Reference planes
- One port at the load.
- Equations
Zpeak ~ L/(R*C)fSRF=1/(2*pi*sqrt(LC))
- Units
- Hz, ohm
- Validity
- Lumped; no plane modes.
- Numerics
- Direct complex evaluation; explicit no-peak state when none exists.
- Known limitations
- Lumped; no plane modes.
- Evidence
- check-models.js — PDN (anti-resonance exists and is damped by R; no phantom peak when flat).
bathtub
analytical model independent v2.0 · reviewed 2026-09-12Show the measured region and the extrapolated region as different things.
- Topology
- Dual-Dirac: two impulses separated by DJ, convolved with a Gaussian.
- Reference planes
- Receiver decision point.
- Equations
BER(t)=0.5[Q((t-DJ/2)/s)+Q((UI-DJ/2-t)/s)]TJ=DJpp+2*Q(BER)*RJrms
- Units
- UI, s
- Validity
- Dual-Dirac is a FIT, not a measurement of the deterministic width.
- Numerics
- erfc below x=3, asymptotic series above; explicit empty result when no interval meets the target.
- Known limitations
- Dual-Dirac is a FIT, not a measurement of the deterministic width.
- Evidence
- check-models.js — Bathtub (closed eye returns no interval; crossings match the analytic Q inverse).
cdr
analytical model independent v2.1 · reviewed 2026-09-13Separate the three functions a clock-recovery loop defines: input jitter onto the recovered clock, the residual phase error at the decision, and the input jitter the receiver can withstand.
- Topology
- Second-order type-2 loop. No phase-detector model, no VCO model, no data pattern.
- Reference planes
- Phase at the receiver's decision instant, relative to the incoming data.
- Equations
H(s) = (2*zeta*wn*s + wn^2) / (s^2 + 2*zeta*wn*s + wn^2)residual = COMPLEX 1 - H(f), never 1 - |H(f)|tolerance = margin / |1 - H(f)|, capped by a declared tracking ceilingf3dB: u^2 - (2 + 4*zeta^2)*u - 1 = 0 with u = (w/wn)^2, so f3dB = fn*sqrt(root)steady-state sinusoid: recovered phase = H(f) times input phase; residual = input - recovered
- Units
- Hz, seconds, UI peak-to-peak, dimensionless transfer
- Validity
- A teaching loop with declared parameters: natural frequency, damping and sampling margin. The sinusoidal experiment is the steady-state small-signal response after settling. The low-frequency tracking ceiling is DECLARED, not derived — a real one comes from the phase detector's range and the VCO's tuning. fn is the NATURAL frequency and is reported separately from the closed-loop -3 dB bandwidth, which is 1.58x to 3.37x higher depending on damping.
- Numerics
- Direct complex evaluation on 340 log-spaced points from 1 kHz to 1 GHz; 181 analytic sinusoidal samples over three periods at the selected frequency.
- Known limitations
- Not a lock or acquisition transient, cycle-slip model, BER simulation, or compliance jitter-tolerance mask. A mask carries a BER target, a defined pattern, the phase detector's own characteristic and usually a measured low-frequency corner. This model has none of those, and the dashed part of the tolerance curve is an assumption drawn as one. No noise model: the panel makes no claim about how much of the loop's own reference noise reaches the recovered clock, because that needs a spectrum and an injection point and neither is here. The tracking ceiling is a DECLARED assumption, not a derived result, and where it binds the tolerance no longer scales with the sampling margin.
- Evidence
- check-models.js — CDR loop: the analytic asymptotes (|1-H| -> 1 far above the loop so tolerance equals the bare margin; |1-H| -> (f/fn)^2 far below), H(0) = 1 exactly, the complex complement distinguished from 1 - |H|, and type-2 peaking present at every damping. N3-1: the -3 dB bandwidth is checked against a closed form solved by hand from |H|^2 = 1/2 and, independently, against where the swept |H| crosses 1/sqrt(2) with log-interpolation between grid samples. The residual peak is asserted to EXCEED unity whenever the loop is underdamped, and the worst tolerance to fall below the sampling margin with it. Three assertions record that a fixed axis limit of 3, and a tolerance floor of half the margin, would clip the extrema the damping control exists to produce.
crosstalk
analytical model independent v2.0 · reviewed 2026-09-12Show why near-end saturates and far-end accumulates.
- Topology
- Single coupled pair, uniform section, weak coupling.
- Reference planes
- Both ends of the victim.
- Equations
Kb=(Lm/L0+Cm/C0)/4Kfe proportional to (Lm/L0-Cm/C0)
- Units
- ps, mV
- Validity
- Weak coupling, ratios <= 0.30. One aggressor, not a bus.
- Numerics
- Closed form superposition over the coupled length.
- Known limitations
- Weak coupling, ratios <= 0.30. One aggressor, not a bus.
- Evidence
- check-models.js — Crosstalk (FEXT cancels when the ratios are equal; NEXT saturates past tr/2tpd).
equalizer
analytical model independent v2.0 · reviewed 2026-09-12Separate what each equaliser block can and cannot reach.
- Topology
- Shared channel impulse, then CTLE and/or DFE.
- Reference planes
- Receiver input and slicer input.
- Equations
H(s)=(1+s/wz)/((1+s/wp1)(1+s/wp2))DFE subtracts h[k]*a[n-k] for k>0
- Units
- UI, V
- Validity
- Ideal or decision-directed DFE as selected; no adaptation dynamics.
- Numerics
- Half-open tap window; CTLE normalised to unity peak gain.
- Known limitations
- Ideal or decision-directed DFE as selected; no adaptation dynamics.
- Evidence
- check-models.js — CTLE (causality, normalisation) and DFE (exact cancellation, window width).
eye
numerical model independent v2.0 · reviewed 2026-09-12Build an eye from bits and state what the run supports.
- Topology
- Shared channel impulse plus Gaussian jitter.
- Reference planes
- Receiver input.
- Equations
superposition of 858 symbols; rule of three for the evidence floor
- Units
- ps, mV
- Validity
- Fixed sampling phase; no adaptation. 858 symbols evidences 3.5e-3, not a compliance BER.
- Numerics
- Seeded LFSR and seeded Gaussians — reproducible.
- Known limitations
- Fixed sampling phase; no adaptation. 858 symbols evidences 3.5e-3, not a compliance BER.
- Evidence
- check-models.js — Evidence suite (13 assertions) guards the BER floor claim.
impairments
analytical model independent v2.0 · reviewed 2026-09-12Compare four impairments on one consistent channel, as counterfactuals rather than a decomposition.
- Topology
- Two-term loss law, one through-section discontinuity, source and load mismatch, up to four FEXT aggressors.
- Reference planes
- Transmitter output to receiver input. No package.
- Equations
S21_disc=2/(2cos+j(r+1/r)sin)S11_in=S11_disc*e^-j2wTd1 + S21_disc^2*GL*H^2*e^-j2wTdecho = Gs.GL * H^2 * direct, delayed by 2*Td (first term of a geometric series in Gs.GL)
- Units
- s, V, ohm, dB
- Validity
- FIRST ORDER in the reflection coefficients: one source-load round trip is kept and the (Gs.GL)^2 terms and beyond are dropped. The relative size of what is dropped is |Gs.GL|, measured at 0.06% to 0.71% of the retained echo across the released presets and 6.3% at the controls' extremes — so it is accurate here, but it is an expansion and not a cascade. Single-ended; fixed CTLE+DFE, not adapting. For a network with every internal re-reflection included exactly, see labChannel, which cascades ABCD matrices instead.
- Numerics
- 4096-point FFT, 32 samples/UI, 420 symbols.
- Known limitations
- An expansion truncated at first order, not an exact network. It also uses the two-term magnitude loss law with a minimum phase, not the causal material model that labChannel now uses, so its phase is reconstructed rather than derived.
- Evidence
- check-models.js — Networks and Impairment chain: the through-section loses at most 0.0481 dB and never notches, the echo is Gs.GL rather than GL^2, and the truncated series is bounded by |Gs.GL| of the retained term over the whole released range.
isi
numerical model independent v2.0 · reviewed 2026-09-12Show a channel's memory as specific earlier bits.
- Topology
- Shared channel impulse; cursor and neighbours.
- Reference planes
- Receiver sampling instant.
- Equations
y[n]=h0*a[n] + sum h[k]*a[n-k]
- Units
- UI, mV
- Validity
- Linear time-invariant channel; no equaliser unless stated.
- Numerics
- Shared kit channel; cursor at the single-bit peak.
- Known limitations
- Linear time-invariant channel; no equaliser unless stated.
- Evidence
- check-models.js — CTLE and DFE suites share this channel model.
jitter
analytical model independent v2.0 · reviewed 2026-09-12Show how TJ depends on the BER you name.
- Topology
- As bathtub.
- Reference planes
- Receiver decision point.
- Equations
Q(BER) by bisection on the Gaussian tail integral
- Units
- ps, UI
- Validity
- Gaussian tails assumed; a periodic component is fitted badly.
- Numerics
- Same erfc treatment as the bathtub.
- Known limitations
- Gaussian tails assumed; a periodic component is fitted badly.
- Evidence
- check-models.js — Bathtub suite, shared model.
labChannel
analytical model independent v3.2 · reviewed 2026-09-13Show one network in six domains at once, and link a post-cursor back to the bit that caused it.
- Topology
- ABCD cascade: causal lossy line, optional mismatched section, optional open stub, causal lossy line. 50 ohm source and load.
- Reference planes
- Both ports referenced to a real 50 ohm. No package, no connector, no die. Transport delay de-embedded as an exact integer sample rotation and reported separately.
- Equations
z'(f)=Rs(f)(1+j)+jwL, y'(f)=jw*Cvac*eps_r(f)gamma=sqrt(z'y'), Zc=sqrt(z'/y')eps_r(f) = Djordjevic-Sarkar wideband Debye, decades 1e4 to 1e13A=D=cosh(gamma*l), B=Zc*sinh(gamma*l), C=sinh(gamma*l)/ZcS21=2/(A+B/Z0+C*Z0+D)
- Units
- Hz, s, ohm, V. Loss referenced to a FIXED 8 GHz belonging to the board, not to the symbol rate.
- Validity
- Single-ended, no crosstalk, CTLE only, ideal terminations. Loss is a budget at one frequency split between two mechanisms, not an arbitrary measured curve. Validity is per measurement, not per page: an impulse response that has not decayed inside its record marks the IMPULSE and PULSE panels and names them; it does not invalidate the S-parameters, and it is not used to infer the eye's accuracy. The eye's accuracy is measured directly instead - every released preset is within 0.35 mV of its value at four times the record.
- Numerics
- 4096-point FFT at 32 samples/UI. Pre-wavefront energy below 1e-5 of the total and falling as the record is refined at fixed bandwidth. Propagation loss meets its budget to 1e-6 dB; |S21| differs from it by up to 5e-3 dB, which is the port mismatch of a lossy line whose Zc is not its nominal z. The tail diagnostic measures |h| at a quarter-record or more from the response PEAK. Measuring a fixed last eighth of the circular record instead reported 3.8462% on a matched lossless line with no reflector anywhere — the sidelobes of a band-limited fractional delay, falling as 1/n, wrapping in behind a peak that sits at sample 0. Impulse exports are dimensionless discrete convolution weights; normalized SBR exports are dimensionless too. The panel converts SBR weights to volts using its transmitted amplitude. Raw and active impulse records share dt and removed transport delay tdBulk; absolute display labels add tdBulk without changing the samples. The early view is a display window, and the full FFT record remains available. Frequency inspection selects the nearest native sample in linear Hz and links S21, S11 and group delay; exported group delay is in seconds. It does not interpolate wrapped phase or rebuild the model.
- Known limitations
- Not a field solver, not coupled-line, not correlated against measurement. The eye height is the extremal gap between the two transmitted populations over one PRBS7 period at the decision instant — not a percentile, not a BER contour, and not comparable with a compliance eye height.
- Evidence
- docs/channel-model.md is the contract; every clause has assertions. check-models.js — Causal line (44 assertions): lossless Zc and delay exact, loss budget exact, agreement with an independently derived S21 to 1e-12, pre-wavefront causality with measured convergence, and eps' monotone with eps'' flat. Lab B assembled (60 assertions): the arrival is retained for every preset and both extremes, one sampling phase across four views, populations labelled by transmitted symbol, an ideal channel delivering the full swing with zero errors, and S-parameters unchanged by a rate-only change. mutate.js: nine planted defects each caught by the assertion that claims it.
labPdn
numerical model independent v2.3 · reviewed 2026-09-13Say in amps which capacitor bank supplies the load at each frequency, and which two make each peak.
- Topology
- Five-stage ladder: VRM, bulk, board, package, die. Series R-L between stages, shunt R-L-C at each.
- Reference planes
- Board and die load nodes on one five-stage ladder; observe either node. Frequency branch-share panels retain unit die excitation.
- Equations
Zout_vrm=R(1+jf/fbw)ladder reduction from the VRM endM di/dt + R i + vC = -Br I - Bl dI/dt; dvC/dt = diag(1/C)iY(f) v(f) = i(f); Zij = vi / ijrail deviation dVi = -sum_j Zij Ij for positive withdrawal
- Units
- Hz, ohm, A, V, s
- Validity
- Lumped five-stage RL/series-RLC network with zero initial incremental state. No plane cavity modes or spatial distribution. The browser transient is causal; the finite observation interval can omit later behavior and timestep resolution still matters.
- Numerics
- 420 log-spaced frequency points with nodal transfer impedances. Two-load browser transients use an eight-state causal ladder model and a small matrix exponential with first-order-held sampled currents; analytic raised-cosine derivatives recover inductive voltage. Nominal record 32768 × 200 ps; edge refinement halves dt and doubles sample count at fixed duration. Physical event times are rounded to samples. Signed contributions are solved separately and summed; no repeating-record tail is introduced. The legacy single-load API and explicit test-only periodic option retain FFT convolution for regression comparisons. All board/die complex transfer pairs and full-precision time traces remain exported. Frequency inspection retains nearest-native-Hz semantics.
- Known limitations
- The causal transient starts from zero incremental state and approximates current between samples linearly. A quiet pre-event baseline follows from causality and is not a timestep convergence certificate. Six selected two-load corners are compared with an independent causal trapezoidal reference; this is not proof for every parameter combination. Reported extrema cover the declared observation interval, not all future time. The VRM remains a first-order R+jwL teaching model, without compensation, phase margin or nonlinear behavior. The topology has one die and one board load; scalar target impedance remains a single-load heuristic. Frequency branch-current magnitudes can exceed the injected current because phasors circulate. Legacy FFT-only helper results retain periodic-record limitations.
- Evidence
- check-models.js — PDN ladder (21 assertions): DC limit is the resistive path, 5 GHz limit is the die ESL reactance, the biggest peak matches the closed-form VRM-against-bulk resonance, and |Z| agrees with K.cascadeS — a separate code path — to 1e-6 ohm. Lab C transient (N2-4): the reference solver is itself validated against an analytical DC limit — capacitors open, inductors shorted, 7.8 mOhm at the die — which it reaches to under a microvolt from rest; 200 ps and 400 ps are asserted to differ; every requested edge is asserted to be realised exactly; droop is asserted monotone in edge rate and to fall 3.36% across the control. Causal two-load path: tests/check-pdn-multi.js compares six corners at both observation nodes, checks timestep and record extension separately, and exercises closed-form causal/periodic references and targeted numerical faults.
labWaves
numerical model independent v2.2 · reviewed 2026-09-13Make the current half of a travelling wave visible, and account for where the energy goes.
- Topology
- As reflection, with variable length and 24 launched waves.
- Reference planes
- Driver node, load node, and a movable probe along the line.
- Equations
V/I=+Z0 forward, -Z0 backwardE=Td*int(0.5 v^2/Z0 + 0.5 i^2 Z0)
- Units
- ps, V, A, ohm, pJ
- Validity
- Lossless, uniform, no mid-line discontinuity.
- Numerics
- Trapezoid integration with 900 time intervals and max(220, ceil(64 Td/tr)) spatial intervals, capped at 65536. The energy history uses 121 uniformly spaced times plus finite-edge boundary transition landmarks; straight segments join computed samples. History is cached until physical settings change. Cursor energies are recomputed at the actual cursor time; the residual is shown on a separate aligned scale. Energy integrals begin before the source edge. Energy-history UI updates debounce rapid physical edits, then yield between samples with a generation guard. Pending histories are hidden and omitted from exports; instantaneous calculations remain current. Completed histories use the same sample grid and quadrature as the synchronous model.
- Known limitations
- Lossless, uniform, no mid-line discontinuity. The energy account is refused rather than reported when it closes to worse than 1%. Across every length and edge the controls allow it now closes to 0.086% or better.
- Evidence
- check-models.js — Line1D (21 assertions), shared with the reflections panel.
pam4
numerical model independent v2.0 · reviewed 2026-09-12Compare NRZ and PAM4 on the same channel at the same data rate: PAM4 halves the Nyquist frequency and so meets less loss, and pays for it with a third the eye height.
- Topology
- Two full chains, identical except for the alphabet. Each runs K.channelImpulse at its own Nyquist loss, the shared CTLE at a fixed boost, and the shared DFE with a fixed tap count. NOT an ideal-level comparison.
- Reference planes
- Transmitter output.
- Equations
loss_NRZ = lossPerGHz * rate/2, loss_PAM4 = lossPerGHz * rate/4level spacing penalty = 20*log10(3) = 9.54 dB at equal total swingh = ctle(channelImpulse(loss, sps, nfft)); y = applyDFE(conv(levels, h), ...)
- Units
- dB, V
- Validity
- A controlled comparison of two alphabets on one loss law, not a system margin. Fixed CTLE boost and fixed DFE taps for both, deliberately, so the comparison is about the alphabet. No adaptation, no jitter, no crosstalk, ideal terminations.
- Numerics
- FFT channel at 32 samples/UI, minimum phase by real cepstrum; seeded symbol sequence. The 9.54 dB level-spacing figure is exact arithmetic and is checked separately from the chain.
- Known limitations
- The 20*log10(3) level-spacing penalty is a fact about amplitudes and is exact. Everything else on the panel is the output of a numerical channel, and the two should not be read with the same confidence.
- Evidence
- check-models.js — DFE and Convergence suites cover the chain's parts: exact cancellation with known symbols, the half-open tap window, gain-aware slicing for PAM4 (M2-7), and grid independence of the channel. The 9.54 dB figure is in check-numbers.py.
pdnImpedance
analytical model independent v2.0 · reviewed 2026-09-12Show a capacitor bank's impedance and where mounting inductance takes over.
- Topology
- N parallel RLC branches against a plane.
- Reference planes
- One port.
- Equations
Z=R/N+j(w*L/N-1/(w*C*N))
- Units
- Hz, ohm
- Validity
- Lumped; no plane modes; no package.
- Numerics
- Direct complex evaluation.
- Known limitations
- Lumped; no plane modes; no package.
- Evidence
- check-models.js — PDN (RLC limits and damping).
pdnJitter
illustrative model independent v1.0 · reviewed 2026-09-12Show that where supply noise enters decides whether the loop removes it.
- Topology
- First-order PLL, three injection points: VCO, reference, output buffer.
- Reference planes
- Clock output.
- Equations
VCO noise high-passed at the loop bandwidth; reference noise low-passed; buffer noise uncorrected
- Units
- Hz, V, s
- Validity
- ILLUSTRATIVE topology — a first-order loop, not a solved PLL, and a linear small-signal sensitivity. What IS independently checked is the behaviour that matters: the three injection points are treated oppositely, and the units are dimensionally correct.
- Numerics
- Closed-form transfer functions.
- Known limitations
- ILLUSTRATIVE topology — a first-order loop, not a solved PLL, and a linear small-signal sensitivity. What IS independently checked is the behaviour that matters: the three injection points are treated oppositely, and the units are dimensionally correct.
- Evidence
- check-models.js — PSIJ suite. The assertions cover units and the three transfer paths; they do not validate the loop order.
realCaps
analytical model independent v1.0 · reviewed 2026-09-13Show what a marked capacitance is worth at an operating point, and how much of the answer the derating uncertainty owns.
- Topology
- One capacitor: ESR(f) in series with ESL_part + L_mount in series with Ceff. No neighbours, no plane.
- Reference planes
- One port, at the capacitor terminals as mounted. Nothing beyond the mounting loop.
- Equations
Z=ESR(f)+j(w*Ltot-1/(w*Ceff))Ceff=cNom*retainedSRF=1/(2*pi*sqrt(Ltot*Ceff))L_mount=length*(mu0/pi)*acosh(s/2r)ESR=esrMin*cosh(ln(f/fMin)/2)
- Units
- Hz, ohm, F, H
- Validity
- Lumped R+L+C. Not valid above the part body's first structural resonance. The retained fraction is an INPUT - this panel does not know your derating and will not guess it.
- Numerics
- Closed form at every frequency. The band is the exact envelope over the capacitance range, not a two-endpoint min/max.
- Known limitations
- No temperature coefficient on ESR, although one is measured to exist at high frequency. No mutual coupling to neighbouring parts. The ESR shape between its anchors is illustrative.
- Evidence
- check-models.js — Real capacitors (11 assertions): SRF scales exactly as one over root C independent of L and ESR, the two-term ESR equals the closed form esrMin*cosh(ln(f/fMin)/2), reactance is zero at SRF so |Z| there is ESR(SRF), the marked and derated curves converge above resonance and differ by exactly the retained fraction below it, the band provably contains the operating point at every frequency, and a zero retained fraction is refused rather than drawn.
reflection
analytical model independent v2.0 · reviewed 2026-09-12Show how a step reflects between two mismatched ends, and why the ringing decays at the rate it does.
- Topology
- Ideal step source with series Rs, one uniform lossless line of delay Td, one resistive or open load.
- Reference planes
- Driver output node and load node. No package, no connector.
- Equations
Gs=(Rs-Z0)/(Rs+Z0)GL=(RL-Z0)/(RL+Z0)a0=Vs*Z0/(Rs+Z0)V(x,t) by superposition of 7 launched waves
- Units
- ps, V, ohm
- Validity
- Passive terminations. Lossless: late-time amplitudes are optimistic.
- Numerics
- Closed-form lattice sum. The edge is a CUBIC SMOOTHSTEP, s^2*(3-2s), centred on t = 0 and spanning tr from 0 to 1 — not a raised cosine, which the contract and the module header both used to claim. The two differ by at most 1% pointwise, but the rise-time convention differs: a cubic smoothstep's 10-90% time is 0.608*tr where a raised cosine's is 0.590*tr.
- Known limitations
- tr is the full 0-100% support of the smoothstep, not a 10-90% time. Multiply by 0.608 to compare with a datasheet 10-90% figure. Lossless, so late-time amplitudes are optimistic.
- Evidence
- check-models.js — Line1D (21 assertions): Ohm's law at the load and Kirchhoff at the source hold to 1e-12 at every instant; energy balances across five terminations.
sparams
exact model independent v2.0 · reviewed 2026-09-12Show what passivity, reciprocity and causality each assert, separately.
- Topology
- Through-section and stub networks.
- Reference planes
- Two 50 ohm ports.
- Equations
exact ABCD of a mismatched through-section and an open stub
- Units
- Hz, dB
- Validity
- Lossless unless stated; two-port only.
- Numerics
- Closed form.
- Known limitations
- Lossless unless stated; two-port only.
- Evidence
- check-models.js — Networks (passivity, and reciprocity checked as a separate property).
spectrum
exact model independent v2.0 · reviewed 2026-09-12Tie the edge in time to the envelope in frequency.
- Topology
- Trapezoidal clock, one edge rate, one duty cycle.
- Reference planes
- Driver output.
- Equations
|An| proportional to |sinc(n*pi*tau/T)|*|sinc(n*pi*tr/T)|
- Units
- Hz, s, dB
- Validity
- Ideal trapezoid; no channel.
- Numerics
- Closed form harmonics.
- Known limitations
- Ideal trapezoid; no channel.
- Evidence
- check-models.js — Spectrum (a 50% duty square wave has no even harmonics).
ssn
analytical model independent v2.0 · reviewed 2026-09-12Show ground bounce as v=L di/dt across a shared return.
- Topology
- N drivers sharing one return inductance.
- Reference planes
- Die-side ground against board ground.
- Equations
v=L*di/dtpeak slope = (pi/2)*dI/tr for a raised-cosine edge
- Units
- A/s, H, V
- Validity
- Single lumped shared inductance; no mutual coupling between returns.
- Numerics
- Closed form; peak rather than mean slope reported.
- Known limitations
- Single lumped shared inductance; no mutual coupling between returns.
- Evidence
- check-numbers.py — the di/dt and mean-slope figures are recomputed from first principles.
touchstone
exact model independent v2.0 · reviewed 2026-09-13Report what a Touchstone 1.0 two-port file contains, and whether this reader can trust it.
- Topology
- No model. It parses a file and computes properties of what it read.
- Reference planes
- Whatever the file's own reference planes are — the reader cannot know and does not guess.
- Equations
sigma_max(S) = sqrt( largest eigenvalue of S^H S ), over the FULL complex 2x2T = sum |Sij|^2, D = |det S|^2, sigma_max = sqrt( (T + sqrt(max(0, T^2 - 4D))) / 2 )IL = -20*log10(|S21|)reflection in dB = 20*log10(|S11|); return loss = -20*log10(|S11|)
- Units
- Hz after conversion from the file's own unit; dB; linear S
- Validity
- Touchstone 1.0, two-port, S-parameters, MA/DB/RI format, Hz through GHz. Strictly ascending non-negative frequencies. Values validated AFTER unit and format conversion, because a finite 1e308 becomes infinite once multiplied by 1e9.
- Numerics
- Exact arithmetic on the file's own numbers. No interpolation, no renormalisation, no extrapolation.
- Known limitations
- An INSPECTOR, not an importer. It cannot feed the channel lab, because that needs renormalisation to the model's reference impedance, interpolation onto its frequency grid and a DC extrapolation — three pieces of numerical work with three error budgets, none written. Does not support Touchstone 2.0 keywords, noise data, ports other than two, Y/Z/H/G parameters, per-port reference impedances, or any repair of a malformed file. Passivity is evaluated only at the frequencies the file contains: it establishes nothing about the gaps between samples, about causality, about measurement quality, or about fitness for a transient transform.
- Evidence
- check-models.js — Touchstone (30 assertions): refuses a 2.0 file, a non-2-port file, a missing option line, a wrong reference impedance, descending or negative frequencies, and values that overflow after conversion. Accepts MA, DB and RI and agrees between them to 1e-9. Passivity (N1-3): sigma_max(S) is computed from the full complex matrix and cross-checked against power iteration -- a different algorithm -- over 300 random complex matrices to 1e-9, plus four checked-in .s2p fixtures whose true singular values were computed independently: a unitary asymmetric network the retired |S11 +/- S21| shortcut called active at 1.414, an active one it called passive at 0.5, a non-reciprocal isolator it reported as 0.000, and a port-symmetric lossy case where the shortcut was correct and still is. The degenerate case that makes the discriminant negative in floating point is asserted by name.
lpddrBudget
illustrative model plausible v1.0 · reviewed 2026-09-12Show how a UI is consumed by contributions that are not all the same kind.
- Topology
- A budget, not a circuit.
- Reference planes
- Controller pin to DRAM pin.
- Equations
UI_ps = 1e6 / rate_MTps (the control is a TRANSFER rate in MT/s)budget terms summed as an RSS of the independent contributors
- Units
- ps
- Validity
- ILLUSTRATIVE — the contributions are representative magnitudes, not JEDEC values. Training gain is a labelled model, not a specification.
- Numerics
- Exact arithmetic on the budget terms. At 8533 MT/s, UI = 1e6/8533 = 117.2 ps, which is what the page states.
- Known limitations
- The contract previously wrote UI = 1/(2*rate), which is the formula for a clock frequency rather than a transfer rate and would have given 58.6 ps. The code was always right; the contract was not. The budget split itself is illustrative — the terms are plausible magnitudes, not a sourced allocation.
- Evidence
- check-numbers.py — the UI at 8533 MT/s is recomputed. The allocation is not sourced; see docs/claims.md.
planeResonance
illustrative model plausible v1.0 · reviewed 2026-09-12Show where a rectangular cavity's first modes land and that position matters.
- Topology
- Rectangular plane pair, open edges, ideal conductors.
- Reference planes
- Between the two planes.
- Equations
fmn=(c/(2*sqrt(Dk)))*sqrt((m/a)^2+(n/b)^2)
- Units
- Hz, m
- Validity
- ILLUSTRATIVE — solid rectangular planes only. Antipads, splits and cutouts perturb every mode.
- Numerics
- Closed-form mode frequencies.
- Known limitations
- ILLUSTRATIVE — solid rectangular planes only. Antipads, splits and cutouts perturb every mode.
- Evidence
- check-numbers.py — the mode frequencies are recomputed from the formula.
targetZ
illustrative model plausible v1.0 · reviewed 2026-09-12Turn a ripple budget and a current step into an impedance line, and show it against a load spectrum.
- Topology
- None — this is one division.
- Reference planes
- The point the ripple is specified at.
- Equations
Ztarget=(Vdd*ripple)/Istep
- Units
- V, A, ohm
- Validity
- ILLUSTRATIVE — the impedance division is exact arithmetic, but the current spectrum beside it is synthetic and representative, not measured die demand. Assumes a load independent of the rail.
- Numerics
- Exact arithmetic.
- Known limitations
- ILLUSTRATIVE — the impedance division is exact arithmetic, but the current spectrum beside it is synthetic and representative, not measured die demand. Assumes a load independent of the rail.
- Evidence
- check-numbers.py recomputes the worked budget. The current spectrum is not sourced.
vrmStep
illustrative model plausible v1.0 · reviewed 2026-09-12Show the shape of a regulator's recovery and that release is its own event.
- Topology
- First-order loop response to a current step and release.
- Reference planes
- Regulator output.
- Equations
tau=1/(2*pi*fc)
- Units
- s, V
- Validity
- ILLUSTRATIVE — a real loop is not single-pole; order, damping and peaking change the shape.
- Numerics
- Analytic first-order response.
- Known limitations
- ILLUSTRATIVE — a real loop is not single-pole; order, damping and peaking change the shape.
- Evidence
- Not independently verified. The time-constant arithmetic is checked by check-numbers.py.