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.
Similar content being viewed by others
References
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
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
Brant A, Zuma GL (2012) An open FPGA overlay architecture. 2012 IEEE 20th international symposium on field-programmable custom computing machines, pp 93–96
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
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
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
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
Eslami F, Hung E, Wilton SJE (2016) Enabling effective FPGA debug using overlays: opportunities and challenges. corr, arXiv:1606.06457
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
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
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
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
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
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
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
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
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
Hopkins ABT, McDonald-Maier KD (2006) Debug support for complex systems on-chip: A review. IEEE Proc Comput Digital Techn 153(4):197–207
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
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
Hung E, Wilton SJE (2014) Incremental trace-buffer insertion for FPGA, debug. IEEE Trans Very Large Scale Integr VLSI Syst 22(4):850–863
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
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
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
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
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
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
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
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
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
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
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
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
Mentor Graphics (2016) Certus silicon debug
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
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
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
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
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
Tiago P (2014) Peixoto the graph-tool python library
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
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
Vermeulen B (2008) Functional debug techniques for embedded systems. IEEE Des Test Comput 25(3):208–215
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
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
Xilinx Inc (2015) Configuration readback capture in ultrascale FPGAs. Application note, XAPP1230
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
Corresponding author
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
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10836-019-05786-z