Channel router


A channel router is a specific variety of router for integrated circuits. Normally using two layers of interconnect, it must connect the specified pins on the top and bottom of the channel. Specified nets must also be brought out to the left and right of the channel, but may be brought out in any order. The height of the channel is not specified - the router computes what height is needed.
The density of a channel, defined for every x within the channel, is the number of nets that appear on both the left and right of a vertical line at that x. The maximum density is a lower bound on the height of the channel. A "cyclic constraint" occurs when two pins occur in the same column in at least two columns. In the example shown, nets 1 and 3 suffer from cyclic constraints. This can only be solved by "doglegs" as shown on net 1 of the example.
Channel routers were one of the first forms of routers for integrated circuits, and were heavily used for many years, with YACR perhaps the best known program. However, modern chips have many more than 2 interconnect layers. Although the effort was made to extend channel routers to more layers, this approach was never very popular, since it did not work well with over-the-cell routing where pins are not movable. In recent years, area routers have in general taken over.