Module 6: Routing ยท 6.2 Detailed Routing

Vias and Design-Rule-Correct Wires

A net that starts on met1 and needs to reach a pin two layers up on met3 cannot jump. Metal on different layers connects only where a physical, manufactured structure bridges them. That structure is a via: a cut layer, the actual vertical connection, sandwiched between metal shapes on the layer above and below, sized and positioned by rules as strict as the ones on the wires. Every layer change anywhere in the routed UART, and there are thousands, is a via. Understand what makes one legal and you have covered most of what design-rule-correct means for the rest of this course.

What a via actually is

Think of a via as a small sandwich: a metal pad on the lower layer, a pad on the upper layer, and a cut shape between them that is the conductive plug. All three pieces satisfy their own rules at once. The cut has to be the right size, and each pad has to fully enclose the cut by a minimum margin on every side, not just overlap it.

A via from above and from the side
Figure 1: Left, top view of a 0.17 um cut inside a 0.29 um pad, 0.06 um of enclosure on each side. Right, the same via in cross-section: met1 pad, via1 cut, met2 pad.

This is why a via is not “draw a small square where two wires cross”. A via that is present but under-enclosed on one side is not a legal via. A real process needs that margin to guarantee the cut lands correctly despite the small alignment tolerances of every manufacturing step. Detailed routing has to place every via with the margin satisfied on both layers it touches, on top of everything else going on in the same crowded region.

The three rule classes

Nearly every rule TritonRoute checks falls into one of three families:

Rule class What it governs Why it exists
Spacing Minimum distance between two shapes on the same layer: wire to wire, wire to via, via to via Keeps nets that should be separate from bridging into a short under manufacturing variation
Width Minimum, and sometimes maximum, width of a wire or cut on a layer Below a minimum width the process cannot reliably resolve the shape at all
Enclosure Minimum margin a metal pad must keep around a via cut it connects to Guarantees the metal-to-cut connection survives realistic layer-to-layer misalignment

These three reappear constantly. Module 8’s full DRC treatment is essentially a deeper pass through the same categories, layer by layer, across the whole design. What matters now is that detailed routing is not checking them as an afterthought. It designs around them as it draws each wire and via, which is why it is slower and more failure-prone than the two coarse steps before it. And SKY130’s rules, like every real PDK’s, express spacing and enclosure as functions of the shapes involved. A wide wire often needs more spacing to its neighbour than a minimum-width one, and enclosure margins differ by layer pair. TritonRoute reads those relationships from the technology LEF rather than applying one flat number.

One more thing worth knowing before you ever see one: most enclosure violations TritonRoute reports are not really about that via. The router squeezed it into a tight spot to satisfy some other constraint, a spacing rule to a neighbouring net, limited room in a congested area. The root cause is usually upstream congestion, not the via’s placement logic.

Judging a via’s enclosure

A simplified check with illustrative numbers. The rule requires a pad to enclose its cut by at least 0.06 um on every side. The cut is 0.17 um square. The met2 pad around it is 0.29 um square, centred on the cut. Is the enclosure compliant on all four sides?

Centred means the extra is split evenly: (0.29 - 0.17) / 2 = 0.06 um on each side. That exactly meets the minimum with zero slack. In a real design this is the kind of via a router flags as at risk under a tighter secondary check or a slightly different corner, which is why routers try to leave a little margin above the bare minimum where space allows.

Practice Exercise

A net on met2 needs to reach a cell pin on met1, and the router places the via slightly off-centre relative to the cut, giving 0.08 um of margin on the top and left but only 0.04 um on the bottom and right, against the same 0.06 um minimum. Is the via legal? If not, what are two ways the router could fix it without ripping up the whole net?

Solution

Not legal. The bottom and right margins fall below the 0.06 um minimum even though the top and left have plenty. Enclosure applies per side, not as an average.

Two local fixes: shift the met1 or met2 pad slightly towards the under-enclosed sides without moving the cut, if there is room; or shift the whole via, cut and both pads, towards wherever there is spare room and re-centre it against whatever else is nearby. Both are local adjustments TritonRoute’s rip-up-and-reroute handles routinely. Only when no local shift satisfies all four sides at once, because something blocks every direction, does the fix escalate to rerouting the net or a change further upstream.

With the rules a router has to satisfy in hand, it is time to run both routing passes on the UART and read a real routing report.

โ† What TritonRoute Actually Does Running Global and Detailed Routing โ†’