An Algorithm for M Shortest Routes for a Net

An algorithm to find M shortest routes connecting the pins of a net is presented. The algorithm runs in O(n1ogn + Mn) time in the worst case, where n is the number of vertices in the channel graph. This is achieved by partitioning the vertices of the channel graph into I P I sets and mapping it into an auxiliary graph with 1 P I vertices, where P is the set of pins in the net. This reduces the problem to that ofjinding the M shortest spanning trees of the auxiliary graph. The algorithm can utilize electrically equivalent pins to minimize the routing length of a net.