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 68

2026-11-04 16:16 PST (2026-11-05T00:16:50Z UTC) · commit c6f4a3c (c6f4a3c13bb4719a2720751200109a38fe14d766)

ADOPTED

repairg2 GND phase STOPPED: 22 merges + 18 failed searches in ~16 min bought 1 audit group (226 -> 225, GND 5 -> 4) — its pour-blind grouping spends the sweep stitching clusters the GND pour already joins. Checkpoint board kept as the working base (copper is real). Main line changes shape per the stall rule: thread.py chains under my net order (rails first, GND excluded — its grouping is pour-blind too), one save+refill per invocation = checkpoint by construction; GND’s 4 audit groups get targeted stitches from the audit’s own group membership at the end.

Nets fully routednot recorded
Pins failednot recorded
Clearance violations2
Unconnected nets65
Audit verdictFAIL

Routes — all copper layers and each layer

F.Cu In1.Cu In2.Cu B.Cu

Top

Pass 68 — top

Bottom

Pass 68 — bottom

repairg2 log: results/repairg2-exp3.log; checkpoint audit: results/audit-exp3-ckpt.txt

← Pass 67 · all passes · Pass 69 →