Autorouting

Router providers, the Autoroute dialog and the per-net review.

Autoroute… (Route flyout, or the palette’s Electronics Designer: Autoroute…) routes many connections at once through a router provider: the built-in batch router, Freerouting, or an add-on such as SoftForge Router Pro. The dialog picks the provider (its capability badges: differential pairs, length matching, shove, blind/buried and micro vias, layers, area, incremental; and its licence chip: Free, Licensed, Trial n days, Buy or Error, with Buy and Trial links), the scope (whole board, nets, net classes, the selection, or an area drawn with the Route Area tool: drag a rectangle or click a polygon), whether locked copper is excluded, the provider’s own options, a budget (seconds, passes) and whether existing routing is preserved. Run starts it; the progress shows the pass, routed/unrouted counts and the provider’s log, and the routes appear on the board as a live preview while they arrive. Cancel stops the run.

The result is applied as one undo step (“Autoroute (provider)”) and reviewed in the dialog: new copper highlighted, ripped-up copper ghosted, the statistics, a DRC of the result (new violations, click one to jump to it), and one row per net to accept or revert (revert deletes the net’s new copper and restores what was ripped up). Accept all, Revert all, or Keep and tune, which selects the routed copper and opens the Length panel.

The Routers page (Autoroute ▸ All routers, Electronics Designer: Routers, or the Project view’s Routers node) lists every provider with its version, licence and capabilities, plus known ones that are not installed, with Install, Buy, Trial, Configure and Docs. Settings: softforge.edsnx.routers.default (the provider preselected), softforge.edsnx.routers.javaPath and softforge.edsnx.routers.freeroutingJar (Freerouting 2.5.0 needs Java 25 or newer; the pinned jar is downloaded and checked on first use after you agree; edsnx uses FREEROUTING_JAR or the editor’s copy and never downloads). A provider whose licence is Buy cannot run; Error (the licence check failed, e.g. offline) runs with a warning in the log. From the shell: edsnx pcb autoroute board.kicad_pcb --provider builtin --nets GND,+5V --budget 120 --check, edsnx pcb autoroute providers, and edsnx pcb autoroute --conformance <provider> runs the provider conformance suite (board PCB-10).

Built-in router. Besides the grid router, rip-up and shove it has:

  • Blind, buried and micro vias from the stack-up (option Blind / buried vias): without via definitions in the board’s .kicad_flex.json, auto (default) follows the project’s Allow blind/buried vias and Allow micro vias (Board Setup ▸ Constraints): every copper range becomes a blind (from an outer layer) or buried span at the Default class via size, and each outer layer pair a micro via at the micro via size; the cheapest legal span is used for each layer change, through vias keep their net class size. on allows both whatever the project says, off keeps through vias only.
  • Length matching (option Length matching, on): after routing, the short members of every matched group (Length panel) get meanders on their own tracks up to the group’s target (its fixed length, or its longest member) within the tolerance, the patterns spread over the straight legs and checked against other copper; groups in ps are left to the Tune tool, pin-pair members are matched on the whole net.
  • Differential pairs (option Differential pairs): each pair is routed coupled at its width and gap on the first layer all four pads are on where a coupled route fits; when no layer works the two nets are routed singly and the shorter one is meandered to within Pair skew (0.1 mm) of the other. The log says which.

Freerouting. The board goes to Freerouting as a Specctra DSN with every board area as a boundary and every cut-out as a keepout, footprint outlines (courtyard, silkscreen, fabrication) in the images, tracks as polyline wires, each net class’s own SMD-to-SMD clearance and the differential pairs as pairs. The option Layer directions sets the preferred trace direction per layer (top layer horizontal then alternating, top layer vertical then alternating, or no preference) and Per-layer directions overrides single layers (F.Cu=vertical, In2.Cu=off: off keeps the router off the layer, auto drops the preference). A jar set in softforge.edsnx.routers.freeroutingJar must be a known Freerouting release (its SHA-256 is checked), or match softforge.edsnx.routers.freeroutingJarSha256 when that is set; any other jar is refused with its hash in the message.

Router Pro#

SoftForge Router Pro is a separate, paid extension (soft-forge.softforge-router-pro, the softforge-router-pro-<version>.vsix; install it from the Routers page’s Install, the Marketplace or code --install-extension softforge-router-pro-2.2.0.vsix). It registers the provider SoftForge Router Pro (softforge.routerPro) next to the built-in router and drives the same engine with more options:

  • Threads (workers, default the setting softforge.routerPro.threads, 0 = cores − 1, at most 8): several routing strategies run at once, one per thread (net order and costs differ); the best result wins (most connections routed, then fewer violations, then less copper). The log lists every strategy and marks the winner.
  • Pair gap (pairGap): differential pairs for this run at a wider gap than their net class (never narrower). Pairs are routed coupled by default; Pair skew matches pairs that had to be routed singly.
  • Length groups (lengthGroups: name, nets, target longest or mm, tolerance) and Length per net class (classLengths: {"DDR": {"target": "longest", "tolerance": 0.2}}) add matched groups for this run next to the project’s; the short members get meanders. Nothing is written to the project.
  • Blind / buried vias and Micro vias (auto, on, off each): spans from the stack-up as for the built-in router, switched separately. on uses them even when Board Setup does not allow them; a hint then says the DRC will report them until Allow blind/buried vias / Allow micro vias is turned on.
  • Area outline (areaOutline, areaLayers): route inside a polygon given in mm (the dialog’s drawn area works too). Incremental unrouted: keep every existing track and via and route only the nets that still have open connections.
  • Hints (on): hint: lines in the log for connections left unrouted, groups whose meanders had no room, and vias the project does not allow.

Licence. A 14-day trial, then a licence per seat. The chip shows Buy on a fresh install (Run disabled); the Routers page’s Trial link (or SoftForge Router Pro: Start 14-Day Trial) starts the trial once per install (Trial n days); SoftForge Router Pro: Enter License Key… takes the key from the client portal, verifies it offline and checks it with the SoftForge licensing service at most once a day (Licensed, the seats in use in the tooltip). Without the service the key keeps working 14 days after its last confirmation. When every seat of the key is in use on other computers the chip shows Error and Router Pro does not run; free a seat in the client portal or buy more. Buy a License, License Status and Remove License Key complete the commands.

Store links. The Buy, Trial and Docs links of paid routers point at the SoftForge store, softforge.edsnx.routers.storeUrl (default https://soft-forge.dev), with the plan of plans.json the router is sold under.

Documentation for Electronics Designer 2.3.60.