Skip to main content
Log in

An Integrated on-Silicon Verification Method for FPGA Overlays

  • Published:
Journal of Electronic Testing Aims and scope Submit manuscript

Abstract

Field Programmable Gate Arrays (FPGAs) gain popularity as higher-level tools evolve to deliver the benefits of re-programmable silicon to engineers and scientists at all levels of expertise. In order to use FPGAs efficiently, new CAD tools and modern architectures are needed for the growing demands of heterogeneous computing paradigms. Overlay architectures have become a popular option to support a variety of high-performance computing applications implemented on heterogeneous computing platforms. However, most of these architectures cannot offer an efficient way to dynamically debug and repair them. In this paper, we propose a superimposed virtual coarse-grained reconfigurable architecture, embedded with on-demand debug and self-healing capabilities. The proposed method automatically creates flexible techniques for in-circuit error detection and correction of generic Processing Elements and Virtual Channels. The debugging infrastructure is integrated in the design with tailor-made CAD tools, making feasible to rapidly debug and repair virtual architectures with minimal use of additional FPGA resources.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  1. Amazon (2018) Amazon ec2 f1 instances: enable faster FPGA accelerator development and deployment in the cloud. retrieved from: https://aws.amazon.com/ec2/instance-types/f1/. Accessed: 2019-01-07

  2. Angepat H, Eads G, Craik C, Chiou D (2010) Nifd: non-intrusive FPGA debugger – debugging FPGA ’threads’ for rapid hw/sw systems prototyping. In: 2010 International Conference on Field Programmable Logic and Applications, pp 356–359

  3. Brant A, Zuma GL (2012) An open FPGA overlay architecture. 2012 IEEE 20th international symposium on field-programmable custom computing machines, pp 93–96

  4. Bruneel K, Heirman W, Stroobandt D (2011) Dynamic data folding with parameterizable FPGA configurations. ACM Trans Des Autom Electron Syst (TODAES) 16(4):43:1–43:29

    Google Scholar 

  5. Calagar N, Brown SD, Anderson JH (2014) Source-level debugging for FPGA high-level synthesis. In: 2014 24th international conference on field programmable logic and applications (FPL), pp 1–8

  6. Coole J, Stitt G (2010) Intermediate fabrics: virtual architectures for circuit portability and fast placement and routing. In: Proceedings of the 8th IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis, CODES/ISSS ’10. ACM, New York, pp 13–22

  7. Coole J, Stitt G (2010) Intermediate fabrics: virtual architectures for circuit portability and fast placement and routing. In: 2010 IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis (CODES+ISSS), pp 13–22

  8. Eslami F, Hung E, Wilton SJE (2016) Enabling effective FPGA debug using overlays: opportunities and challenges. corr, arXiv:1606.06457

  9. Eslami F, Wilton SJE (2015) An adaptive virtual overlay for fast trigger insertion for FPGA debug. In: 2015 international conference on field programmable technology (FPT), pp 32–39

  10. Eslami F, Wilton SJE (2017) An improved overlay and mapping algorithm supporting rapid triggering for FPGA debug. SIGARCH Comput Archit News 44(4):20–25

    Article  Google Scholar 

  11. Foster HD (2015) Trends in functional verification: a 2014 industry study. In: Proceedings of the 52nd annual design automation conference, DAC ’15, vol 48. ACM, New York, pp 1–48:6

  12. Fricke F, Werner A, Shahin K, Huebner M (2018) CGRA tool flow for fast run-time reconfiguration. In: Voros N, Huebner M, Keramidas G, Goehringer D, Antonopoulos C, Diniz PC (eds) Applied reconfigurable computing. Architectures, tools, and applications. Springer International Publishing, Cham, pp 661–672

  13. Goeders J, Wilton SJE (2015) Using dynamic signal-tracing to debug compiler-optimized HLS circuits on FPGAs. In: 2015 IEEE 23rd annual international symposium on field-programmable custom computing machines, pp 127–134

  14. Goeders J, Wilton SJE (2017) Signal-tracing techniques for in-system FPGA, debugging of high-level synthesis circuits. IEEE Trans Comput Aided Des Integr Circuits Syst 36(1):83–96

    Article  Google Scholar 

  15. Graham P, Nelson B, Hutchings B (2001) Instrumenting bitstreams for debugging FPGA circuits. In: The 9th annual IEEE symposium on field-programmable custom computing machines (FCCM’01), pp 41–50

  16. Grant D, Wang C, Lemieux GGF (2011) A cad framework for malibu: an FPGA with time-multiplexed coarse-grained elements. In: Proceedings of the 19th ACM/SIGDA international symposium on field programmable gate arrays, FPGA ’11. ACM, New York, pp 123–132

  17. Heyse K, Davidson T, Vansteenkiste E, Bruneel K, Stroobandt D (2013) Efficient implementation of virtual coarse grained reconfigurable arrays on fpgas. In: 2013 23rd international conference on field programmable logic and applications, pp 1–8

  18. Hopkins ABT, McDonald-Maier KD (2006) Debug support for complex systems on-chip: A review. IEEE Proc Comput Digital Techn 153(4):197–207

    Article  Google Scholar 

  19. Hung E, Todman T, Luk W (2014) Transparent insertion of latency-oblivious logic onto fpgas. In: 2014 24th international conference on field programmable logic and applications (FPL), pp 1–8

  20. Hung E, Wilton SJE (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, pp 19–28

  21. Hung E, Wilton SJE (2014) Incremental trace-buffer insertion for FPGA, debug. IEEE Trans Very Large Scale Integr VLSI Syst 22(4):850–863

    Article  Google Scholar 

  22. Hutchings BL, Keeley J (2014) Rapid post-map insertion of embedded logic analyzers for xilinx fpgas. In: 2014 IEEE 22nd annual international symposium on field-programmable custom computing machines, pp 72–79

  23. Intel Corporation (2019) Quartus prime standard edition handbook, volume 3: Verification: Design and debugging with the SignalTap II logic analyzer. retrieved from: https://www.mouser.com/pdfdocs/qts-qps-5v3.pdf, 2019. Accessed: 2019-01-02

  24. Ko HF, Nicolici N (2009) Algorithms for state restoration and trace-signal selection for data acquisition in silicon debug. IEEE Trans Comput Aided Des Integr Circuits Syst 28(2):285–297

    Article  Google Scholar 

  25. Koch D, Beckhoff C, Lemieux GGF (2013) An efficient FPGA overlay for portable custom instruction set extensions. In: 2013 23rd international conference on field programmable logic and applications, pp 1–8

  26. Koch D, Haubelt C, Teich J (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, pp 188–196

  27. Kourfali A, Stroobandt D (2016) Efficient hardware debugging using parameterized FPGA reconfiguration. In 2016 IEEE international parallel and distributed processing symposium workshops (IPDPSW), pp 277–282

  28. Kourfali A, Stroobandt D (2018) Superimposed in-circuit debugging for self-healing FPGA overlays. In: 2018 IEEE 19th Latin-American test symposium (LATS), pp 1-6

  29. Kulkarni A, Stroobandt D (2016) Micap-pro: a high speed custom reconfiguration controller for dynamic circuit specialization. Des Autom Embed Syst 20(4):341–359

    Article  Google Scholar 

  30. Kulkarni A, Stroobandt D, Werner A, Fricke F, Huebner M (2017) Pixie: A heterogeneous virtual coarse-grained reconfigurable array for high performance image processing applications. In: 3rd international workshop on overlay architectures for FPGAs (OLAF 2017), pp 1–6

  31. Landy A, Stitt G (2012) A low-overhead interconnect architecture for virtual reconfigurable fabrics. In: Proceedings of the 2012 international conference on compilers, architectures and synthesis for embedded systems, CASES ’12. ACM, New York, pp 111–120

  32. Lindtjorn O, Clapp R, Pell O, Fu H, Flynn M, Mencer O (2011) Beyond traditional microprocessors for geoscience high-performance computing applications. IEEE Micro 31(2):41–49

    Article  Google Scholar 

  33. Luu J, Goeders J, Wainberg M, Somerville A, Yu T, Nasartschuk K, Nasr M, Wang S, Liu T, Ahmed N, Kent KB, Anderson J, Rose J, Betz V (2014) Vtr 7.0: next generation architecture and cad system for fpgas. ACM Transactions on Reconfigurable Technology and Systems (TRETS) 7(2):6:1–6:30

    Google Scholar 

  34. Mentor Graphics (2016) Certus silicon debug

  35. Mitra S, Seshia SA, Nicolici N (2010) Post-silicon validation opportunities, challenges and recent advances. In: Proceedings of the 47th design automation conference, DAC ’10. ACM, New York, pp 12–17

  36. Putnam A, Caulfield AM, Chung ES, Chiou D, Constantinides K, Demme J, Esmaeilzadeh H, Fowers J, Gopal GP, Gray J, Haselman M, Hauck S, Heil S, Hormati A, Kim J-Y, Lanka S, Larus J, Peterson E, Pope S, Smith A, Thong J, Xiao PY, Burger D (2014) A reconfigurable fabric for accelerating large-scale datacenter services. SIGARCH Comput Architect News 42(3):13–24

    Article  Google Scholar 

  37. Sekanina L (2003) Virtual reconfigurable circuits for real-world applications of evolvable hardware. In: Proceedings of the 5th international conference on evolvable systems: from biology to hardware, ICES ’03. Springer, Berlin, pp 186–197

  38. Sharifi M, Fathy M, Mahmoudi MT (2002) A classified and comparative study of edge detection algorithms. In: Proceedings. International conference on information technology: Coding and computing, pp 117–120

  39. Synopsys (2019) Identify: simulator-like visibility into hardware debug. retrieved from: https://www.synopsys.com/implementation-and-signoff/fpga-based-design/i%dentify-rtl-debugger.html, 2019. Accessed:2019-01-10

  40. Tiago P (2014) Peixoto the graph-tool python library

  41. Tzimpragos G, Cheng D, Tapp S, Jayadev B, Majumdar A (2016) Application debug in FPGAs in the presence of multiple asynchronous clocks. In: 2016 IEEE international conference on field-programmable technology,(FPT). Proceedings

  42. Vansteenkiste E, Farisi BA, Bruneel K, Stroobandt D (2014) Tpar: Place and route tools for the dynamic reconfiguration of the FPGA’s interconnect network. IEEE Trans Comput Aided Des Integr Circuits Syst 33(3):370–383

    Article  Google Scholar 

  43. Vermeulen B (2008) Functional debug techniques for embedded systems. IEEE Des Test Comput 25(3):208–215

    Article  Google Scholar 

  44. Wheeler T, Graham P, Nelson B, Hutchings B (2001) Using design-level scan to improve FPGA design observability and controllability for functional verification. Springer, Berlin

    Book  MATH  Google Scholar 

  45. Xilinx (2019) Programming and debugging: Vivado design suite user guide, ug973 (v2018.1). retrieved from: https://www.xilinx.com/products/design-tools/vivado.html, 2018

  46. Xilinx Inc (2015) Configuration readback capture in ultrascale FPGAs. Application note, XAPP1230

Download references

Acknowledgments

This work has been supported by the European Commission in the context of the European Union Horizon 2020 Framework Programme (H2020-EU.1.2.2.) under grant agreement number 671653.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alexandra Kourfali.

Additional information

Responsible Editor: L. M. Bolzani Pöhls

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kourfali, A., Fricke, F., Huebner, M. et al. An Integrated on-Silicon Verification Method for FPGA Overlays. J Electron Test 35, 173–189 (2019). https://doi.org/10.1007/s10836-019-05786-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10836-019-05786-z

Keywords

Navigation