The LZS Core uses an anti-expansion algorithm that prevents the output from expanding
during compression. If the output expands during compression the original uncompressed
input along with certain header bytes is passed through as the output.
5.8 GZIP Engine
GZIP Engine compresses/decompresses source data with the GZIP algorithm, it includes the
input AFIFO, output AFIFO, GZIP interface controller and GZIP core.
Figure 5-9. GZIP Engine Block Diagram
5.8.1
GZIP In_AFIFO & Out_AFIFO
The GZIP In_AFIFO and Out_AFIFO are used to transfer data and control signals between
the DMA clock domain (125M) and the GZIP Engine interface controller clock domain
(200M).
Both the In_AFIFO and Out_AFIFO are implemented as 39 x 16 bit flip-flops.
5.8.2
GZIP Core Interface Controller
The GZIP Core Interface Controller (GIC) is the communication bridge between the
In_AFIFO, Out_AFIFO and GZIP core. The main functions of the GIC are:
• Read the source data from the In_AIFIO, pass through the header and tail of the
data stream to next engine (Out_AFIFO), and send the remaining data to the GZIP
core according to the CMP_Head_Count and CMP_Source_Count.
• Control the operation flow of GZIP core.
• Read the result data from the GZIP Core, merge the tail of the source data stream
and the result data into a double word, and send it to the Out_AFIFO.
• Report the GZIP core status to Channel Manager after each command completes.
820x – Data Sheet, DS-0157-D
Page123
Hifn Confidential