skip to main content
research-article

In-Circuit Debugging with Dynamic Reconfiguration of FPGA Interconnects

Published:30 January 2020Publication History
Skip Abstract Section

Abstract

In this work, a novel method for in-circuit debugging on FPGAs is introduced that allows the insertion of low-overhead debugging infrastructure by exploiting the technique of parameterized configurations. This allows the parameterization of the LUTs and the routing infrastructure to create a virtual network of debugging multiplexers. It aims to facilitate debugging, to increase the internal signal observability, and to reduce the debugging (area and reconfiguration) overhead. Signal ranking techniques are also introduced that classify signals that can be traced during debug. Finally, the results of the method are presented and compared with a commercial tool. The area and time results and the tradeoffs between internal signal observability and area and reconfiguration overhead are also explored.

References

  1. B. Alizadeh, P. Behnam, and S. Sadeghi-Kohan. 2015. A scalable formal debugging approach with auto-correction capability based on static slicing and dynamic ranking for RTL datapath designs. IEEE Trans. Comput. 64, 6 (Jun. 2015), 1564--1578. DOI:https://doi.org/10.1109/TC.2014.2329687Google ScholarGoogle Scholar
  2. H. Angepat, G. Eads, C. Craik, and D. Chiou. 2010. NIFD: Non-intrusive FPGA debugger -- debugging FPGA ‘Threads’ for Rapid HW/SW systems prototyping. In Proceedings of the 2010 International Conference on Field Programmable Logic and Applications. 356--359. DOI:https://doi.org/10.1109/FPL.2010.77Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. K. Basu and P. Mishra. 2011. Efficient trace signal selection for post silicon validation and debug. In Proceedings of the 2011 24th Internatioal Conference on VLSI Design. 352--357. DOI:https://doi.org/10.1109/VLSID.2011.14Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Karel Bruneel, Fatma Abouelella, and Dirk Stroobandt. 2009. Automatically mapping applications to a self-reconfiguring platform. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE’09). European Design and Automation Association, 3001 Leuven, Belgium, 964--969. http://dl.acm.org/citation.cfm?id&equal;1874620.1874856.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Karel Bruneel, Wim Heirman, and Dirk Stroobandt. 2011. Dynamic data folding with parameterizable FPGA configurations. ACM Trans. Des. Autom. Electr. Syst. 16, 4, Article 43 (Oct. 2011), 29 pages. DOI:https://doi.org/10.1145/2003695.2003703Google ScholarGoogle Scholar
  6. S. Y. L. Chin and S. J. E. Wilton. 2009. An analytical model relating FPGA architecture and place and route runtime. In Proceedings of the 2009 International Conference on Field Programmable Logic and Applications. 146--153. DOI:https://doi.org/10.1109/FPL.2009.5272519Google ScholarGoogle ScholarCross RefCross Ref
  7. Fatemeh Eslami, Eddie Hung, and Steven J. E. Wilton. 2016. Enabling effective FPGA debug using overlays: Opportunities and challenges. CoRR abs/1606.06457 (2016). arxiv:1606.06457 http://arxiv.org/abs/1606.06457.Google ScholarGoogle Scholar
  8. F. Eslami and S. J. E. Wilton. 2015. An adaptive virtual overlay for fast trigger insertion for FPGA debug. In Proceedings of the 2015 International Conference on Field Programmable Technology (FPT’15). 32--39. DOI:https://doi.org/10.1109/FPT.2015.7393127Google ScholarGoogle ScholarCross RefCross Ref
  9. Harry D. Foster. 2015. Trends in functional verification: A 2014 industry study. In Proceedings of the 52nd Annual Design Automation Conference (DAC’15). ACM, New York, NY. DOI:https://doi.org/10.1145/2744769.2744921Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. W. Foulk. 1993. Data-folding in SRAM configurable FPGAs. In Proceedings of the IEEE Workshop on FPGAs for Custom Computing Machines. 163--171. DOI:https://doi.org/10.1109/FPGA.1993.279467Google ScholarGoogle ScholarCross RefCross Ref
  11. J. Gao, Y. Han, and X. Li. 2009. A new post-silicon debug approach based on suspect window. In Proceedings of the 2009 27th IEEE VLSI Test Symposium. 85--90. DOI:https://doi.org/10.1109/VTS.2009.35Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. Goeders and S. J. E. Wilton. 2015. Using dynamic signal-tracing to debug compiler-optimized HLS circuits on FPGAs. In Proceedings of the 2015 IEEE 23rd Annual International Symposium on Field-Programmable Custom Computing Machines. 127--134. DOI:https://doi.org/10.1109/FCCM.2015.25Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Goeders and S. J. E. Wilton. 2017. Signal-tracing techniques for in-system FPGA debugging of high-level synthesis circuits. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 36, 1 (Jan. 2017), 83--96. DOI:https://doi.org/10.1109/TCAD.2016.2565204Google ScholarGoogle Scholar
  14. 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 Scholar
  15. Karel Heyse, Brahim Al Farisi, Karel Bruneel, and Dirk Stroobandt. 2015. TCONMAP: Technology mapping for parameterised FPGA configurations. ACM Trans. Des. Autom. Electron. Syst. 20, 4, Article 48 (Sept. 2015), 27 pages. DOI:https://doi.org/10.1145/2751558Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. K. Heyse, K. Bruneel, and D. Stroobandt. 2012. Mapping logic to reconfigurable FPGA routing. In Proceedings of the 22nd International Conference on Field Programmable Logic and Applications (FPL’12). 315--321. DOI:https://doi.org/10.1109/FPL.2012.6339224Google ScholarGoogle Scholar
  17. A. B. T. Hopkins and K. D. McDonald-Maier. 2006. Debug support for complex systems on-chip: A review. IEEE Proc. Comput. Dig. Techn. 153, 4 (Jul. 2006), 197--207. DOI:https://doi.org/10.1049/ip-cdt:20050194Google ScholarGoogle Scholar
  18. E. Hung, A. Jamal, and S. J. E. Wilton. 2013. Maximum flow algorithms for maximum observability during FPGA debug. In Proceedings of the 2013 International Conference on Field-Programmable Technology (FPT’13). 20--27. DOI:https://doi.org/10.1109/FPT.2013.6718324Google ScholarGoogle ScholarCross RefCross Ref
  19. E. Hung, T. Todman, and W. Luk. 2014. Transparent insertion of latency-oblivious logic onto FPGAs. In Proceedings of the 2014 24th International Conference on Field Programmable Logic and Applications (FPL’14). 1--8. DOI:https://doi.org/10.1109/FPL.2014.6927497Google ScholarGoogle ScholarCross RefCross Ref
  20. 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 ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA’13). ACM, New York, NY, 19--28. DOI:https://doi.org/10.1145/2435264.2435272Google ScholarGoogle Scholar
  21. E. Hung and S. J. E. Wilton. 2013. Scalable signal selection for post-silicon debug. IEEE Trans. VLSI Syst. 21, 6 (Jun. 2013), 1103--1115. DOI:https://doi.org/10.1109/TVLSI.2012.2202409Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. E. Hung and S. J. E. Wilton. 2014. Incremental trace-buffer insertion for FPGA debug. IEEE Trans. VLSI Syst. 22, 4 (Apr. 2014), 850--863. DOI:https://doi.org/10.1109/TVLSI.2013.2255071Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. B. L. Hutchings and J. Keeley. 2014. Rapid post-map insertion of embedded logic analyzers for Xilinx FPGAs. In Proceedings of the 2014 IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines. 72--79. DOI:https://doi.org/10.1109/FCCM.2014.29Google ScholarGoogle ScholarCross RefCross Ref
  24. Intel. 2019. Quartus Prime Standard Edition Handbook, Volume 3: Verification: Design and Debugging with the SignalTap II Logic Analyzer. Retrieved January 2, 2019 from https://www.mouser.com/pdfdocs/qts-qps-5v3.pdf.Google ScholarGoogle Scholar
  25. Intel. 2019. Quartus SignalTap: Embedded Logic Analyzer. Retrieved April 22, 2019 from https://www.intel.com/content/pdfs/literature/ug/signal.pdf.Google ScholarGoogle Scholar
  26. A. Jamal, J. Goeders, and S. J. E. Wilton. 2018. An FPGA overlay architecture supporting rapid implementation of functional changes during on-chip debug. In Proceedings of the 2018 28th International Conference on Field Programmable Logic and Applications (FPL’18). 403--4037. DOI:https://doi.org/10.1109/FPL.2018.00076Google ScholarGoogle ScholarCross RefCross Ref
  27. Ashfaquzzaman Khan, Richard Neil Pittman, and Alessandro Forin. 2010. gNOSIS: A board-level debugging and verification tool. In Proceedings of the 2010 International Conference on Reconfigurable Computing and FPGAs (RECONFIG’10). IEEE Computer Society, Washington, DC, 43--48. DOI:https://doi.org/10.1109/ReConFig.2010.71Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. H. F. Ko and N. Nicolici. 2009. Algorithms for state restoration and trace-signal selection for data acquisition in silicon debug. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 28, 2 (Feb. 2009), 285--297. DOI:https://doi.org/10.1109/TCAD.2008.2009158Google ScholarGoogle Scholar
  29. Dirk Koch, Christian Haubelt, and Jürgen Teich. 2007. Efficient hardware checkpointing: Concepts, overhead analysis, and implementation. In Proceedings of the 2007 ACM/SIGDA 15th International Symposium on Field Programmable Gate Arrays (FPGA’07). ACM, New York, NY, 188--196. DOI:https://doi.org/10.1145/1216919.1216950Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Alexandra Kourfali, Florian Fricke, Michael Huebner, and Dirk Stroobandt. 2019. An integrated on-silicon verification method for FPGA overlays. J. Electr. Test. 35, 2 (01 Apr. 2019), 173--189. DOI:https://doi.org/10.1007/s10836-019-05786-zGoogle ScholarGoogle Scholar
  31. Amit Kulkarni and Dirk Stroobandt. 2016. MiCAP-Pro: A high speed custom reconfiguration controller for Dynamic Circuit Specialization. Des. Autom. Embed. Syst. 20, 4 (01 Dec. 2016), 341--359. DOI:https://doi.org/10.1007/s10617-016-9180-6Google ScholarGoogle Scholar
  32. B. Kumar, A. Jindal, V. Singh, and M. Fujita. 2017. A methodology for trace signal selection to improve error detection in post-silicon validation. In Proceedings of the 2017 30th International Conference on VLSI Design and 2017 16th International Conference on Embedded Systems (VLSID’17). 147--152. DOI:https://doi.org/10.1109/VLSID.2017.66Google ScholarGoogle ScholarCross RefCross Ref
  33. R. KÃűnighofer and R. Bloem. 2011. Automated error localization and correction for imperative programs. In Proceedings of the 2011 Formal Methods in Computer-Aided Design (FMCAD’11). 91--100.Google ScholarGoogle Scholar
  34. Jason Luu, Jeff Goeders, Michael Wainberg, Andrew Somerville, Thien Yu, Konstantin Nasartschuk, Miad Nasr, Sen Wang, Tim Liu, Norrudin Ahmed, Kenneth B. Kent, Jason Anderson, Jonathan Rose, and Vaughn Betz. 2014. VTR 7.0: Next generation architecture and CAD system for FPGAs. ACM Trans. Reconfig. Technol. Syst. 7, 2 (Jun. 2014), 6:1--6:30.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. S. Ma, D. Pal, R. Jiang, S. Ray, and S. Vasudevan. 2015. Can’t see the forest for the trees: State restoration’s limitations in post-silicon trace signal selection. In Proceedings of the 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD’15). 1--8. DOI:https://doi.org/10.1109/ICCAD.2015.7372542Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Mentor Graphics. 2016. Certus Silicon Debug. https://www.mentor.com/products/fv/certus-silicon-debug.Google ScholarGoogle Scholar
  37. Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Winograd. 1999. The PageRank Citation Ranking: Bringing Order to the Web.Technical Report 1999-66. Stanford InfoLab. Retrieved from http://ilpubs.stanford.edu:8090/422/ Previous number &equal; SIDL-WP-1999-0120.Google ScholarGoogle Scholar
  38. Datasheet Synopsys. 2019. Identify: Simulator-like Visibility into Hardware Debug. Retrieved January 10, 2019 from https://www.synopsys.com/implementation-and-signoff/fpga-based-design/identify-rtl-debugger.html.Google ScholarGoogle Scholar
  39. Tai-Ying Jiang, C. J. Liu, and Jing Ya Jou. 2005. Estimating likelihood of correctness for error candidates to assist debugging faulty HDL designs. In Proceedings of the 2005 IEEE International Symposium on Circuits and Systems, Vol. 6. 5682--5685. DOI:https://doi.org/10.1109/ISCAS.2005.1465927Google ScholarGoogle ScholarCross RefCross Ref
  40. G. Tzimpragos, Da Cheng, S. Tapp, B. Jayadev, and A. Majumdar. 2016. Application debug in FPGAs in the presence of multiple asynchronous clocks. In Proceedings of the 2016 International Conference on Field-Programmable Technology (FPT’16). 189--192. DOI:https://doi.org/10.1109/FPT.2016.7929530Google ScholarGoogle ScholarCross RefCross Ref
  41. UG973. 2018. Programming and Debugging: Vivado Design Suite User Guide, UG973 (v2018.1). Retrieved from https://www.xilinx.com/products/design-tools/vivado.html.Google ScholarGoogle Scholar
  42. D. Van Campenhout, T. Mudge, and J. P. Hayes. 2000. Collection and analysis of microprocessor design errors. IEEE Des. Test Comput. 17, 4 (Oct. 2000), 51--60. DOI:https://doi.org/10.1109/54.895006Google ScholarGoogle Scholar
  43. E. Vansteenkiste, B. A. Farisi, K. Bruneel, and D. Stroobandt. 2014. TPaR: Place and route tools for the dynamic reconfiguration of the FPGA’s interconnect network. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 33, 3 (Mar. 2014), 370--383. DOI:https://doi.org/10.1109/TCAD.2013.2291659Google ScholarGoogle Scholar
  44. Timothy Wheeler, Paul Graham, Brent Nelson, and Brad Hutchings. 2001. Using Design-Level Scan to Improve FPGA Design Observability and Controllability for Functional Verification. Springer, Berlin, 483--492.Google ScholarGoogle Scholar
  45. Michael J. Wirthlin and Brad L. Hutchings. 1997. Improving functional density through run-time constant propagation. In Proceedings of the 1997 ACM 5th International Symposium on Field-programmable Gate Arrays (FPGA’97). ACM, New York, NY, 86--92. DOI:https://doi.org/10.1145/258305.258316Google ScholarGoogle Scholar
  46. Xilinx. 2016. ChipScope Integrated Logic Analyzer. Retrieved from http://model.com/.Google ScholarGoogle Scholar
  47. Xilinx, Inc. 2015. Configuration Readback Capture in UltraScale FPGAs. Application Note, XAPP1230.Google ScholarGoogle Scholar
  48. J. Yang and N. A. Touba. 2009. Automated selection of signals to observe for efficient silicon debug. In Proceedings of the 2009 27th IEEE VLSI Test Symposium. 79--84. DOI:https://doi.org/10.1109/VTS.2009.51Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. In-Circuit Debugging with Dynamic Reconfiguration of FPGA Interconnects

          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

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          HTML Format

          View this article in HTML Format .

          View HTML Format
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!