Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
{
"$comment": "Ordered, DRC-gated routing plan. The phase ORDER is GENERAL for any multi-layer high-current board: planes → criticals(hardest-first) → control/gate → PWM → slow → constrained autoroute → power pours + GND pour + stitch LAST. SPECIFIC = net names, coordinates, pour polygons, via-farm sizes. Pouring GND early strands opens — it is ALWAYS the final pass.",
"config": "<PROJECT>-<layers>-<FAB>",
"board": "<W×H mm>, <N> layers, <stackup>",
"placement": "FROZEN — <snapshot path>",
"gate": "<the DRC command: board's own tool + this ruleset>",
"via_budget": {
"signal_fanout": 0,
"power_plane_farms": 0,
"gnd_plane_ties": 0,
"gnda_single_tie": 1,
"lambda20_stitch": 0,
"asym_return_gnd_vsys_stitch": 0,
"total_est": "<sum>"
},
"phases": [
{ "phase": 0, "name": "Apply ruleset",
"actions": ["apply design_rules.json", "assert 0 nets on default"] },
{ "phase": 1, "name": "Define inner planes",
"actions": ["In1 = solid GND", "In2 = <VSYS/power> plane", "set both UNCHECKED so autoroute can't carve them"] },
{ "phase": 2, "name": "Manual criticals — hardest first",
"order": [
{ "n": 1, "net": "USB_DP/USB_DM", "do": "diff pair on F.Cu over solid In1 GND, 0 vias, no foreign via/plane-cut under the corridor", "vias": 0 },
{ "n": 2, "net": "<fast SPI>", "do": "route; at each F↔B via add a GND↔<plane> bypass cap ≤3mm BOTH ends (asymmetric-plane return)", "vias": "<n> + return caps" },
{ "n": 3, "net": "<I2C>", "do": "daisy-chain, pull-ups near master", "vias": "<n>" },
{ "n": 4, "net": "<sensor IRQs>", "do": "short, keep off PWM returns", "vias": "<n>" }
] },
{ "phase": 3, "name": "Power-control web + gate loops",
"actions": ["latch/protection cluster", "FET gate resistors star from gate", "analog local pours"] },
{ "phase": 4, "name": "PWM / actuator drive",
"actions": ["route PWM; split east/west to avoid crossing plane splits"] },
{ "phase": 5, "name": "LED chain + slow/long signals",
"actions": ["autoroute-friendly candidates"] },
{ "phase": 6, "name": "Constrained autoroute (2 passes)",
"actions": ["inner planes UNCHECKED", "criticals FIXED", "bulk secondary IO only", "expect 85–95% — hand-finish the fine-pitch tail (Tier-4)"] },
{ "phase": 7, "name": "Power pours + GND pour + stitch — LAST",
"actions": [
"pour POWER_HC (<VSYS/BAT+>) with via farms at every high-I pad (n × 0.4mm)",
"GND pour, collision-checked",
"λ/20 stitch: freq = 0.35/t_rise (edge knee, not clock); EXCLUDE the GNDA island polygon",
"GNDA single star-tie at <R_STAR> only"
] }
],
"mid_checks": [
"after phase 2: DRC on criticals only — 0 errors",
"after phase 6: 0 unrouted (or a named, understood tail)",
"after phase 7: GNDA connected-node count == its own pin count when star-tie removed"
],
"handoff_conditions": [
"0 unrouted",
"DRC 0 errors vs the named ruleset in the board's own tool",
"asymmetric-plane return caps present at every cross-plane fast-signal via",
"board committed to git"
]
}
7315b96d0This file is pinned to the selected release. Download the original to open it in your design tool.