Extending programs with debug-related features, with application to hardware development
Nik Sultana, Salvator Galea, David Greaves, Marcin Wojcik, Noa, Zilberman, Richard Clegg, Luo Mai, Richard Mortier, Peter Pietzuch, Jon, Crowcroft, Andrew W Moore

TL;DR
This paper introduces Program-hosted Directability (PhD), a flexible method for runtime debugging, monitoring, and profiling of reconfigurable hardware programs, overcoming the limitations of fixed hardware debugging features.
Contribution
The paper presents PhD, a novel language and embedded controller for runtime program directing in hardware, enhancing flexibility with minimal performance impact.
Findings
Enables runtime debugging and monitoring in FPGA programs
Low hardware utilization and performance overhead
Prototype implementation demonstrates practical viability
Abstract
The capacity and programmability of reconfigurable hardware such as FPGAs has improved steadily over the years, but they do not readily provide any mechanisms for monitoring or debugging running programs. Such mechanisms need to be written into the program itself. This is done using ad hoc methods and primitive tools when compared to CPU programming. This complicates the programming and debugging of reconfigurable hardware. We introduce Program-hosted Directability (PhD), the extension of programs to interpret direction commands at runtime to enable debugging, monitoring and profiling. Normally in hardware development such features are fixed at compile time. We present a language of directing commands, specify its semantics in terms of a simple controller that is embedded with programs, and implement a prototype for directing network programs running in hardware. We show that this…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsEmbedded Systems Design Techniques · Parallel Computing and Optimization Techniques · Interconnection Networks and Systems
