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 116

2026-11-05 13:26 PST (2026-11-05T21:26:20Z UTC) · commit bbf0942 (bbf0942f28383423d8262e4d4fb7f254f7616bc4)

ADOPTED

APD_K R47.2 group connected (queue item 1, leg 1 of 3). Diagnosis: TMP_ALERT’s B.Cu vertical at x=49.12 was the pocket’s last wall – APD_K (HV) needs 1.0 mm from it on every layer a via spans (hand_via 0/3, heal 1 s refusal, thread_far no-thread all on record). Fix (hw/fix_r47.py): TMP_ALERT repaid in-pass (B vertical ripped south of y=1.20, re-laid on In2 from its own via, via back at (49.12,1.20), B north re-placed); pour notch F+B x[46.20,51.45] y[-3.10,-0.10]; APD_K via (50.05,-1.60) + In1 west run onto the main web’s via (41.12,0.62). DELTAS vs pass 115: nets 30->30 (APD_K groups 4->3), violations 75->72 (-3 cured: R47.2 pad, old stub track, R47.1 – all vs GND zone; +0 new. First notch cut with east edge 51.15 left the new via 0.8 mm from the fill and cost +3 zone lines; widened to 51.45, re-audited clean). No victims: TMP_ALERT connected after repay, GND still 4 groups.

Nets fully routednot recorded
Pins failednot recorded
Clearance violations72
Unconnected nets30
Audit verdictFAIL

Routes — all copper layers and each layer

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

Top

Pass 116 — top

Bottom

Pass 116 — bottom

← Pass 115 · all passes · Pass 117 →