skip to main content
research-article

Accelerating FPGA debug: Increasing visibility using a runtime reconfigurable observation and triggering network

Published:28 March 2014Publication History
Skip Abstract Section

Abstract

FPGA technology is commonly used to prototype new digital designs before entering fabrication. Whilst these physical prototypes can operate many orders of magnitude faster than through a logic simulator, a fundamental limitation is their lack of on-chip visibility when debugging. To counter this, trace-buffer-based instrumentation can be installed into the prototype, allowing designers to capture a predetermined window of signal data during live operation for offline analysis. However, instead of requiring the designer to recompile their entire circuit every time the window is modified, this article proposes that an overlay network is constructed using only spare FPGA routing multiplexers to connect all circuit signals through to the trace instruments. Thus, during debugging, designers would only need to reconfigure this network instead of finding a new place-and-route solution. Furthermore, we describe how this network can deliver signals to both the trigger and trace units of these instruments, which are implemented simultaneously using dual-port RAMs. Our results show that new network configurations connecting any subset of signals to 80--90% of the available RAM capacity can be computed in less than 70 seconds, for a 100,000 LUT circuit, as many times as necessary. Our tool—QuickTrace—is available for download.

References

  1. Altera. 2012. Quartus II Handbook Version 12.1 Volume 3: Verification. http://www.altera.com/literature/hb/qts/qts\_qii5v3.pdf. (November 2012).Google ScholarGoogle Scholar
  2. Sameh Asaad, Ralph Bellofatto, Bernard Brezzo, Chuck Haymes, Mohit Kapur, Benjamin Parker, Thomas Roewer, Proshanta Saha, Todd Takken, and José Tierno. 2012. A cycle-accurate, cycle-reproducible multi-FPGA system for accelerating multi-core processor simulation. In Proceedings of the ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA'12). 153--162. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bal´zs Dezs, Alpár Jüttner, and Péter Kovács. 2011. LEMON - an Open Source C++ Graph Template Library. Electron. Notes Theor. Comput. Sci. 264, 5 (July 2011), 23--45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Free Software Foundation. 2013. GCC 4.8 Release Series: Changes, New Features, and Fixes. http://gcc.gnu.org/gcc-4.8/changes.html. (February 2013).Google ScholarGoogle Scholar
  5. P. Graham, B. Nelson, and B. Hutchings. 2001. Instrumenting bitstreams for debugging FPGA circuits. In Proceedings of the 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, FCCM'01. 41--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Eddie Hung, Fatemeh Eslami, and Steven J. E. Wilton. 2013. Escaping the academic sandbox: Realizing VPR circuits on Xilinx devices. In Proceedings of the 21st IEEE International Symposium on Field-Programmable Custom Computing Machines. 45--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Eddie Hung and Steven J. E. Wilton. 2011. Speculative debug insertion for FPGAs. In Proceedings of the International Conference on Field-Programmable Logic and Applications. 524--531. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Eddie Hung and Steven J. E. Wilton. 2013. Towards simulator-like observability for FPGAs: A virtual overlay network for trace-buffers. In Proceedings of the 21st ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. 19--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Eddie Hung and Steven J. E. Wilton. 2012. Incremental trace-buffer insertion for FPGA debug. IEEE Trans. VLSI Syst. To appear. http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=6510525.Google ScholarGoogle Scholar
  10. Yousef S. Iskander, Cameron D. Patterson, and Stephen D. Craven. 2011. Improved abstractions and turnaround time for FPGA design validation and debug. In Proceedings of the 21st International Conference on Field Programmable Logic and Applications (FPL'11). 518--523. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Ho Fai Ko and Nicola Nicolici. 2009. Algorithms for state restoration and trace-signal selection for data acquisition in silicon debug. IEEE Trans. Comput.-Aid. Des. Integr. Circuits Syst. 28, 2 (February 2009), 285--297. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Xiao Liu and Qiang Xu. 2012. On signal selection for visibility enhancement in trace-based post-silicon validation. IEEE Trans. Comput.-Aid. Des. Integr. Circuits Syst. 31, 8 (August 2012), 1263--1274. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Larry McMurchie and Carl Ebeling. 1995. PathFinder: A negotiation-based performance-driven router for FPGAs. In Proceedings of the 3rd ACM International Symposium on Field-Programmable Gate Arrays (FPGA'95). 111--117. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Yehdhih Ould Mohammed Moctar, Nithin George, Hadi Parandeh-Afshar, Paolo Ienne, Guy G. F. Lemieux, and Philip Brisk. 2012. Reducing the cost of floating-point mantissa alignment and normalization in FPGAs. In Proceedings of the 20th ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA'12). 255--264. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. B. Quinton and S. Wilton. 2005. Post-silicon debug using programmable logic cores. In Proceedings of the IEEE International Conference on Field Programmable Technology. 241--247.Google ScholarGoogle Scholar
  16. Jonathan Rose, Jason Luu, Chi Wai Yu, Opal Densmore, Jeff Goeders, Andrew Somerville, Kenneth B. Kent, Peter Jamieson, and Jason Anderson. 2012. The VTR Project: Architecture and CAD for FPGAs from Verilog to routing. In Proceedings of the 20th ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. 77--86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Synopsys. 2010. Identify: Simulator-like Visibility into Hardware Debug. http://www.synopsys.com/Tools/Implementation/FPGAImplementation/CapsuleModule/identify\_ds.pdf. (August 2010).Google ScholarGoogle Scholar
  18. Steve Teig. 2012. Programmable logic devices in 2032? In Proceedings of the FPGA2012 Pre-Conference Workshop. http://tcfpga.org/fpga2012/SteveTeig.pdf. (February 2012).Google ScholarGoogle Scholar
  19. Tektronix. 2012. Certus Debug Suite. http://www.tek.com/sites/tek.com/files/media/media/resources/Certus\_Debug\_Suite\_Datasheet\_54W-28030-1\_4.pdf. (July 2012).Google ScholarGoogle Scholar
  20. Timothy Wheeler, Paul Graham, Brent E. Nelson, and Brad Hutchings. 2001. Using design-level scan to improve FPGA design observability and controllability for functional verification. In Proceedings of the 11th International Conference on Field Programmable Logic and Applications (FPL'01). 483--492. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Steven J. E. Wilton. 1998. SMAP: Heterogeneous technology mapping for area reduction in FPGAs with embedded memory arrays. In Proceedings of the ACM/SIGDA 6th International Symposium on Field-Programmable Gate Arrays (FPGA'98). 171--178. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Mike Wirthlin, Brent Nelson, Brad Hutchings, Peter Athanas, and Shawn Bohner. 2008. FPGA design productivity: Existing limitations and root causes. http://www.chrec.org/ftsw/FDP\_Session1\_Posted.pdf. (June 2008).Google ScholarGoogle Scholar
  23. Xilinx. 2011. Virtex-6 FPGA Memory Resources: User Guide (UG363 v1.6). http://www.xilinx.com/support/documentation/user\_guides/ug363.pdf. (April 2011).Google ScholarGoogle Scholar
  24. Xilinx. 2012. ChipScope Pro Software and Cores, User Guide UG029 (v14.3). http://www.xilinx.com/support/documentation/sw\_manuals/xilinx14\_4/chipscope\_pro\_sw\_cores\_ug029.pdf. (October 2012).Google ScholarGoogle Scholar

Index Terms

  1. Accelerating FPGA debug: Increasing visibility using a runtime reconfigurable observation and triggering network

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Design Automation of Electronic Systems
      ACM Transactions on Design Automation of Electronic Systems  Volume 19, Issue 2
      March 2014
      314 pages
      ISSN:1084-4309
      EISSN:1557-7309
      DOI:10.1145/2597648
      Issue’s Table of Contents

      Copyright © 2014 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 28 March 2014
      • Accepted: 1 December 2013
      • Revised: 1 October 2013
      • Received: 1 June 2013
      Published in todaes Volume 19, Issue 2

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader