Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Signal-Tracing Techniques for In-System FPGA Debugging of High-Level Synthesis Circuits

Published: 01 January 2017 Publication History

Abstract

High-level synthesis (HLS) promises to increase designer productivity in the face of increasing field-programmable gate array sizes, and broaden the market of use, allowing software designers to reap the benefits of hardware implementation. One roadblock to HLS adoption is the lack of an in-system debugging infrastructure. Although designers can run their software code on a workstation, or simulate the register-transfer level, neither can reliably capture the behaviors, and therefore bugs, that may be present in the final system. Debugging hardware circuits in-system requires using signal-tracing to record circuit behavior for later offline analysis. In this paper, we present a debugging architecture, which automatically records key hardware signals, and relates them back to the original software source code. This architecture allows designers to debug HLS circuits in-system, in the context of the original source code. We present several signal-tracing techniques, tailored to HLS circuits, which allow a much longer execution trace to be captured. These techniques include signal compression, dynamically changing which signals are recorded cycle-by-cycle, and offline signal restoration. Compared to using an embedded logic analyzer to perform signal-tracing, our architecture increases the length of execution trace that can be recorded by 127X. For each 100 Kb of trace buffer memory, our architecture can record 15 369 executed lines of C code.

References

[1]
W. Meeus, K. Van Beeck, T. Goedemé, J. Meel, and D. Stroobandt, “ An overview of today s high-level synthesis tools,” Design Autom. Embedded Syst., vol. Volume 16, no. Issue 3, pp. 31–51, 2012.
[2]
L. Daoud, D. Zydek, and H. Selvaraj, “ A survey of high level synthesis languages, tools, and compilers for reconfigurable high performance computing,” in Advances in Systems Science, vol. Volume 240 . Cham, Switzerland: Springer, 2014, pp. 483–492.
[3]
Occupational Outlook Handbook, United States Bureau of Labor Stat., Washington, DC, USA, 2012.
[4]
T. S. Czajkowski et al., “ OpenCL for FPGAs: Prototyping a compiler,” in Proc. Int. Conf. Eng. Reconfig. Syst. Algorithms, Athens, Greece, 2012, pp. 3–12.
[5]
SDAccel Development Environment: User Guide, Xilinx, San Jose, CA, USA, 2015.
[6]
K. Wakabayashi, “ CyberWorkBench: Integrated design environment based on C-based behavior synthesis and verification,” in Proc. Int. Symp. VLSI Design Autom. Test., Hsinchu, Taiwan, Apr. 2005, pp. 173–176.
[7]
J. Goeders and S. J. E. Wilton, “ Effective FPGA debug for high-level synthesis generated circuits,” in Proc. Int. Conf. Field Program. Logic Appl., Munich, Germany, Sep. 2014, pp. 1–8.
[8]
J. Goeders and S. J. E. Wilton, “ Using dynamic signal-tracing to debug compiler-optimized HLS circuits on FPGAs,” in Proc. Int. Symp. Field Program. Custom Comput. Mach., Vancouver, BC, Canada, May 2015, pp. 127–134.
[9]
K. Wakabayashi, “ Reconfigurable chip advantage compared with GPGPU from the compiler perspective,” in Proc. Int. Conf. Field Program. Technol., Kyoto, Japan, Dec. 2013, p. pp.2.
[10]
Mentor Graphics. Certus ASIC Prototyping Debug Solution . Accessed on 12, 2014. [Online]. Available: http://www.mentor.com/products/fv/certus
[11]
ChipScope Pro Software and Cores: User Guide, Xilinx, San Jose, CA, USA, 2012.
[12]
Quartus II Handbook Version 13.1 Volume 3: Verification; 13. Design Debugging Using the SignalTap II Logic Analyzer, Altera, San Jose, CA, USA, 2013.
[13]
E. Hung and S. J. E. Wilton, “ Speculative debug insertion for FPGAs,” in Proc. Field Program. Logic Appl., Chania, Greece, 2011, pp. 524–531.
[14]
P. Graham, B. Nelson, and B. Hutchings, “ Instrumenting bitstreams for debugging FPGA circuits,” in Proc. Field Program. Custom Comput. Mach., Rohnert Park, CA, USA, Mar. 2001, pp. 41–50.
[15]
H. F. Ko and N. Nicolici, “ Algorithms for state restoration and trace-signal selection for data acquisition in silicon debug,” IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. Volume 28, no. Issue 2, pp. 285–297, 2009.
[16]
E. Hung and S. J. E. Wilton, “ Scalable signal selection for post-silicon debug,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. Volume 21, no. Issue 6, pp. 1103–1115, 2013.
[17]
E. Anis Daoud and N. Nicolici, “ Real-time lossless compression for silicon debug,” IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. Volume 28, no. Issue 9, pp. 1387–1400, 2009.
[18]
X. Liu and Q. Xu, “ On multiplexed signal tracing for post-silicon validation,” IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. Volume 32, no. Issue 5, pp. 748–759, 2013.
[19]
K. S. Hemmert, J. L. Tripp, B. L. Hutchings, and P. A. Jackson, “ Source level debugger for the Sea Cucumber synthesizing compiler,” in Proc. Symp. Field Program. Custom Comput. Mach., Napa, CA, USA, Apr. 2003, pp. 228–237.
[20]
B. Vermeulen, “ Functional debug techniques for embedded systems,” IEEE Design Test Comput., vol. Volume 25, no. Issue 3, pp. 208–215, 2008.
[21]
N. Calagar, S. D. Brown, and J. H. Anderson, “ Source-level debugging for FPGA high-level synthesis,” in Proc. Int. Conf. Field Program. Logic Appl., Munich, Germany, Sep. 2014, pp. 1–8.
[22]
J. S. Monson and B. Hutchings, “ New approaches for in-system debug of behaviorally-synthesized FPGA circuits,” in Proc. Int. Conf. Field Program. Logic Appl., Munich, Germany, Sep. 2014, pp. 1–6.
[23]
Vivado Design Suite User Guide: High-Level Synthesis, Xilinx, San Jose, CA, USA, 2013.
[24]
J. S. Monson and B. Hutchings, “ Using source-to-source compilation to instrument circuits for debug with high level synthesis,” in Proc. Int. Conf. Field Program. Technol., Queenstown, New Zealand, Dec. 2015, pp. 48–55.
[25]
J. Goeders and S. J. E. Wilton, “ Using round-Robin tracepoints to debug multithreaded HLS circuits on FPGAs,” in Proc. Int. Conf. Field Program. Technol., Queenstown, New Zealand, Dec. 2015, pp. 40–47.
[26]
X. Liu and Q. Xu, “ Trace signal selection for visibility enhancement in post-silicon validation,” in Proc. Design Autom. Test Europe, Nice, France, 2009, pp. 1338–1343.
[27]
S. Prabhakar and M. Hsiao, “ Using non-trivial logic implications for trace buffer-based silicon debug,” in Proc. Asian Test Symp., Taichung, Taiwan, Nov. 2009, pp. 131–136.
[28]
D. Chatterjee, C. McCarter, and V. Bertacco, “ Simulation-based signal selection for state restoration in silicon debug,” in Proc. Int. Conf. Comput.-Aided Design, San Jose, CA, USA, Nov. 2011, pp. 595–601.
[29]
K. Basu and P. Mishra, “ RATS: Restoration-aware trace signal selection for post-silicon validation,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. Volume 21, no. Issue 4, pp. 605–613, 2013.
[30]
A. Canis et al., “ LegUp: An open-source high-level synthesis tool for FPGA-based processor/accelerator systems,” ACM Trans. Reconfig. Technol. Syst., vol. Volume 13, no. Issue 2, pp. 1–27, 2013.
[31]
C. Lattner and V. Adve, “ LLVM: A compilation framework for lifelong program analysis & transformation,” in Proc. Code Gener. Optim., Mar. 2004, p. pp.75.
[32]
J. Villarreal, A. Park, W. Najjar, and R. Halstead, “ Designing modular hardware accelerators in C with ROCCC 2.0,” in Proc. Int. Symp. Field Program. Custom Comput. Mach., Charlotte, NC, USA, 2010, pp. 127–134.
[33]
J. Chen, C.-H. Chang, F. Feng, W. Ding, and J. Ding, “ Novel design algorithm for low complexity programmable FIR filters based on extended double base number system,” IEEE Trans. Circuits Syst. I, Reg. Papers, vol. Volume 62, no. Issue 1, pp. 224–233, 2015.
[34]
F. Feng, J. Chen, and C.-H. Chang, “ Hypergraph based minimum arborescence algorithm for the optimization and reoptimization of multiple constant multiplications,” IEEE Trans. Circuits Syst. I, Reg. Papers, vol. Volume 63, no. Issue 2, pp. 233–244, 2016.
[35]
Y. Hara, H. Tomiyama, S. Honda, and H. Takada, “ Proposal and quantitative analysis of the CHStone benchmark program suite for practical C-based high-level synthesis,” J. Inf. Process., vol. Volume 17, pp. 242–254, 2009.
[36]
J. B. Goeders and S. J. E. Wilton, “ Allowing software developers to debug HLS hardware,” in Proc. Int. Workshop FPGAs Softw. Program., London, U.K., Aug. 2015.

Cited By

View all
  • (2023)Toward Software-like Debugging for FPGAs via Checkpointing and Transaction-based Co-SimulationACM Transactions on Reconfigurable Technology and Systems10.1145/355252116:2(1-24)Online publication date: 10-May-2023
  • (2022)mu-grindProceedings of the International Conference on Parallel Architectures and Compilation Techniques10.1145/3559009.3569671(346-358)Online publication date: 8-Oct-2022
  • (2022)Stop and Look: A Novel Checkpointing and Debugging Flow for FPGAsIEEE Transactions on Computers10.1109/TC.2021.313382871:10(2513-2526)Online publication date: 1-Oct-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems  Volume 36, Issue 1
January 2017
183 pages

Publisher

IEEE Press

Publication History

Published: 01 January 2017

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Toward Software-like Debugging for FPGAs via Checkpointing and Transaction-based Co-SimulationACM Transactions on Reconfigurable Technology and Systems10.1145/355252116:2(1-24)Online publication date: 10-May-2023
  • (2022)mu-grindProceedings of the International Conference on Parallel Architectures and Compilation Techniques10.1145/3559009.3569671(346-358)Online publication date: 8-Oct-2022
  • (2022)Stop and Look: A Novel Checkpointing and Debugging Flow for FPGAsIEEE Transactions on Computers10.1109/TC.2021.313382871:10(2513-2526)Online publication date: 1-Oct-2022
  • (2021)Programming and Synthesis for Software-defined FPGA Acceleration: Status and Future ProspectsACM Transactions on Reconfigurable Technology and Systems10.1145/346966014:4(1-39)Online publication date: 13-Sep-2021
  • (2021)MONICA Vision: An Approach, a Model and the Interactive Tools for Cyber-Physical Systems DesignersProceedings of the 14th Biannual Conference of the Italian SIGCHI Chapter10.1145/3464385.3464778(1-5)Online publication date: 11-Jul-2021
  • (2021)A Composable Monitoring System for Heterogeneous Embedded PlatformsACM Transactions on Embedded Computing Systems10.1145/346164720:5(1-34)Online publication date: 9-Jul-2021
  • (2021)Interactive Debugging at IP Block Interfaces in FPGAsThe 2021 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays10.1145/3431920.3439305(138-144)Online publication date: 17-Feb-2021
  • (2021)HLS_PRINT: High Performance Logging Framework on FPGAProceedings of the ACM/SPEC International Conference on Performance Engineering10.1145/3427921.3450238(145-152)Online publication date: 9-Apr-2021
  • (2021)Improved design debugging architecture using low power serial communication protocols for signal processing applicationsInternational Journal of Speech Technology10.1007/s10772-020-09784-x24:2(291-302)Online publication date: 1-Jun-2021
  • (2020)StateMoverProceedings of the 2020 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays10.1145/3373087.3375307(175-185)Online publication date: 23-Feb-2020
  • Show More Cited By

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media