Some theoretical aspects of algorithmic routing

In this paper we describe a router which has the capabilities of automatic rip-up and rerouting. The system employs a “look-ahead” feature for determining if as yet unrouted nets are unroutable. Backtrack programming is used to implement an implicit enumeration scheme which sequentially produces alternative paths for a given net. The relationship between this type of router and the problem of ordering nets is discussed. By varying parameters in our router which deal with back tracking and path-length deviations, we can obtain a hierarchy of routing systems. One extreme case corresponds to a classical Lee-type router; another to a “perfect” router which guarantees finding a solution if one exists.