0hmX/am3352
This code suite comprises TypeScript scripts that analyze, verify, and assemble complex DDR memory interface hardware, focusing on physical routing, via and pad placement, electrical clearance, and physical constraints, often involving precise geometric calculations and consistent provenance tracking.
- Version
- 1.0.5
- License
- unset
- Stars
- 0
docs/ddr-unintended-same-net-contacts.md
# D12 same-net shortcut: serial length audit invalid
The eleven-host `ddr-facing-progress-45` candidate has an unintended D12 contact. Host `source_trace_690` and RAM1 saved escape `source_trace_629` explicitly share `source_port_1004` (RAM1 DQ4 / CPU DDR_D12). Host segment 10→11 on inner4 passes across the saved through via at (-10.000054, 4.500054) mm. Its centerline misses the via center by only 0.000054 mm; exact copper gap is -0.288546 mm, confirming overlap.
The nominal loop from the via through its saved exit and back along the host to the via projection is 9.450589834 mm: 4.173296985 mm of saved escape plus 5.277292849 mm of host. This is a closed redundant copper path, not a valid serial delay contribution. Other host/saved contacts nearby introduce additional shortcuts. Segment-summed package-to-package length therefore cannot certify timing; the loop number is a geometric witness, not an electromagnetic delay or unique shortest-path solution.
The all-host inventory contains 32 same-net contact pairs: 22 at host endpoints, and ten non-endpoint pairs, all on D12. The other ten hosts show only endpoint contacts in this check. Report: `dist/ddr-host-fixed-contact-audit/report.json`.
A strict routing acceptance gate should use the existing exact copper geometry and electrical ownership resolution:
1. Enumerate every host-to-fixed same-net contact, including full via annuli, trace widths, pads and overlaps. A zero centerline-intersection count is insufficient.
2. Allow only contacts at the two explicitly declared exit handoffs. Bind each exemption to the actual breakout identity, source-owned fixed trace, host endpoint, exact XY/layer and incident primitive. Merely sharing a net or being near an endpoint is insufficient.
3. Reject every additional fixed-copper contact. Validate endpoint continuation angles and reject extended overlaps beyond the immediate intended handoff.
4. Separately reject nonadjacent host self-contacts and unintended host-to-host same-net joins. A topology-aware graph must be acyclic between the source and sink before treating segment sums as the propagation path.
`reportSameNetContacts:true` exposes witnesses from `verifyDdrSystemCopper` without changing its default clearance behavior. `audit-ddr-host-fixed-contacts.ts` flags non-endpoint contacts; endpoint contacts remain explicitly labelled as requiring contract validation. This diagnostic is not yet the complete acceptance gate described above.