StML: Bridging the gap between FPGA design and HDL circuit description

FPGA circuit implementation is a unidirectional and time-consuming process. Existing approaches like the incremental synthesis try to shorten it, but still need to execute the whole flow for a changed circuit partition. Other approaches circumvent process stages by providing bidirectional mappings between their results. In this paper we propose an approach to provide a bidirectional link between an FPGA design and its HDL code. This link enables the circumvention of the most time-consuming stages (synthesis, mapping, placing, routing) of the FPGA circuit implementation. We implemented our approach in a Java-based EDA tool library, called Static Mapping Library (StML). We demonstrate its applicability by means of hardware debugging and an RTL-based injection of permanent faults, built on top of the StML. Experimental results illustrate that a mapping coverage between 98.5%-100.0% can be obtained, which substantiates the feasibility of this approach. Further experiments illustrate a controllable tradeoff between area overhead, circuit granularity and mapping granularity. With the finest mapping granularity, the area overhead has been between 1.8% and 60.2% for RTL-based circuits. The speedup of the proposed fault injection method has been estimated to be up to 6x for the tested circuits.

[1]  David de Andrés,et al.  FADES: a fault emulation tool for fast dependability assessment , 2006, 2006 IEEE International Conference on Field Programmable Technology.

[2]  Sorin A. Huss,et al.  Bil: A tool-chain for bitstream reverse-engineering , 2012, 22nd International Conference on Field Programmable Logic and Applications (FPL).

[3]  Jean-Baptiste Note,et al.  From the bitstream to the netlist , 2008, FPGA '08.

[4]  Jim Tørresen,et al.  The Xilinx Design Language (XDL): Tutorial and use cases , 2011, 6th International Workshop on Reconfigurable Communication-Centric Systems-on-Chip (ReCoSoC).

[5]  O. Novak,et al.  A Novel Emulation Technique that Preserves Circuit Structure and Timing , 2007, 2007 International Symposium on System-on-Chip.

[6]  Shi-Yu Huang,et al.  Fault emulation: A new methodology for fault grading , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[7]  Régis Leveugle,et al.  Using run-time reconfiguration for fault injection in hardware prototypes , 2000, 17th IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems, 2002. DFT 2002. Proceedings..

[8]  Carson Dunbar,et al.  Fault emulation and test pattern generation using reconfigurable computing , 2010, 2010 53rd IEEE International Midwest Symposium on Circuits and Systems.

[9]  Delon Levi,et al.  JBits: Java based interface for reconfigurable computing , 1999 .

[10]  Daniel Brand,et al.  Incremental synthesis , 1994, ICCAD '94.

[11]  Brent E. Nelson,et al.  RapidSmith: Do-It-Yourself CAD Tools for Xilinx FPGAs , 2011, 2011 21st International Conference on Field Programmable Logic and Applications.

[12]  Matthew French,et al.  Open-Source Bitstream Generation , 2013, 2013 IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines.

[13]  Hari Angepat,et al.  NIFD: Non-intrusive FPGA Debugger -- Debugging FPGA 'Threads' for Rapid HW/SW Systems Prototyping , 2010, 2010 International Conference on Field Programmable Logic and Applications.

[14]  Gajski,et al.  Guest Editors' Introduction: New VLSI Tools , 1983, Computer.

[15]  Luc Burgun,et al.  Serial fault emulation , 1996, DAC '96.