KirchhoffLM

System: one chip per layer

analog weight grid (capacitors)analog circuit (norm, SiLU, multiplier, hold)digital (memory, attention, converters)
Chip chainToken inEmbeddingrow lookupL0ΔnetL1ΔnetL2ΔnetL3attnL4ΔnetL5ΔnetL6ΔnetL7attnL8ΔnetL9ΔnetL10ΔnetL11attnL12ΔnetL13ΔnetL14ΔnetL15attnL16ΔnetL17ΔnetL18ΔnetL19attnL20ΔnetL21ΔnetL22ΔnetL23attnOutput grid+ 8-bit ADCNext token24 layer chips · 10-bit digital link between chips · each chip keeps its own memory (DeltaNet state or KV cache)

Each layer runs on its own chip; 18 chips hold DeltaNet layers, 6 hold attention layers. The embedding is a row lookup; the output layer is a capacitor grid read by an 8-bit ADC referenced to the peak logit (a winner-take-all circuit would suffice for greedy decoding).

Inside a layer chip

analog weight grid (capacitors)analog circuit (norm, SiLU, multiplier, hold)digital (memory, attention, converters)
Inside a layer chipNorm unitRMS + dividerProjection gridsq k v z a bShort convsample & holdDeltaNet memorydigital SRAMGated norm× silu(z)Output grid→ + residualNorm unitRMS + dividerFFN gridsgate, upSiLU × mult.Gilbert cellDown grid→ + residualChip link10-bit ADC → DACDeltaNet layer chip (18 of 24); attention chips replace the memory block with a digital KV cache + softmax

Weights never move: each matrix is a fixed grid. Signals stay analog inside the chip and become digital only at the memory blocks and the chip-to-chip link. DeltaNet memory is digital because an analog capacitor memory failed in simulation: every token writes every cell, so thermal noise piles up faster than any practical capacitor can hold it.

Every element and what it adds

