Bus Routing
The idea
A bus is a set of nets the designer intends to behave as one: address and data lines, a datapath's word, the bits of a matched interface. Routed as independent nets they will not: each bit takes its own cheapest path, topologies diverge, lengths spread, and bits end up coupling to different neighbours. Bus routing treats the group as one object with three properties to preserve:
one topologyevery bit follows the same shape (same bends, same side of every obstacle)ordered adjacent tracksbit i beside bit i+1, order preserved; a bus cannot twist without crossingsmatched lengthsfor skew-sensitive groups, every bit within a tolerance of the longest, achieved by adding serpentine meanders to the shorter ones
The recipe
Step 1 (group). Identify the bus by name pattern or explicit constraint; fix its bit order and its track-spacing rule.
Step 2 (route the trunk). Route one representative bit, or a single trunk as wide as the whole group, through the ordinary global and detailed routers.
Step 3 (replicate). Copy the trunk onto adjacent tracks for the remaining bits, staggering the bends so the bits never cross, and resolve the fan-in and fan-out at the pins.
Step 4 (match, if required). Add serpentine meanders to the shorter bits until all lengths are within tolerance.
Watch it work: four bits around a macro
The same four bits routed independently and as a bus, then the mechanism and the length-matching step.
Pros, cons, and the trade-off
Strengths
- Matched electrical behaviour: same topology, same neighbours, similar lengths; the bits arrive together.
- Predictable coupling: bits couple mainly to each other, which the designer can budget for.
- Cheaper than the sum of its parts: one trunk search replaces N searches, and no crossings means no vias among the bits.
Weaknesses
- Rigid: a bus needs a contiguous band of tracks; in a congested region no such band may exist.
- Length matching costs area: serpentines are wire that exists only to be long.
- Special-case tooling: a separate engine or mode, with its own constraints, sitting beside the ordinary router.
The trade-off
Bus routing trades the individual optimality of each net for the collective behaviour of the group. Where the group's skew and coupling matter more than any one bit's wirelength, memory interfaces above all, that trade is the whole point.
Is it actually used today?
The evidence for bus routing comes from commercial tool features and the interfaces that require it.
- Commercial: documented. The major place-and-route tools ship dedicated bus-routing modes and constraints (bus grouping, spacing, length matching), and custom-layout tools have bus routers with interactive control; the internal algorithms are proprietary.
- Open source: no dedicated bus router in the OpenROAD flow; equivalent structure is approximated with non-default rules and net grouping.
- The interfaces: DDR (Double Data Rate) memory buses, high-speed serial lanes, and matched clock groups are specified with skew budgets that only bus-style routing meets.