OpenROAD: Toward a Self-Driving, Open-Source Digital Layout Implementation Tool Chain

We describe the scope and initial efforts of OpenROAD, a project in the DARPA IDEA program that pursues open-source tools for 24-hour, “no human in the loop” digital layout generation across integrated circuit, package and board domains. If successful, OpenROAD will help realize the IDEA goal of “democratization of hardware design”, by reducing cost, expertise, schedule and risk barriers that confront system designers today. Several novel technical directions follow directly from the IDEA program’s 24-hour, no-humans goals. These include (i) enablement of pervasive machine learning in and around design tools and flows, (ii) parallel search and optimization to exploit available cloud resources, (iii) partitioning and problem decomposition to reduce solution latency, and (iv) layout generation methodologies that provide “freedoms from choice” without undue loss of design quality. Further, the development of open-source, self-driving design tools is in and of itself a “moon shot” with numerous technical and cultural challenges.

[1]  Andrew B. Kahng,et al.  Optimal Generalized H-Tree Topology and Buffering for High-Performance and Low-Power Clock Distribution , 2020, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Derong Liu,et al.  Prim-Dijkstra Revisited: Achieving Superior Timing-driven Routing Trees , 2018, ISPD.

[3]  George Markowsky,et al.  A fast algorithm for Steiner trees , 1981, Acta Informatica.

[4]  Johann Glaser,et al.  Yosys-A Free Verilog Synthesis Suite , 2013 .

[5]  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.

[6]  Kristina Chodorow,et al.  MongoDB - The Definitive Guide: Powerful and Scalable Data Storage , 2019 .

[7]  Andrew B. Kahng,et al.  TritonRoute: An Initial Detailed Router for Advanced VLSI Technologies , 2018, 2018 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[8]  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.

[9]  Fogaca Mateus,et al.  Quadratic timing objectives for incremental timing-driven placement optimization , 2016 .

[10]  Andrew B. Kahng,et al.  The ITRS MPU and SOC system drivers: Calibration and implications for design-based equivalent scaling in the roadmap , 2014, 2014 IEEE 32nd International Conference on Computer Design (ICCD).