Bringing Source-Level Debugging Frameworks to Hardware Generators
Keyi Zhang, Zain Asgar, Mark Horowitz

TL;DR
This paper introduces a framework that integrates source-level debugging tools with hardware generators, enabling easier debugging of generated RTL code within familiar IDE environments, with minimal performance overhead.
Contribution
It presents a novel framework that connects software source-level debugging to hardware RTL generated from high-level hardware description languages.
Findings
Supports breakpoints and variable inspection in generated RTL
Enables forward and backward debugging with less than 5% overhead
Provides IDE-like debugging experience for hardware generators
Abstract
High-level hardware generators have significantly increased the productivity of design engineers. They use software engineering constructs to reduce the repetition required to express complex designs and enable more composability. However, these benefits are undermined by a lack of debugging infrastructure, requiring hardware designers to debug generated, usually incomprehensible, RTL code. This paper describes a framework that connects modern software source-level debugging frameworks to RTL created from hardware generators. Our working prototype offers an Integrated Development Environment (IDE) experience for generators such as RocketChip (Chisel), allowing designers to set breakpoints in complex source code, relate RTL simulation state back to source-level variables, and do forward and backward debugging, with almost no simulation overhead (less than 5%).
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsEmbedded Systems Design Techniques · Real-Time Systems Scheduling · Parallel Computing and Optimization Techniques
