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-ruleskeeps 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).