Configuration compression for FPGA-based embedded systems

Field programmable gate arrays (FPGAs) are a promising technology for developing high-performance embedded systems. The density and performance of FPGAs have drastically improved over the past few years. Consequently, the size of the configuration bit-streams has also increased considerably. As a result, the cost-effectiveness of FPGA-based embedded systems is significantly affected by the memory required for storing various FPGA configurations. This paper proposes a novel compression technique that reduces the memory required for storing FPGA configurations and results in high decompression efficiency. Decompression efficiency corresponds to the decompression hardware cost as well as the decompression rate. The proposed technique is applicable to any SRAM-based FPGA device since configuration bit-streams are processed as raw data. The required decompression hardware is simple and the decompression rate scales with the speed of the memory used for storing the configuration bit-streams. Moreover, the time to configure the device is not affected by our compression technique. Using our technique, we demonstrate up to 41% savings in memory for configuration bit-streams of several real-world applications.

[1]  Peter M. Athanas,et al.  A stream-based configurable computing radio testbed , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[2]  Wayne Luk,et al.  Framework and tools for run-time reconfigurable designs , 2000 .

[3]  José D. P. Rolim,et al.  A Comparative Study of Performance of AES Final Candidates Using FPGAs , 2000, CHES.

[4]  Mark Nelson,et al.  The data compression book (2nd ed.) , 1995 .

[5]  Viktor K. Prasanna,et al.  Loop Pipelining and Optimization for Run Time Reconfiguration , 2000, IPDPS Workshops.

[6]  John J. Granacki,et al.  DEFACTO: A Design Environment for Adaptive Computing Technology , 1999, IPPS/SPDP Workshops.

[7]  Mark Nelson,et al.  The Data Compression Book , 1991 .

[8]  Zhiyuan Li,et al.  Configuration compression for the Xilinx XC6200 FPGA , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[9]  José D. P. Rolim,et al.  An adaptive cryptographic engine for IPSec architectures , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[10]  Kurt Keutzer,et al.  A text-compression-based method for code size minimization in embedded systems , 1999, TODE.

[11]  Trevor N. Mudge,et al.  Improving code density using compression techniques , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[12]  Viktor K. Prasanna,et al.  Configuration compression for FPGA-based embedded systems , 2005, IEEE Trans. Very Large Scale Integr. Syst..

[13]  M. Klimesh,et al.  Hardware Implementation of a Lossless Image Compression Algorithm Using a Field Programmable Gate Array , 2000 .

[14]  Peter M. Athanas,et al.  A run-time reconfigurable engine for image interpolation , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[15]  Viktor K. Prasanna,et al.  A Self-Reconfigurable Gate Array Architecture , 2000, FPL.

[16]  Brad L. Hutchings,et al.  Run-Time Reconfiguration: A method for enhancing the functional density of SRAM-based FPGAs , 1996, J. VLSI Signal Process..

[17]  Scott Hauck,et al.  Runlength compression techniques for FPGA configurations , 1999, Seventh Annual IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00375).

[18]  Oliver Diessel,et al.  On Dynamic Task Scheduling for EPGA-Based Systems , 2001, Int. J. Found. Comput. Sci..

[19]  Patrick W. Dowd,et al.  An FPGA-based coprocessor for ATM firewalls , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[20]  Zhiyuan Li,et al.  Configuration compression for the Xilinx XC6200 FPGA , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[21]  Majid Sarrafzadeh,et al.  A super-scheduler for embedded reconfigurable systems , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[22]  Arun K. Somani,et al.  A reconfigurable multifunction computing cache architecture , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[23]  P. Libby The Scientific American , 1881, Nature.

[24]  Arun K. Somani,et al.  A reconfigurable multi-function computing cache architecture , 2000, FPGA '00.

[25]  Fadi J. Kurdahi,et al.  Kernel scheduling in reconfigurable computing , 1999, DATE '99.

[26]  Reiner W. Hartenstein,et al.  An Embedded Accelerator for Real World Computing , 1997 .

[27]  Zhiyuan Li,et al.  Configuration Compression for Virtex FPGAs , 2001, The 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01).