sci-quantum-01 · QP-20 “Xuanshu”

Quantum

A 20-qubit tunable-transmon quantum computer designed end to end — from the Hamiltonian to a DRC-clean GDS to the machine standing in the undercity hall. Twelve numbered simulations, nine HFSS projects and three Monte-Carlo campaigns back every number on this page; a d=3 surface-code patch runs below its pseudo-threshold.

1Q gate (20 ns DRAG)
99.987%
CZ (3-body model)
99.85%
Readout (300 ns)
99.75%
Whole-chip yield
99.6%
01

What it is

Twenty asymmetric-SQUID transmons on a 4×5 lattice, 31 tunable couplers, one dilution refrigerator — shown in the city in service mode, vacuum can hoisted away.

QP-20 is the city’s quantum machine: an 11×9 mm chip of 20 flux-tunable transmons (checkerboarded at 4.90 / 5.10 GHz) with a tunable coupler on every lattice edge, multiplexed dispersive readout through four feedlines, and a Bluefors-XLD-class dilution refrigerator to hold it at 20 mK. Room-temperature control is five RFSoC crates doing direct RF synthesis — no analog upconversion chain.

In the city model the fridge is deliberately caught mid-service: the crane has lifted the vacuum can, so all six gold-plated stages (300 K flange down to the mixing chamber), the 83-line coax loom and the mu-metal shield around the chip are exposed. The design rule for every city asset applies here too: the core mechanism is never a black box.

QP-20 machine exterior render
THE MACHINE — FRIDGE TOWER, GAS-HANDLING LINES, 2 OF 5 RFSOC RACKS
Vacuum can x-ray view showing the six-stage chandelier
CAN X-RAY — 50 K → 20 MK CHANDELIER, 83-LINE COAX LOOM, SHIELDED CHIP
02

How it works

Three calibrated dials — pad size, claw length, coupler flux — and a readout chain that never lets the amplifier’s noise reach the qubit.

A transmon is a Josephson junction shunted by a large capacitor: at EJ/EC ≈ 53 charge dispersion collapses to kHz while −280 MHz of anharmonicity still isolates a clean two-level system. Two-qubit gates are tunable-coupler CZ: idle at the zero-coupling point (residual ZZ measured at 5.6 kHz), pulse the coupler down to open J ≈ 12 MHz, and let the |11⟩↔|02⟩ resonance accumulate a conditional phase of π.

Every geometric knob was calibrated in full-wave HFSS rather than trusted from formulas: pad size → EC (two points: 111 fF and 69.6 fF), claw length → coupling g at 0.83 MHz/µm, feedline web → κ (a 6 µm ground web screens the coupler by three orders of magnitude — shared-slot topology is mandatory), and the Purcell filter is a direct-tap λ/2 line whose tap position sets Qf = (π/2)/sin²(πx/L). Readout is dispersive: the qubit never absorbs a photon, it just pulls the cavity by ±χ; a TWPA at the mixing chamber amplifies at the quantum limit before a 4 K HEMT takes over.

4x5 lattice topology with couplers and feedlines
TOPOLOGY — 4×5 QUBITS (A/B), 31 COUPLERS, 4 READOUT FEEDLINES
Full-chip GDS v7 render
GDS V7 — 11×9 MM, 2367 POLYGONS, 311 AIRBRIDGES, DRC-LITE CLEAN
DRAG coefficient scan
DRAG SCAN — COHERENT ERROR 4×10⁻⁷ AT λ=0.5, 20 NS X/2
CZ hold-time calibration scan
CZ CALIBRATION — HOLD-TIME SCAN, φc→π AT 21.5 NS FLAT-TOP
03

The ledger

Every headline number, and the run that produced it.

ClaimValueProduced by
Single-qubit X/2 fidelity (20 ns DRAG, leakage 2×10⁻⁷)99.987%sim/03_gate_1q_drag.py
CZ fidelity, effective 2-level model (37.5 ns)99.92%sim/04_gate_2q_cz.py
CZ fidelity, full 3-body 27-dim model (67 ns)99.85%sim/07_cz_threebody.py
CZ with Slepian ramps (decoherence-limited)99.883% @ 60.25 nssim/09_cz_slepian.py
Dispersive readout fidelity (n̄=8, 300 ns)99.75%sim/02_cqed_readout.py
χ(n) compression at n̄=8 (dispersive approx. health)−0.5%sim/08_readout_nonlinearity.py
Idle ZZ crosstalk at coupler off-point5.6 kHzsim/04_gate_2q_cz.py
T2 budget closure (flux + thermal-photon + TLS)103 µssim/06_error_budget.py
Fridge stage margins, 50 K → MXC (83 lines, all-SS worst case)10.8–75×sim/05_cryo_budget.py
Qubit–cavity g vs claw length (two full-wave points)0.83 MHz/µmhfss_C2/C3_transmon_g.py
Feedline κ, shared-slot coupler 300 µm (R-gate verified)1.94 MHzhfss_B_eig_v6.py
Purcell tap filter Qf (tap @ 654 µm, formula-validated)16.5hfss_D_tap.py
Whole-chip frequency-plan yield (sep 200 MHz, σEJ 0.5%)99.6%sim/11_freq_collision_mc.py
Surface-code d=3 logical error per round (below pseudo-threshold)1.18×10⁻³sim/10_surface_code.py
Error suppression Λ per code-distance step (d=3→5→7)≈4.2sim/10_surface_code.py
GDS v7 polygons / DRC-lite violations2367 / 0sim/12_chip_gds_v7.py
Readout error vs integration time
READOUT BUDGET — ERROR VS INTEGRATION TIME, 3 CHAIN EFFICIENCIES
Chip yield vs junction spread for two operating strategies
YIELD MC — 2000 CHIPS/POINT; SWEET-SPOT + SEP 200 MHZ WINS
04

