Starfish: An Efficient P&R Co-Optimization Engine with A*-based Partial Rerouting

Placement and routing (P&R) are two important stages in the physical design flow. After circuit components are assigned locations by a placer, routing will take place to make the connections. Defined as two separate problems, placement and routing aim to optimize different objectives. For instance, placement usually focuses on optimizing the half-perimeter wire length (HPWL) and estimated congestion while routing will try to minimize the routed wire length and the number of overflows. The misalignment between the objectives will inevitably lead to a significant degradation in solution quality. Therefore, in this paper, we present Starfish, an efficient P&R co-optimization engine that bridges the gap between placement and routing. To incrementally optimize the routed wire length, Starfish conducts cell movements and reconnects broken nets by A*-based partial rerouting. Experimental results on the ICCAD 2020 contest benchmark suites [1] show that our co-optimizer outperforms all the contestants with better solution quality and much shorter runtime.

[1]  Cheng-Kok Koh,et al.  Optimization of placement solutions for routability , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[2]  Evangeline F. Y. Young,et al.  CUGR: Detailed-Routability-Driven 3D Global Routing with Probabilistic Resource Model , 2020, 2020 57th ACM/IEEE Design Automation Conference (DAC).

[3]  Ismail Bustany,et al.  NTUplace4dr: A Detailed-Routing-Driven Placer for Mixed-Size Circuit Designs With Technology and Region Constraints , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[4]  Chris C. N. Chu,et al.  FLUTE: Fast Lookup Table Based Rectilinear Steiner Minimal Tree Algorithm for VLSI Design , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  Chris C. N. Chu,et al.  IPR: An Integrated Placement and Routing Algorithm , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[6]  Chris C. N. Chu,et al.  An efficient and effective detailed placement algorithm , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[7]  Yih-Lang Li,et al.  GRPlacer: Improving routability and wire-length of global routing with circuit replacement , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[8]  Min Pan,et al.  FastRoute: A Step to Integrate Global Routing into Placement , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[9]  Tao-Chun Yu,et al.  ICCAD-2020 CAD contest in Routing with Cell Movement : Invited Talk , 2020, 2020 IEEE/ACM International Conference On Computer Aided Design (ICCAD).

[10]  Andrew B. Kahng,et al.  RePlAce: Advancing Solution Quality and Routability Validation in Global Placement , 2019, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[11]  Yue Xu,et al.  MGR: Multi-level global router , 2011, 2011 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[12]  Yih-Lang Li,et al.  NCTU-GR 2.0: Multithreaded Collision-Aware Global Routing With Bounded-Length Maze Routing , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.