Routing and repair
Read the map, then answer. Some questions give you four readings to choose between, some show two maps and ask which is healthy, and some ask you to click the region itself. Keys 1 to 4 choose an option, a and b choose a map, and Enter moves on. Every answer is followed by a description of what the map shows and the numbers behind it. Progress is stored in this browser.
All 7 maps in this family, described
-
Which run was restricted to the lowest few metal layers?the same design routed twice, every layer drawn in its own colour
Both are dense grids of wire. The left one carries several colours including pale yellow and white strands; the right one is built almost entirely from red, green and blue.
The tool draws each metal layer in its own colour, so the palette counts the layers for you. The restricted run has no upper-layer colours at all: everything is on the first three. It routed anyway, on 8 percent more wire, because a block this small has short nets. The same picture on a large design is what an unroutable block looks like.
-
What is highlighted here?gcd on Nangate45, the cells the resizer changed
The full placement in outline, with scattered cells filled in yellow and a handful in red. Most of the highlighted cells sit along the top and bottom rows and down the left edge.
Repair works where the timing is tight, and on this design much of that is near the boundary, because the port paths are given a fifth of the period as external delay and have to cross the block in what remains. A map like this one is the quickest way to see where the tool spent its effort, which is usually where the design needs attention.
-
What are the wide pink bands?gcd on Nangate45, everything drawn at once at the end of the run
A dense weave of coloured wires over the whole core, crossed by three wide pink bands running left to right and three running top to bottom, with regular blue horizontal lines behind everything.
The straps are wide because they carry current, and they run in both directions on two upper layers so the grid is a mesh rather than a comb. The evenly spaced blue lines underneath are the rails that feed each row of cells. Signals weave around all of it, which is why a heavy grid and a congested design fight each other.
-
Why does no long wire on this picture turn a corner?gcd on the Skywater 130 nanometre high density library, every routed wire on every layer
The core is solid with metal. Long wires in one colour run only up and down, long wires in two other colours run only left and right, and the short stubs that join them sit at the crossings.
Routing layers alternate their preferred direction, horizontal then vertical then horizontal, so a wire that needs to go around a corner goes up a layer through a via, travels the other way, and comes back down. Two consequences follow, and both matter more than the picture does. Adding one layer to a stack adds capacity in one direction only, which is why layers are worth counting in pairs. And every corner costs a via, so the vias, not the metal, are usually what runs out first in a congested block. This one is packed at 92 percent utilization on five routing layers and still came out clean, though the detailed router needed three passes to get there: 131 violations, then 86, then none.
-
Why does the wiring stop at the two macros instead of crossing them?tinyRocket on Nangate45, every signal wire, with the power and ground nets hidden
Wire covers the core edge to edge. The two macros near the bottom are pale rectangles with their own vertical stripes inside and almost nothing laid across them, and a band of bare rows surrounds each one.
Routing over a macro is allowed and routinely done, but only on the layers above the ones the macro's own metal occupies, and those are the same upper layers the power grid and the long global nets want. So the router treats it as expensive and takes it only when the detour costs more. Here there is room to go around, and it does: one wire clips a corner and everything else turns. Two things follow. When a floorplan gets tight, over-the-macro routing is a lever you can pull, at the cost of upper-layer resource. And the bare rows around each macro are the halo, which is why the same run's congestion map reads cold in exactly that ring.
-
Both colours were added by the tools. What separates them?gcd on ASAP7 (Arizona State University 7 nanometre predictive process design kit), the cells timing work added
The placement in outline with two kinds of cell filled in. Yellow ones line the top edge and both sides, more than forty of them. Red ones, eight in all, sit scattered in the interior.
The yellow ones are the port buffers, 35 on the inputs and 18 on the outputs, and they went in before placement started, one on every port, as a matter of course rather than in response to anything. That is why they sit around the edge. The red ones are rebuffering from setup repair, added later and only where the timing asked. So the colour tells you routine work from real work, and the useful habit is to look at the interior. Forty-odd cells around the rim of a block is the flow saying hello. Eight in the middle is the flow saying it had to try.
-
Click a cell that timing repair had to add.gcd on ASAP7 (Arizona State University 7 nanometre predictive process design kit), the cells timing work added
Two kinds of highlighted cell over the placement outline. Several dozen yellow ones around the rim of the core, and nine red ones out in the middle of the block.
The red ones. Those are the rebuffering cells, added during repair and only where the timing asked for them. The yellow crowd around the edge is the port buffers, 53 of them, put in before placement had even started because every port gets one whether it needs help or not. So the two colours answer two different questions. Yellow tells you where the block's boundary is. Red tells you where it hurt.