skip to main content
research-article

Hardware Decompression Techniques for FPGA-Based Embedded Systems

Published:01 June 2009Publication History
Skip Abstract Section

Abstract

In this work, we present hardware decompression accelerators for widening the bottleneck between slow nonvolatile memories on the one side and high-speed FPGA configuration interfaces and fast softcore CPUs on the other side. We discuss different compression algorithms suitable for a hardware accelerated decompression on FPGAs as well as on CPLDs. The algorithms will be investigated with respect to the achievable compression ratio, throughput, and hardware overhead. This leads to various decompressor implementations with one capable to decompress at high data rates of up to 400 megabytes per second under optimal conditions while only requiring slightly more than a hundred lookup tables. We will evaluate how these decompressors perform on configuration bitstreams for different FPGAs as well as for softcore CPU binaries.

References

  1. Altera Inc. 2007a. Enhanced configuration devices (EPC4, EPC8 & EPC16) data sheet.Google ScholarGoogle Scholar
  2. Altera Inc. 2007b. Alera devices. www.altera.com/products/devices/dev-index.jsp.Google ScholarGoogle Scholar
  3. Bobda, C., Majer, M., Ahmadinia, A., Haller, T., Linarth, A., and Teich, J. 2005. Increasing the flexibility in FPGA-Based reconfigurable platforms: The Erlangen slot machine. In Proceedings of the Conference on Field-Programmable Technology (FPT). 37--42.Google ScholarGoogle Scholar
  4. Dandalis, A. and Prasanna, V. K. 2001. Configuration compression for FPGA-based embedded systems. In Proceedings of the International Symposium on Field Programmable Gate Arrays (FPGA’01). 173--182. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Department of Computer Science 12. Bitstream Compression Benchmark http://www.reconets.de/bitstreamcompression/.Google ScholarGoogle Scholar
  6. Hauck, S. and Wilson, W. D. 1999. Runlength compression techniques for FPGA configurations. In Proceedings of the Conference Field-Programmable Custom Computing Machines. 286--287. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Heun, V. 2003. Grund legende Algorithmen. Vieweg.Google ScholarGoogle Scholar
  8. Hübner, M., Ullman, M., Weissel, F., and Becker, J. 2004. Real-time configuration code decompression for dynamic FPGA self-reconfigurations. In Proceedings of the 11th Reconfigurable Architectures Workshop (RAW’04).Google ScholarGoogle Scholar
  9. Hübner, M., Ullman, M., Weissel, F., and Becker, J. 2005. Real-time configuration code decompression for dynamic FPGA self-reconfiguration: Evaluation and implementation. EURASIP J. Embed. Syst. 1, 11.Google ScholarGoogle Scholar
  10. Huffman, D. A. 1952. A method for the construction of minimum-redundancy codes. Proc. IRE 40, 9, 1098--1101.Google ScholarGoogle ScholarCross RefCross Ref
  11. Koch, D. and Teich, J. 2004. Platform-independent methodology for partial reconfiguration. In Proceedings of the 1st Conference on Computing Frontiers. ACM Press, 398--403. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Koch, D., Beckhoff, C., and Teich, J. 2007. Bitstream decompression for high speed FPGA configuration from slow memories. In Proceedings of International Conference on Field-Programmable Technology (ICFPT’07). IEEE, 161--168.Google ScholarGoogle Scholar
  13. Koch, D., Körber, M., and Teich, J. 2006. Searching RC5-Keys with distributed reconfigurable computing. In Proceedings of International Conference on Engineering of Reconfigurable Systems and Algorithms (ERSA’06). CSREA Press, 42--48.Google ScholarGoogle Scholar
  14. Li, Z. and Hauck, S. 1999. Don’t care discovery for FPGA configuration compression. In Proceedings of the ACM/SIGDA 7th International Symposium on Field Programmable Gate Arrays (FPGA’99). ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Li, Z. and Hauck, S. 2001. Configuration compression for Virtex FPGAs. In Proceedings of the the 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines. IEEE Computer Society, 147--159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. OpenCores. Opencores homepage. http://www.opencores.org.Google ScholarGoogle Scholar
  17. Pan, H, Mitra, T., and Wong, W.-F. 2004. Configuration bitstream compression for dynamically reconfigurable FPGAs. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD’04). 766--773. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Salomon, D. 2004. Data Compression - The Complete Reference. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Storer, J. A. and Szymanski, T. G. 1982. Data compression via textual substitution. J. ACM 29, 4, 928--951. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Wetekam, G. and Lutz, B. 2005. Hardware-Implementierung einer 3D-Huffman-Decodierung für dynamische Volumendaten. In Proceedings of the Hardware for Visual Computing Workshop.Google ScholarGoogle Scholar
  21. Xilinx Inc. 2005. Virtex-II Platform FPGA User Guide. Xilinx.Google ScholarGoogle Scholar
  22. Xilinx Inc. 2007a. Xilinx: Silicon devices. www.xilinx.com/products/silicon_solutions/.Google ScholarGoogle Scholar
  23. Xilinx Inc. 2007b. Platform flash in-system programmable configuration PROMs.Google ScholarGoogle Scholar
  24. Ziv, J. and Lempel, A. 1977. A universal algorithm for sequential data compression. IEEE Trans. Inform. Theory 23, 3, 337--343.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Hardware Decompression Techniques for FPGA-Based Embedded Systems

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Reconfigurable Technology and Systems
      ACM Transactions on Reconfigurable Technology and Systems  Volume 2, Issue 2
      June 2009
      211 pages
      ISSN:1936-7406
      EISSN:1936-7414
      DOI:10.1145/1534916
      Issue’s Table of Contents

      Copyright © 2009 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 June 2009
      • Accepted: 1 December 2008
      • Revised: 1 November 2008
      • Received: 1 July 2008
      Published in trets Volume 2, Issue 2

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader