Abstract

The development of the mobile industry brings about the demand for high-performance embedded systems in order to meet the requirement of user-centered application. Because of the limitation of memory resource, employing compressed data is efficient for an embedded system. However, the workload for data decompression causes an extreme bottleneck to the embedded processor. One of the ways to alleviate the bottleneck is to integrate a hardware accelerator along with the processor, constructing a system-on-chip (SoC) for the embedded system. In this paper, we propose a lossless decompression accelerator for an embedded processor, which supports LZ77 decompression and static Huffman decoding for an inflate algorithm. The accelerator is implemented on a field programmable gate array (FPGA) to verify the functional suitability and fabricated in a Samsung 65 nm complementary metal oxide semiconductor (CMOS) process. The performance of the accelerator is evaluated by the Canterbury corpus benchmark and achieved throughput up to 20.7 MB/s at 50 MHz system clock frequency.

Highlights

  • The development of the mobile industry brings about the demand for high-performance embedded systems in order to meet the requirement of user-centered application

  • The contribution of this paper is that we propose a lossless decompression accelerator (LDA), which supports both the LZ77 decompression and static Huffman decoding in original deflate data format

  • We proposed a lossless decompression accelerator (LDA) for an embedded processor that supports LZ77 decompression and static Huffman decoding

Read more

Summary

Inflate Algorithm

As inflate algorithm is a decompression algorithm for deflate compression; background knowledge of deflate algorithms is required. A deflate algorithm has processes for compressing repetitive string and assigning bits to the repetitive string in accordance with the frequency For those processes, LZ77 and Huffman encoding are applied [16]. The window buffer is scanned to find duplicated string starting on the front of the look-ahead buffer. The and length and distance the duplicated string data in the window buffer. Huffman code is decoded by matching the compressed data formed sequentially. When the decoded symbol is a literal, the literal itself is an output of inflate algorithm and to the window buffer of LZ77. The decoded length–distance pair is utilized to extract the duplicated data

Related Work
Lossless
Configuration
Pre-Processing
Decompression
Post-Processing
Chip Fabrication
Performance
Findings
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call