elementwhat it doesbuilt fromwhat it addserrors / cost
Embedding tableTurns the token number into 1,024 numbers that describe the wordMemory, one row read per tokenThe starting meaning of the wordMemory size (254M values for Qwen3.5-0.8B)
Norm unitRescales the 1,024 signals to a fixed average sizeRMS detector + divider + one gain resistor per lineKeeps signals inside the useful range: not clipped, not lost in noise~0.5 % gain mismatch, 0.2 % RMS error
DAC / row driverTurns a digital number into a voltageDigital-to-analog converter per line (at the chip input)The bridge from bits to the analog worldRounding (10 bits), energy per conversion
Carrier + modulatorMakes a 100 MHz sine wave whose height is the signal (flipped wave = negative)Oscillator shared by the chip, a mixer per rowLets capacitors compute (they only pass changing signals) and lets the read-out reject offsets~1 mW oscillator per chip, ~10 fJ per row per read
Capacitor gridMultiplies every input by every weight and adds them upA pair of capacitors per weight (C+ / C−), 0–255 unit capacitors eachThe core: a whole matrix product in one step, weights never moveMismatch ~0.13 % at 10 fF, stray capacitance, ~5 µm² per cell
Row and column wiresCarry the waves in and the summed currents outThin metal lines across the gridThe addition itself (Kirchhoff: currents into a wire add up)Resistance delays the wave along the row; calibrated per column
Synchronous demodulatorTurns the summed wave current back into a steady valueMixer driven by the same carrier + averagingKeeps only the part in step with the carrier: offsets and slow noise are rejected~10 fJ per output per read
Read-out amplifier + feedback resistorTurns the small current into a voltage with the right scaleTransimpedance amplifier per column; the resistor value is part of the designOne scale per output column (the row's largest weight)Noise (the main random error), 0.5 % gain mismatch, ~3.5 µW each
RailsThe highest voltage a circuit can produceSupply limits of every amplifierNothing; it is a limit to design aroundSignals beyond it are clipped; full scale is set to the largest signal seen
SiLU / sigmoid unitThe model's 'decision' curve: passes positive signals, mostly blocks negative onesTransistors whose current curve has that shapeNon-linearity: without it the whole model would be one big matrix~1 % gain mismatch, trimmed offsets
Gilbert multiplierMultiplies two signals (one gates the other)Classic analog multiplier cellGating: lets the model switch information on and off~1 % gain mismatch, slight compression of large signals
Short conv (sample & hold)Remembers the last 3 inputs for a tiny local mixCapacitors that hold earlier values + resistor tapsLocal word-order informationkT/C noise on the held values (very small)
ADC to memory / DAC backConverts signals to bits for the memory and backConverters at the memory boundaryLets a precise digital memory work with the analog gridsEnergy per conversion
DeltaNet memory (18 chips)Remembers earlier words in a fixed-size table (16 × 128 × 128 numbers)SRAM + digital multiply-add unitsMemory of the whole text without growingMost of the energy; analog versions failed (thermal noise piles up)
Attention unit (6 chips)Looks back at every earlier word to find the exact ones that matterKV cache in SRAM/DRAM + digital softmaxExact recall (e.g. a number mentioned earlier)Energy and memory grow with the text length
Gated normRescales each memory head and gates it with a second signalNorm unit + SiLU unit + Gilbert multiplierKeeps the memory output well scaledSame errors as its parts
Residual capacitorsHold the main 1,024 signals and add each block's resultOne capacitor node per lineFree addition: current in = charge addedNegligible
Chip-to-chip linkMoves the 1,024 signals to the next layer chip10-bit ADC → serial link (64 lanes) → DACSeparate chips per layer; bits clean away accumulated analog noise~20 nJ per hop; 8-bit links cost +2.5 % quality
Output grid + ADCScores all 248,320 possible next tokensCapacitor grid + 8-bit ADC referenced to the top scoreThe predictionLargest single block (~2,700 mm²); a winner-take-all circuit could pick the winner directly
Calibration (after manufacturing)Measures and removes predictable errorsPer-column phase reference, offset auto-zero, rail settingsTurns big systematic errors into small random onesTest time per chip; must be repeated if conditions change

The AC capacitor grid

AC capacitor grid tileV0V1V2V3C+C−C+C−C+C−sync demody0sync demody1sync demody2Inputs: sine drive V·sin(ωt), 0.5 V at 100 MHzCells: capacitor pair C+ / C− per weight 0–255 unit capacitors, max 10 fFColumn current I = jω Σ C·V (Kirchhoff sum)Synchronous demodulator keeps the in-phase part; per-column phase is calibratedWeight: w = (C+ − C−) / 255 × gainTile: 128 × 128 cell pairs

Capacitors instead of resistors: capacitors add no thermal (Johnson) noise, match better (~0.1 %), and their reactive current causes almost no wire voltage drop. Synchronous demodulation also rejects amplifier offsets and 1/f noise. The cost is a carrier generator, modulators and demodulators, and area (~5 µm² per 10 fF capacitor).

Component counts per chip

chipweightscapacitorsamplifiersarea mm²
L0021,528,57621,373,85717,440229.1
L0121,528,57621,392,50717,440229.1
L0221,528,57621,392,09917,440229.1
L0318,350,08018,228,90914,336195.2
L0421,528,57621,385,72117,440229.1
L0521,528,57621,385,74817,440229.1
L0621,528,57621,382,07117,440229.1
L0718,350,08018,225,10714,336195.2
L0821,528,57621,388,21617,440229.1
L0921,528,57621,379,99917,440229.1
L1021,528,57621,378,53417,440229.1
L1118,350,08018,220,41814,336195.2
L1221,528,57621,382,81017,440229.1
L1321,528,57621,384,24417,440229.1
L1421,528,57621,368,96117,440229.1
L1518,350,08018,211,62114,336195.2
L1621,528,57621,381,76817,440229.1
L1721,528,57621,385,92817,440229.1
L1821,528,57621,385,01417,440229.1
L1918,350,08018,222,69514,336195.2
L2021,528,57621,387,29017,440229.1
L2121,528,57621,388,62417,440229.1
L2221,528,57621,381,13317,440229.1
L2318,350,08018,197,52014,336195.2
head254,279,680252,686,181248,3202,707.8

Area: two capacitor cells per weight (C/2 fF/µm² + 0.3 µm² overhead) plus ~50 µm² per amplifier. Converters, digital memory, control and I/O are not included.