Composing Modular Flow Generators with Python-Based Static Checking to Enable Agile Principles in Physical Design
Speaker: Chris Torng, Postdoctoral Researcher, Stanford University
Date: October 14, 2021
Achieving high code reuse in physical design is challenging but also increasingly necessary for building complex systems in advanced technologies. Existing approaches based on parameterized Tcl templates or generators fail to preserve reusable code as risk-averse teams customize scripts aggressively for their specific technology and design. We present a new approach based on modular flow generators that embraces modularity to compose code from both generic sources (both technology- and design-agnostic) and custom sources. We couple the generator with a flow consistency and instrumentation layer embedded in Python, which supports static analysis and transformation of the flow to enable static property checks, runtime assertions, and team sharing of pre-built nodes. A detailed evaluation quantifies code reuse in silicon prototypes designed in TSMC16, TSMC28, TSMC40, SKY130, and IBM180 technologies, making the case that modular flow generators can enable agile principles and increase reuse in future physical design flows.