Skip to content

D117 — JLCPCB routing rules as opt-in options

Decision

JLCPCB's three routing rules (issue #24) are options, off by default: critical nets (named, or from the component rules' roles and differential pairs, in three tiers) routed first; a via multiplier for them with a per-net via report and a report threshold; and a cost for their tracks over voids of the adjacent reference plane (a lattice map rasterised from the zone fills; --split-hard closes those cells), reported after the route by the audit of D114. --si-rules turns the three on with x3 and +4 pitches per step

Alternatives

Turning them on by default (no thresholds come with the advice, and the effect on completion has to be measured first: the numbers are in bench/records/issue24); a hard rule only (a cost leaves the way open when there is none); a via cap enforced in the search (the report threshold is what is built); making them part of --component-rules (the roles are read either way and the rules stay a separate switch)

Reason

The issue asks for the three rules with a cost the benchmark sets must justify and defaults that stay off until they do. A cost finds the clean path where there is one and says so where there is not; a hard rule, which the issue allows, is behind a flag. The first attempt let a critical net hop onto the plane layer to cross a slot, and a smoothing pass undid the detour: both are in the tests (doc 05 §44)

D114