PDLVDS-RX — photodiode LVDS receiver

Clean-room receiver for the Miniscope Zero optical uplink: Excelitas C30737LH Si APD → OPA657 TIA → LMH7220 comparator (LVDS out, DAC-set threshold) → ADN2813 CDR → STM32H723 + USB3300 USB-HS. Design target: 50 Mbps line rate, 8b/10b (40 Mbps payload); the paper's mode: 8 Mbps Manchester (16 Mbaud), as transmitted. LT3757 flyback APD bias 150–420 V. USB-C powered; verify on any laptop over USB, no FPGA attached.

Pass history overview

The whole routing campaign on one chart: for every layout pass, the number of unconnected nets and the number of clearance violations its board audit recorded. Success is both lines reaching the bottom — 0 unconnected, 0 violations.

Line chart per pass: unconnected nets and clearance violations, both trending toward zero

The chart is generated at build time by website/_plugins/progress_chart.rb from the passes metadata — the same unconnected_nets / clearance_violations stats scripts/commit_pass.py records from each pass’s audit — so it stays current on its own as new passes land; nothing here is maintained by hand.

Why counts and not “% connected”: the only total-nets figure in the early pass metadata is 112, the net count of the original board. The design has since been re-schematicked — the current netlist has 223 nets (results/partsfix/netlist-final.txt) — so no single denominator spans all 100+ passes, and a percentage would mix two different boards. The honest series is the disconnected count itself, falling to 0.

Latest: pass 186 (2026-11-06 21:03 PST) — 16 unconnected nets, 109 clearance violations. Per-pass detail: the routing history and the pass pages in the sidebar (use the ← → buttons on a pass page to flip between versions without losing your scroll position).