BEAVER

BEAVER: a computational-geometry-based tool for switchbox routing. BEAVER combines a delayed layering scheme with computational geometry techniques to heuristically produce a switchbox solution that minimizes both via and usage and wire length, and maximizes the use of a preferred routing layer. Other important features are its use of priority queues to determine the order in which nets are routed, and its prioritized control of individual track and column usage to prevent routing conflicts. BEAVER consists of four tools that are run successively: a corner router, a line sweep router, a thread router, and a layerer. The corner router makes single-bend terminal-to-terminal connections. The line sweep router makes straight-line connections, single-bend connections, and two-bend connections. The thread router makes connections of arbitrary form. The layerer completes the switchbox by layering wires that have been assigned a location but not yet a layer. BEAVER has successfully routed all of the classic switchboxes. Its solution quality with respect to wire length was better than, or comparable to, the best previous solutions and its via usage was consistently the minimum,