Wire Sorts: A Language Abstraction for Safe Hardware Composition
Thu 24 Jun 2021 01:30 - 01:35 at PLDI-B - Talks 2B: Language Design and Programming Models
Effective digital hardware design fundamentally requires decomposing a design into a set of interconnected modules, each a distinct unit of computation and state. However, naively connecting hardware modules leads to real-world pathological cases which are surprisingly far from obvious when looking at the interfaces alone and which are very difficult to debug after synthesis. We show for the first time that it is possible to soundly abstract even complex combinational dependencies of arbitrary hardware modules through the assignment of IO ports to one of four new sorts which we call: $\textbf{to-sync}$, $\textbf{to-port}$, $\textbf{from-sync}$, and $\textbf{from-port}$. This new taxonomy, and the reasoning it enables, facilitates modularity by escalating problematic aspects of module input/output interaction to the language-level interface specification. We formalize and prove the soundness of our new wire sorts, implement them in a practical hardware description language, and demonstrate they can be applied and even inferred automatically at scale. Through an examination of the BaseJump STL, the OpenPiton manycore research platform, and a complete RISC-V implementation, we find that even on our biggest design containing 1.5 million primitive gates, analysis takes less than 31 seconds; that across 172 unique modules analyzed, the inferred sorts are widely distributed across our taxonomy; and that by using wire sorts, our tool is $2.6\textendash33.9$x faster at finding loops than standard synthesis-time cycle detection.
Wed 23 JunDisplayed time zone: Eastern Time (US & Canada) change
13:30 - 14:05 | |||
13:30 5mTalk | Wire Sorts: A Language Abstraction for Safe Hardware Composition PLDI Michael Christensen University of California at Santa Barbara, Timothy Sherwood University of California at Santa Barbara, Jonathan Balkind University of California at Santa Barbara, Ben Hardekopf University of California at Santa Barbara DOI | ||
13:35 5mTalk | Scooter & Sidecar: A Domain-Specific Approach to Writing Secure Database Migrations PLDI John Renner University of California at San Diego, Alex Sanchez-Stern University of California at San Diego, Fraser Brown Stanford University, Sorin Lerner University of California at San Diego, Deian Stefan University of California at San Diego DOI | ||
13:40 5mTalk | Unqomp: Synthesizing Uncomputation in Quantum Circuits PLDI Anouk Paradis ETH Zurich, Benjamin Bichsel ETH Zurich, Samuel Steffen ETH Zurich, Martin Vechev ETH Zurich DOI | ||
13:45 5mTalk | Gleipnir: Toward Practical Error Analysis for Quantum Programs PLDI Runzhou Tao Columbia University, Yunong Shi University of Chicago, Jianan Yao Columbia University, John Hui Columbia University, Frederic T. Chong University of Chicago, Ronghui Gu Columbia University DOI | ||
13:50 5mTalk | Quantum Abstract Interpretation PLDI DOI | ||
13:55 5mTalk | Task Parallel Assembly Language for Uncompromising Parallelism PLDI Mike Rainey Carnegie Mellon University, Ryan R. Newton Facebook, Kyle Hale Illinois Institute of Technology, Nikos Hardavellas Northwestern University, Simone Campanoni Northwestern University, Peter Dinda Northwestern University, Umut A. Acar Carnegie Mellon University DOI | ||
14:00 5mTalk | DIY Assistant: A Multi-modal End-User Programmable Virtual Assistant PLDI Michael Fischer Stanford University, Giovanni Campagna Stanford University, Euirim Choi Stanford University, Monica S. Lam Stanford University DOI Media Attached |
Thu 24 JunDisplayed time zone: Eastern Time (US & Canada) change
01:30 - 02:05 | |||
01:30 5mTalk | Wire Sorts: A Language Abstraction for Safe Hardware Composition PLDI Michael Christensen University of California at Santa Barbara, Timothy Sherwood University of California at Santa Barbara, Jonathan Balkind University of California at Santa Barbara, Ben Hardekopf University of California at Santa Barbara DOI | ||
01:35 5mTalk | Scooter & Sidecar: A Domain-Specific Approach to Writing Secure Database Migrations PLDI John Renner University of California at San Diego, Alex Sanchez-Stern University of California at San Diego, Fraser Brown Stanford University, Sorin Lerner University of California at San Diego, Deian Stefan University of California at San Diego DOI | ||
01:40 5mTalk | Unqomp: Synthesizing Uncomputation in Quantum Circuits PLDI Anouk Paradis ETH Zurich, Benjamin Bichsel ETH Zurich, Samuel Steffen ETH Zurich, Martin Vechev ETH Zurich DOI | ||
01:45 5mTalk | Gleipnir: Toward Practical Error Analysis for Quantum Programs PLDI Runzhou Tao Columbia University, Yunong Shi University of Chicago, Jianan Yao Columbia University, John Hui Columbia University, Frederic T. Chong University of Chicago, Ronghui Gu Columbia University DOI | ||
01:50 5mTalk | Quantum Abstract Interpretation PLDI DOI | ||
01:55 5mTalk | Task Parallel Assembly Language for Uncompromising Parallelism PLDI Mike Rainey Carnegie Mellon University, Ryan R. Newton Facebook, Kyle Hale Illinois Institute of Technology, Nikos Hardavellas Northwestern University, Simone Campanoni Northwestern University, Peter Dinda Northwestern University, Umut A. Acar Carnegie Mellon University DOI | ||
02:00 5mTalk | DIY Assistant: A Multi-modal End-User Programmable Virtual Assistant PLDI Michael Fischer Stanford University, Giovanni Campagna Stanford University, Euirim Choi Stanford University, Monica S. Lam Stanford University DOI Media Attached |