#include "lz_decompress.hpp"
template < int PARALLEL_BYTES, int HISTORY_SIZE, class SIZE_DT = uint8_t, class SIZE_OFFSET = ap_uint<16> > void lzMultiByteDecompress ( hls::stream <SIZE_DT>& litlenStream, hls::stream <ap_uint <PARALLEL_BYTES*8>>& litStream, hls::stream <SIZE_OFFSET>& offsetStream, hls::stream <SIZE_DT>& matchlenStream, hls::stream <ap_uint < (PARALLEL_BYTES*8)+PARALLEL_BYTES>>& outStream )
This module writes the literals to the output stream as it is and when match length and offset are read, the literals will be read from the local dictionary based on offset until match length. This module can process data in parallel defined by PARALLEL_BYTES template argument.
Parameters:
PARALLEL_BYTES | number of bytes processed in parallel (4, 8) |
HISTORY_SIZE | history size |
SIZE_DT | input data type |
SIZE_OFFSET | offset data type |
litlenStream | literal length stream |
litStream | literals only stream |
offsetStream | offset only stream |
matchlenStream | match length only stream |
outStream | output stream |