Affiliation:
1. University of British Columbia, Vancouver, BC, Canada
2. Brigham Young University, BYU, Provo, UT, USA
Abstract
High-level synthesis (HLS) has gained considerable traction over recent years, as it allows for faster development and verification of hardware accelerators than traditional RTL design. While HLS allows for most bugs to be caught during software verification, certain non-deterministic or data-dependent bugs still require debugging the actual hardware system during execution. Recent work has focused on techniques to allow designers to perform in-system debug of HLS circuits in the context of the original software code; however, like RTL debug, the user must still determine the root cause of a bug using small execution traces, with lengthy debug turns.
In this work, we demonstrate techniques aimed at reducing the time HLS designers spend performing in-system debug. Our approaches consist of performing data dependency analysis to guide the user in selecting which variables are observed by the debug instrumentation, as well as an associated debug overlay that allows for rapid reconfiguration of the debug logic, enabling rapid switching of variable observation between debug iterations. In addition, our overlay provides additional debug capability, such as selective function tracing and conditional buffer freeze points. We explore the area overhead of these different overlay features, showing a basic overlay with only a 1.7% increase in area overhead from the baseline debug instrumentation, while a deluxe variant offers 2×--7× improvement in trace buffer memory utilization with conditional buffer freeze support.
Publisher
Association for Computing Machinery (ACM)
Reference25 articles.
1. Altera. 2016. Altera Virtual JTAG (altera_virtual_jtag) IP Core User Guide. Retrieved from https://www.altera.com/en_US/pdfs/literature/ug/ug_virtualjtag.pdf. Altera. 2016. Altera Virtual JTAG (altera_virtual_jtag) IP Core User Guide. Retrieved from https://www.altera.com/en_US/pdfs/literature/ug/ug_virtualjtag.pdf.
2. Altera. 2016. SDK for OpenCL. Retrieved from https://www.altera.com/products/design-software/embedded-software-developers/opencl/overview.html. Altera. 2016. SDK for OpenCL. Retrieved from https://www.altera.com/products/design-software/embedded-software-developers/opencl/overview.html.
3. Accelerating in-system FPGA debug of high-level synthesis circuits using incremental compilation techniques
4. Debugging and verifying SoC designs through effective cross-layer hardware-software co-simulation
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. mu-grind;Proceedings of the International Conference on Parallel Architectures and Compilation Techniques;2022-10-08
2. Extending High-Level Synthesis for Task-Parallel Programs;2021 IEEE 29th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM);2021-05
3. HLS_PRINT: High Performance Logging Framework on FPGA;Proceedings of the ACM/SPEC International Conference on Performance Engineering;2021-04-09