Rapid Triggering Capability Using an Adaptive Overlay during FPGA Debug

Field Programmable Gate Array (FPGA) technology is rapidly gaining traction in a wide range of applications. Nonetheless, FPGAs still require long design and debug cycles. To debug hardware circuits, trace-based instrumentation is inserted into the design that enables capturing data during the circuit execution into on-chip memories for later offline analysis. Since on-chip memories are limited, a trigger circuitry is used to only record data related to specific events during the execution. However, during debugging, a circuit recompilation is required on modifying these instruments. This can be very slow, reducing debug productivity. In this article, we propose a non-intrusive and rapid triggering solution with a tailored overlay fabric and mapping algorithm that seeks to enable fast debug iterations without performing a recompilation. This overlay is specialized for small combinational and sequential circuits with a single output; such circuits are typical of common trigger functions. We present an adaptive strategy to construct the overlay fabric using spare FPGA resources at compile time. At debug time, our proposed trigger mapping algorithms adapt to this specialized overlay to rapidly implement combinational and sequential trigger circuits. Our results show that the overlay fabric can be reconfigured to map different triggering scenarios in less than 40s instead of recompiling the circuit during debug iterations, increasing debug productivity.

[1]  Wayne Luk,et al.  Transparent insertion of latency-oblivious logic onto FPGAs , 2014, 2014 24th International Conference on Field Programmable Logic and Applications (FPL).

[2]  Dirk Stroobandt,et al.  Efficient Hardware Debugging Using Parameterized FPGA Reconfiguration , 2016, 2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW).

[3]  Nachiket Kapre,et al.  Packet Switched vs. Time Multiplexed FPGA Overlay Networks , 2006, 2006 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[4]  Jason Cong,et al.  Technology mapping and architecture evalution for k/m-macrocell-based FPGAs , 2005, TODE.

[5]  Brent E. Nelson,et al.  Instrumenting Bitstreams for Debugging FPGA Circuits , 2001, The 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01).

[6]  Zeljko Zilic,et al.  Assertion Checkers in Verification, Silicon Debug and In-Field Diagnosis , 2007, 8th International Symposium on Quality Electronic Design (ISQED'07).

[7]  Carl Ebeling,et al.  PathFinder: A Negotiation-Based Performance-Driven Router for FPGAs , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[8]  H. James Hoover,et al.  Bounding Fan-out in Logical Networks , 1984, JACM.

[9]  Sanjit A. Seshia,et al.  Post-silicon validation opportunities, challenges and recent advances , 2010, Design Automation Conference.

[10]  Sen Wang,et al.  VTR 7.0: Next Generation Architecture and CAD System for FPGAs , 2014, TRETS.

[11]  Steven J. E. Wilton,et al.  Incremental Trace-Buffer Insertion for FPGA Debug , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[12]  C. Papadimitriou,et al.  The Complexity of Computing a , 2009 .

[13]  Michael J. Flynn,et al.  Beyond Traditional Microprocessors for Geoscience High-Performance Computing Applications , 2011, IEEE Micro.

[14]  Harry D. Foster Trends in functional verification: A 2014 industry study , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[15]  Steven J. E. Wilton,et al.  An Improved Overlay and Mapping Algorithm Supporting Rapid Triggering for FPGA Debug , 2017, CARN.

[16]  Steven J. E. Wilton,et al.  Enabling Effective FPGA Debug using Overlays: Opportunities and Challenges , 2016, ArXiv.

[17]  Steven J. E. Wilton,et al.  Incremental distributed trigger insertion for efficient FPGA debug , 2014, 2014 24th International Conference on Field Programmable Logic and Applications (FPL).

[18]  James Coole,et al.  Intermediate fabrics: Virtual architectures for circuit portability and fast placement and routing , 2010, 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[19]  Steven J. E. Wilton,et al.  Signal-Tracing Techniques for In-System FPGA Debugging of High-Level Synthesis Circuits , 2017, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[20]  R. Saleh,et al.  Design considerations for soft embedded programmable logic cores , 2005, IEEE Journal of Solid-State Circuits.

[21]  Martin D. F. Wong,et al.  On Designing ULM-Based FPGA Logic Modules , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[22]  Vaughn Betz,et al.  Architecture and CAD for Deep-Submicron FPGAS , 1999, The Springer International Series in Engineering and Computer Science.

[23]  Jason Helge Anderson,et al.  Source-level debugging for FPGA high-level synthesis , 2014, 2014 24th International Conference on Field Programmable Logic and Applications (FPL).

[24]  Steven J. E. Wilton,et al.  Accelerating FPGA debug: Increasing visibility using a runtime reconfigurable observation and triggering network , 2014, TODE.

[25]  Brad L. Hutchings,et al.  Rapid Post-Map Insertion of Embedded Logic Analyzers for Xilinx FPGAs , 2014, 2014 IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines.

[26]  Vaughn Betz,et al.  Timing-driven placement for FPGAs , 2000, FPGA '00.

[27]  Guy Lemieux,et al.  An efficient FPGA overlay for portable custom instruction set extensions , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[28]  Greg Stitt,et al.  A low-overhead interconnect architecture for virtual reconfigurable fabrics , 2012, CASES '12.

[29]  Jason Cong,et al.  RASP: A General Logic Synthesis System for SRAM-Based FPGAs , 1996, Fourth International ACM Symposium on Field-Programmable Gate Arrays.

[30]  Guy Lemieux,et al.  ZUMA: An Open FPGA Overlay Architecture , 2012, 2012 IEEE 20th International Symposium on Field-Programmable Custom Computing Machines.

[31]  Steven J. E. Wilton,et al.  Towards simulator-like observability for FPGAs: a virtual overlay network for trace-buffers , 2013, FPGA '13.

[32]  Steven J. E. Wilton,et al.  Escaping the Academic Sandbox: Realizing VPR Circuits on Xilinx Devices , 2013, 2013 IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines.

[33]  J. Rose,et al.  The effect of LUT and cluster size on deep-submicron FPGA performance and density , 2000, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[34]  Nicola Nicolici,et al.  On using lossless compression of debug data in embedded logic analysis , 2007, 2007 IEEE International Test Conference.

[35]  James R. Larus,et al.  A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services , 2015, IEEE Micro.

[36]  Steven J. E. Wilton,et al.  An adaptive virtual overlay for fast trigger insertion for FPGA debug , 2015, 2015 International Conference on Field Programmable Technology (FPT).

[37]  J. P. Grossman,et al.  Characterization and parameterized generation of synthetic combinational benchmark circuits , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[38]  Alessandro Forin,et al.  Where's the Beef? Why FPGAs Are So Fast , 2008 .

[39]  Nicola Nicolici,et al.  Algorithms for State Restoration and Trace-Signal Selection for Data Acquisition in Silicon Debug , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.