A Novel Random Global Routing Algorithm Independent of Net Ordering

Global routing is a significant part of VLSI computer aided physical design, i.e., layout design. It is proved that the optimal global routing is a NP hard problem. In recent two decades, many global routing algorithms have been presented. However, the following three problems are still the critical problems in global routing. (1) The final routing solution is sensitive to the order in which the nets are considered; (2) It is very difficult for global routers to predict congested areas, i.e., congested edges, in global routing graph (GRG); (3) The net connection patterns that can be produced are restricted by the routing algorithm. To solve these three problems, we propose a novel global routing algorithm independent of net ordering (RINO) in this paper. RINO uses random dynamic optimization method and six special optimization strategies to keep the equality of earlier routed nets and later routed ones in passing congested edges and to get the accurate estimation of congested area step by step. That is, let the nets routed earlier give up passing some edges if the nets routed later really need to pass them. RINO also uses an effective generating steiner tree method to let a net not pass any congested edges. As a result, all congested nets are able to have almost equal chances to pass the hot edges. According to RINO algorithm, a global router called RINO Router is implemented in the C language on a Sun Enterprise 450 under the Unix operating system. We tested five Microelectronics Center of North Carolina (MCNC) benchmark circuits, which are C2, C5, C7, S13207, and Avq. Furthermore, the experimental results are compared with those of Matula Router, a very good global router since 1991. The experimental results show that RINO Router performs much faster than Matula Router does while they get solutions with approximate quality (evaluated by the number of overflow edges and total wire length).