Wed 21 Jun 2023 16:00 - 16:20 at Royal - PLDI: Hardware & Systems Chair(s): Zachary Tatlock

We introduce the new problem of \textit{hardware decompilation}. Analogous to software decompilation, hardware decompilation is about analyzing a low-level artifact—in this case a \textit{netlist}, i.e., a graph of wires and logical gates representing a digital circuit—in order to recover higher-level programming abstractions, and using those abstractions to generate code written in a hardware description language (HDL). The overall problem of hardware decompilation requires a number of pieces. In this paper we focus on one specific piece of the puzzle: a technique we call \textit{hardware loop rerolling}. Hardware loop rerolling leverages clone detection and program synthesis techniques to identify repeated logic in netlists (such as would be synthesized from loops in the original HDL code) and \textit{reroll} them into syntactic loops in the recovered HDL code. We evaluate hardware loop rerolling for hardware decompilation over a set of hardware design benchmarks written in the PyRTL HDL and industry standard SystemVerilog. Our implementation identifies and rerolls loops in 52 out of 53 of the netlists in our benchmark suite, and we show three examples of how hardware decompilation can provide concrete benefits: transpilation between HDLs, faster simulation times over netlists (with mean speedup of 6x), and artifact compaction (39% smaller on average).

Wed 21 Jun

Displayed time zone: Eastern Time (US & Canada) change

16:00 - 18:00
PLDI: Hardware & SystemsPLDI Research Papers at Royal
Chair(s): Zachary Tatlock University of Washington

#pldi-wed-1600-hardware-royal Discord icon small YouTube icon small

16:00
20m
Talk
Loop Rerolling for Hardware Decompilation
PLDI Research Papers
Zachary Sisco UC Santa Barbara, Jonathan Balkind UC Santa Barbara, Timothy Sherwood University of California at Santa Barbara, Ben Hardekopf University of California at Santa Barbara
DOI
16:20
20m
Talk
Memento: A Framework for Detectable Recoverability in Persistent Memory
PLDI Research Papers
Kyeongmin Cho KAIST, Seungmin Jeon KAIST, Azalea Raad Imperial College London, Jeehoon Kang KAIST
DOI
16:40
20m
Talk
Cutting the Cake: A Language for Fair Division
PLDI Research Papers
Noah Bertram Cornell University, Alex Levinson Cornell University, Justin Hsu Cornell University
DOI
17:00
20m
Talk
cuCatch: A Debugging Tool for Efficiently Catching Memory Safety Violations in CUDA Applications
PLDI Research Papers
DOI Pre-print
17:20
20m
Talk
A Lineage-Based Referencing DSL for Computer-Aided Design
PLDI Research Papers
Dan Cascaval University of Washington, Rastislav Bodík Google Research, Brain Team, Adriana Schulz University of Washington
DOI Pre-print
17:40
20m
Talk
A Type System for Safe Intermittent Computing
PLDI Research Papers
Milijana Surbatovich Carnegie Mellon University, Naomi Spargo Carnegie Mellon University, Limin Jia Carnegie Mellon University, Brandon Lucia Carnegie Mellon University, USA
DOI