A full-scale solution to the rectilinear obstacle-avoiding Steiner problem

  • Authors:
  • Tom Tong Jing;Yu Hu;Zhe Feng;Xian-Long Hong;Xiaodong Hu;Guiying Yan

  • Affiliations:
  • Electrical Engineering Department, UCLA, Los Angeles, CA 90095, US and Computer Science and Technology Department, Tsinghua University, Beijing 100084, PR China;Electrical Engineering Department, UCLA, Los Angeles, CA 90095, US and Computer Science and Technology Department, Tsinghua University, Beijing 100084, PR China;Electrical Engineering Department, UCLA, Los Angeles, CA 90095, US and Computer Science and Technology Department, Tsinghua University, Beijing 100084, PR China;Computer Science and Technology Department, Tsinghua University, Beijing 100084, PR China;Institute of Applied Mathematics, Chinese Academy of Sciences, Beijing 100080, PR China;Institute of Applied Mathematics, Chinese Academy of Sciences, Beijing 100080, PR China

  • Venue:
  • Integration, the VLSI Journal
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Routing is one of the important steps in very/ultra large-scale integration (VLSI/ULSI) physical design. Rectilinear Steiner minimal tree (RSMT) construction is an essential part of routing. Macro cells, IP blocks, and pre-routed nets are often regarded as obstacles in the routing phase. Obstacle-avoiding RSMT (OARSMT) algorithms are useful for practical routing applications. However, OARSMT algorithms for multi-terminal net routing still cannot meet the requirements of practical applications. This paper focuses on the OARSMT problem and gives a solution to full-scale nets based on two algorithms, namely An-OARSMan and FORSTer. (1) Based on ant colony optimization (ACO), An-OARSMan can be used for common scale nets with less than 100 terminals in a circuit. An heuristic, greedy obstacle penalty distance (OP-distance), is used in the algorithm and performed on the track graph. (2) FORSTer is a three-step heuristic used for large-scale nets with more than 100 terminals in a circuit. In Step 1, it first partitions all terminals into some subsets in the presence of obstacles. In Step 2, it then connects terminals in each connected graph with one or more trees, respectively. In Step 3, it finally connects the forest consisting of trees constructed in Step 2 into a complete Steiner tree spanning all terminals while avoiding all obstacles. (3) These two graph-based algorithms have been implemented and tested on different kinds of cases. Experimental results show that An-OARSMan can handle both convex and concave polygon obstacles with short wire length. It achieves the optimal solution in the cases with no more than seven terminals. The experimental results also show that FORSTer has short running time, which is suitable for routing large-scale nets among obstacles, even for routing a net with one thousand terminals in the presence of 100 rectangular obstacles.