0hmX/am3352-ddr-track-a-local-dfm-wip-20261007

Experimental RJ45-corrected board with isolated PG indication. 1005/1005 source joins pass; 15 expanded-guard physical errors, sourcing and qualification gates remain. Not fabrication-ready.

Version
0.0.14
License
unset
Stars
0

work/phase-plan.tsx

import { savedRoutes } from "../data/saved-route-geometry"
import { cpuNets } from "../logic/connections"
import { parts } from "../support"
import hdmi from "../hdmi/data/all-components"

const nets = [...new Set([
  ...savedRoutes.flatMap(([, names]) => names),
  ...Object.values(cpuNets),
  ...[...parts, ...hdmi].flatMap(part => Object.values(part.connections)),
])].sort()
const power = /^(GND|VDD|VDDS|V\d|SYS_5V|DDR_1V5|DDR_VREF|ETH_3V3|PMIC_|CAP_|USB[01]_VBUS)|(?:VDD|AVCC|AVDD|3V3|1V2|5V|_SW|_FB)/
export function routingPhaseForNet(name: string) {
  if (name === "GND") return 0
  if (power.test(name)) return 4
  if (name.startsWith("DDR_")) return 1
  if (/^(HDMI_|LCD_|SYSBOOT)/.test(name)) return 2
  if (/^(ETH_|MII|RMII|MDIO|MDC|USB)/.test(name)) return 3
  return 5
}

if (import.meta.main) {
  for (let phase = 0; phase <= 5; phase++) {
    const names = nets.filter(name => routingPhaseForNet(name) === phase)
    console.log(`Phase ${phase}: ${names.length} nets\n${names.join(", ")}\n`)
  }
}