0hmX/am62l-lpddr4-ti-pth-router
This code defines a hardware-oriented React/TypeScript setup for a PCB breakout circuit featuring an AM62L LPDDR4 interface, including detailed PCB component placement, routing algorithms, and validation scripts for DDR connections, via placement, and manufacturing constraints.
- Version
- 1.0.1
- License
- unset
- Stars
- 0
RESULTS.md
# Routing results
## Custom Core + project-local routers — 2026-08-22
- `tscircuit`: `0.0.2358`
- local `@tscircuit/core`: `0.0.1717`, PR #3304 base
`646a2658a3c3a539e05146a0c9fa468513cbce33`, plus focused local fixes that
preserve `algorithmFn` in the fanout preset and propagate coordinated layers
into parent SRJ endpoints
- SoC fanout: project-local 0hmx-derived free-space algorithm, 33/33 routed
- RAM fanout: the same mirrored geometry algorithm, 33/33 routed
- Middle channel: separate project-local same-layer ordered router, 33/33 routed
- Total PCB traces: 99
- Fanout vias: 66 exact full-stack PTHs, each using TI's
0.4572/0.2032 mm pad/hole geometry and `top`→`bottom` span
- Breakout trace/space: 0.08128/0.08128 mm minimum
- AM62L lands: 373 at 0.254 mm copper / 0.3048 mm mask opening
- LPDDR4 lands: 200 at 0.32 mm copper / 0.40 mm mask opening
- Board width: 90 mm; U1/U2 X separation: 40.116917 mm (previously
20.116917 mm)
- Expanded SoC/RAM routing bounds: `[-37.377, -2.623]` mm and
`[1.381917, 38.851917]` mm, giving a 4.004917 mm middle gap
- Differential-pair declarations: temporarily disabled; all 33 signals route
independently while their original bus ordering remains intact
### Verification
- TypeScript: passed
- Project solver tests: 7 passed / 41,695 assertions, including fresh actual
33-net right-escape and left-escape SRJs, exact via spans/dimensions,
no-via-in-pad clearance, 45-degree turn validation, and package-land geometry
- Netlist: 0 errors, 0 warnings
- Schematic placement: passed
- PCB placement: 0 errors, 0 warnings
- Autorouting phases: 33 + 33 + 33 traces, 0 errors
- Fresh `--autorouter-debug` full build: passed in 27.7 seconds
- Circuit JSON routing/clearance errors: 0
- Measured minimum fanout via-to-BGA-land edge clearance: 0.095094 mm
(required 0.08128 mm); minimum via-to-via copper-edge clearance: 0.08128 mm
- Copper shorts: none detected
The result remains a routing reproduction, not a production DDR design; the
electrical/manufacturing omissions in the README still apply.
## Before — registry release 1.0.7
- `tscircuit`: `0.0.2332`
- `@tscircuit/core`: `0.0.1685`
- Byte-1 buses had no `preferredLayer` assignments.
- The focused fanouts completed, but DQ9 and DQ10 exited on `inner2` at the SoC
and `bottom` at the RAM.
- The published 1.0.7 registry build failed and did not produce a current PCB
preview.
## After — 2026-08-19
- `tscircuit`: `0.0.2358`
- `@tscircuit/core`: `0.0.1707`
- Core npm `gitHead`: `911a81750403dbc93ddf5d971f952d528a5ec4bd`
- Both breakout paddings: 2 mm
- Autorouter effort: `1x` (the previous `10x` setting exceeded the registry's
300-second per-file build limit)
- Global autorouter: built-in `beta_pipeline9`
- Global routing is split across the same four byte-1 bus groups to keep each
capacity-autorouter phase small and deterministic.
- Byte-1 shared bus preferences:
- DQ9, DQ10: `inner2`
- DQ11, DQ12, DQ14: `bottom`
- DQ8, DQ13, DQS1, DQS1_n: `inner3`
- DQ15, DM1: `inner2`
The same bus declarations are consumed by both breakout autorouting phases, so
each preference applies to the SoC and RAM ends together.
## Verification
- TypeScript: passed
- Netlist: 0 errors, 0 warnings
- Schematic placement: passed
- PCB placement: 0 errors, 0 warnings
- SoC fanout: 11/11 traces, 0 errors
- RAM fanout: 11/11 traces, 0 errors
- Global route: 11/11 traces, 0 autorouter errors
- Fresh cloud-equivalent focused build on `tscircuit@0.0.2358`: passed in
136.3 seconds
- Layer comparison: 11/11 SoC/RAM pairs matched
- Copper shorts: none detected
The complete route currently reports two via-to-trace clearance diagnostics at
the SoC fanout: 0.004 mm beside DQ9 and 0.021 mm beside DQ15, against the
configured 0.05 mm minimum. Neither is a copper short. This reproduction still
omits the electrical and manufacturing constraints listed in the README and is
not a production DDR layout.