NCTU-GR 2.0: Multithreaded collision-aware global routing with bounded-length maze routing

Wen Hao Liu*, Wei Chun Kao, Yih-Lang Li, Kai Yuan Chao

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

129 Scopus citations


Modern global routers employ various routing methods to improve routing speed and quality. Maze routing is the most time-consuming process for existing global routing algorithms. This paper presents two bounded-length maze routing (BLMR) algorithms (optimal-BLMR and heuristic-BLMR) that perform much faster routing than traditional maze routing algorithms. In addition, a rectilinear Steiner minimum tree aware routing scheme is proposed to guide heuristic-BLMR and monotonic routing to build a routing tree with shorter wirelength. This paper also proposes a parallel multithreaded collision-aware global router based on a previous sequential global router (SGR). Unlike the partitioning-based strategy, the proposed parallel router uses a task-based concurrency strategy. Finally, a 3-D wirelength optimization technique is proposed to further refine the 3-D routing results. Experimental results reveal that the proposed SGR uses less wirelength and runs faster than most of other state-of-the-art global routers with a different set of parameters , , , . Compared to the proposed SGR, the proposed parallel router yields almost the same routing quality with average 2.71 and 3.12-fold speedup on overflow-free and hard-to-route cases, respectively, when running on a 4-core system.

Original languageEnglish
Article number6504553
Pages (from-to)709-722
Number of pages14
JournalIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Issue number5
StatePublished - 2013


  • Global routing
  • maze routing
  • multithreaded routing
  • physical design
  • rip-up and reroute


Dive into the research topics of 'NCTU-GR 2.0: Multithreaded collision-aware global routing with bounded-length maze routing'. Together they form a unique fingerprint.

Cite this