Skip to content

D146 — --si-rules keeps critical-first: five seeds settle #24's options

Context

Doc 18 A5 (M21): issue #24's three routing rules (--critical-first, --critical-via-cost, --split-cost; --si-rules turns on all three) were measured on one seed (bench/records/issue24). That table suggested that the costs without the order (--split-cost 4 --critical-via-cost 3) were better than --si-rules. A5 asks for five seeds on the plane tier before deciding. Records: bench/records/m21-a5.

Decision

  • --si-rules keeps all three rules, critical first included. No default changes: the options stay off unless asked for.
  • Doc 05 §44 gets the five-seed table's conclusion.

Alternatives

  • Drop critical-first from --si-rules (the one-seed table's best, split + via). It would leave unrouted the crystal net and the debugger USB pair on RoyalBlue, which critical-first routes in every seed: 23 of 28 critical nets against 27. It would gain 5 connections of the other nets and 9 fewer unconnected by KiCad. A rule set meant for the critical nets should not trade them for the others; the user who wants the costs alone can still ask for them.
  • Turn some of the options on by default. The cost terms' gains on common nets are small (2-4 vias, 3-6 crossings over 23 nets), and critical first costs every board some completion. Defaults stay off.

Consequences

  • Measured over five seeds (bench/records/m21-a5): the critical-net measures do not vary with the seed. Each arm's are identical in all five; only the other nets' connections vary, by up to 8 of 882. The arms' differences are therefore systematic, not noise, on this binary.
  • With all three rules, the cost terms' gains on common nets vanish (22 → 22 vias, 74 → 74 crossings). Why is not measured. Tuning the costs together with the order is open.
  • B3's return stitching had nothing to stitch on these boards under --si-rules (one change, with no plane copper on one side).
  • Docs: 05 §44, 18 §16, 11 (M21 row).