What broke

The design that survives is the one whose corpses are documented.

The slow readout cavity died first.

v1 used κ/2π = 1.5 MHz and managed only 97.5% fidelity — below spec. The fix was a fast cavity (4 MHz) with a Purcell filter to protect T1, which the filter then had to earn (see below).

A 0.9% “leakage” that wasn’t.

Three calibration rounds of the 27-dim CZ model plateaued at 99.0% with stubborn 0.9% leakage. It was the metric: projecting onto bare states counts the qubit–coupler static dressing ((95/1150)² ≈ 0.7%) as loss. In the dressed basis — what a lab actually calibrates — true leakage is 1.3×10⁻⁵.

The original frequency plan was killed by Monte Carlo.

A/B separation of 250 MHz sits 34 MHz from the |11⟩↔|02⟩ collision at |α| = 284 MHz; at σEJ = 0.5% chip yield collapsed to 4.5%. Moving to 200 MHz separation with sweet-spot operation and junction trimming recovered 99.6%. Bonus finding: “pull every qubit to its exact target” is unworkable — flux-noise Tφ pays for every MHz of pull.

g was unmeasurable until the qubit crossed the cavity.

Dispersive-regime mode pulls (~15–30 MHz) drowned in ±7 MHz of per-design adaptive-mesh noise; a three-parameter fit returned nonsense. Sweeping LJ through the crossing and reading the minimum splitting (2g ≈ 350 MHz signal) made it robust in one shot.

Four dead κ variants, three separate bugs.

Eigenmode terminations absorbed nothing (Q ≈ 5×10⁶) until: ① sheet resistors sharing mere edges with metal never mesh-bond — overlap them 1 µm into the metal; ② one feedline end was accidentally drawn shorted, making the line resonant and un-drivable at 7 GHz; ③ an R-gate (rerun with R=50 Ω vs 5 kΩ; Q must move ~50×) — borrowed from a sister project’s pitfall table — is now mandatory for any lossy boundary.

Side-coupled Purcell filter: rejected by 800×.

The elegant side-coupled λ/2 filter measured Qf = 22 877 against a target of 28. No amount of tuning closes three orders of magnitude — the topology was wrong. A direct-tap filter (Qf = (π/2)/sin²(πx/L)) measured 16.5 at the first try and trims to 28.

An HFSS driven-modal hang that ate four suspects.

After a host reboot, every driven solve of the etched-CPW models spun forever at pass 1 (1 core, flat 183 MB, zero result files) while eigenmode solved fine. Dual-instance lock contention, scheduler environment, Fast-sweep type and MPI were each accused and acquitted by single-variable experiments. Root cause still open; the eigenmode method family became the workaround — and delivered everything driven mode owed.

Seven GDS render iterations.

Resonator blocks overrunning feedlines, a missing shared-slot cut, two control lanes merged into one slot (a short), bond pads stacked on top of each other, and the witness structures colliding with two different feedlines. Render → look → fix, seven times, then DRC-lite clean.

05

Try it

Walk into the hall, or spin the machine in your browser.

In the city: serve the repo root and open viewer/index.html?colony=1. Enter the undercity atrium and take the left-wall door (z = −8) into the quantum hall. Seven placards carry the numbers from the ledger above; the wall screen runs a live d=3 surface-code round with breathing error chains, and the two spinners you’ll notice are the chip turntable and the compressor fan.

The machine itself: the design repo ships a self-contained interactive 3D viewer (quantum-computing/out/qp20_machine.html, single file, works offline). Drag to orbit, scroll to zoom, and hit the can-toggle button to lift the vacuum can and expose the six-stage chandelier with its 26-bundle coax loom.

The chip: quantum-computing/out/qp20_chip_v7.gds opens in KLayout — 20 SQUID crosses, 31 couplers, four tap Purcell filters and the witness corner, exactly as rendered above.