MONDAY July 20, 1:30pm - 3:00pm
Tutorial 9 Part 1: Developing Industrial Strength EDA Tools Using the OpenDB Open-source Database and the OpenROAD Framework

Abdelrahman Hosny - Brown Univ., Providence, RI
Andrew Kahng - Univ. of California, San Diego, San Diego, CA
Tom Spyrou - Univ. of California, San Diego, San Diego, CA
Tom Spyrou - Univ. of California, San Diego, San Diego, CA

Open-source EDA is rapidly enabling new waves of innovation on many fronts. For academic researchers, it speeds up the lifecycle of scientific progress and makes research results relevant to modern industry practice. For EDA professionals and the industry ecosystem, open-source EDA is a complement to commercial EDA allowing research which can be leveraged to progress faster. For the IC design community, recent releases under permissive licenses make it possible for design engineers as well as hobbyists to take ideas to manufacturing-ready layout at essentially zero cost. However, bootstrapping an EDA tool for physical design remains a tedious task that requires years of experience. In this tutorial, we will review the key components of OpenDB, a newly open-sourced industrial-level database and framework for physical design tooling. We will provide live demos using OpenDB as the main infrastructure for developing physical design tools. Tcl and Python APIs will be covered in addition to the low-level C++ interfaces. We will then show real use-cases of tools that have been successfully ported to OpenDB, capitalizing on its solid data models. Next, we will demonstrate the strong Continuous Integration infrastructure to invite the community to contribute to OpenDB, and open-source EDA tools in general. After that, we will take a deep dive into examples of building machine learning models on top of OpenDB using PyTorch and Deep Graph Library (DGL). This will show how the well-defined data structures can save weeks or even months of effort in bootstrapping new tools. The target audience for this tutorial includes EDA researchers, developers and graduate students. Whether you are a veteran in developing EDA tools or just starting a career, this tutorial will equip you with the necessary tools and infrastructure to develop the next-generation of open-source EDA tools, in addition to advancing your own research.

Andrew B. Kahng bio: Kahng is Professor of CSE and ECE and holder of the endowed chair in high-performance computing at UC San Diego. He was visiting scientist at Cadence (1995-97) and founder/CTO at Blaze DFM (2004-06).  He is coauthor of 3 books and over 500 journal and conference papers, holds 34 issued U.S. patents, and is a fellow of ACM and IEEE.  He served as general chair of DAC, ISPD and other conferences, and from 2000-2016 as international chair/co-chair of the ITRS Design and System Drivers working groups. He currently serves as PI of “OpenROAD”, a $12.4M U.S. DARPA project targeting open-source, autonomous (“no humans”) tools for IC implementation. 

Tom Spyrou bio: Spyrou has worked for over 30 years as an EDA Technologist and has gained extensive experience in areas including Static Timing Analysis, Logic Synthesis, Power Grid Analysis, Database Technology and Floor-planning. He has led the development of leading edge commercial engines and products such as PrimeTime, Voltage Storm, First Encounter, and the Open Access Database. Tom has been driving EDA algorithms to utilize parallel programming approaches with both multi-process and multi-threaded techniques. Tom is currently the Chief Architect and Technical Program Manager of the OpenROAD project at UCSD. He has a BS from Carnegie Mellon University in ECE and an MS from Santa Clara University.

Abdelrahman Hosny bio: Hosny is a PhD Candidate in the Computer Science department at Brown University. He mixes software industry experience with his research to reimagine the Electronic Design Automation (EDA) landscape. His Ph.D. research tries to make silicon compilation catch up with the advances in software compilation: free, open source and easy to use. Toward that goal, he investigates machine learning techniques (specifically, reinforcement learning) for optimizing EDA flows with no human in the loop. Abdelrahman received a Master’s degree in Computer Science and Engineering from the University of Connecticut, and a Bachelor’s degree in Computer Science from Assiut University, Egypt.