How Routers Work
Many routers execute the following overall algorithm:
- First, determine an approximate course for each net, often by routing on a coarse grid. This step is called global routing, and may optionally include layer assignment. Global routing limits the size and complexity of the following detailed routing steps, which can be done grid square by grid square.
For detailed routing, the most common technique is rip-up and reroute:
- Select a sequence in which the nets are to be routed.
- Route each net in sequence
- If not all nets can be successfully routed, apply any of a variety of "cleanup" methods, in which selected routings are removed, the order of the remaining nets to be routed is changed, and the remaining routings are attempted again.
This process repeats until all nets are routed or the program (or user) gives up.
An alternative approach is to treat shorts, design rule violations, obstructions, etc. on a similar footing as excess wire length—that is, as finite costs to be reduced (at first) rather than as absolutes to be avoided. This multi-pass "iterative-improvement" routing method is described by the following algorithm:
- For each of several iterative passes:
- Prescribe or adjust the weight parameters of an "objective function" (having a weight parameter value for each unit of excess wire length, and for each type of violation). E.g., for the first pass, excess wire length may typically be given a high cost, while design violations such as shorts, adjacency, etc. are given a low cost. In later passes, the relative ordering of costs is changed so that violations are high-cost, or may be prohibited absolutely.
- Select (or randomly choose) a sequence in which nets are to be routed during this pass.
- "Rip up" (if previously routed) and reroute each net in turn, so as to minimize the value of the objective function for that net. (Some of the routings will in general have shorts or other design violations.)
- Proceed to the next iterative pass until routing is complete and correct, is not further improved, or some other termination criterion is satisfied.
Most routers assign wiring layers to carry predominantly "x" or "y" directional wiring, though there have been routers which avoid or reduce the need for such assignment. There are advantages and disadvantages to each approach. Restricted directions make power supply design and the control of inter-layer crosstalk easier, but allowing arbitrary routes can reduce the need for vias and decrease the number of required wiring layers.
Read more about this topic: Routing (electronic Design Automation)
Famous quotes containing the word work:
“It is not at all monstrous in me to say ... that I would rather have such a memorial of one I dearly loved, than the noblest artists work ever produced.”
—Elizabeth Barrett Browning (18061861)