1. An integrated circuit, comprising: a decompression block that receives as input a compressed input stream made up of symbols in M words, each word having up to N symbols, where M and N are a positive integers, and that outputs an uncompressed output stream made up of an array of literals, the array of literals being original literals before compression; the decompression block is configured as a pipeline that includes a length module and a distance module, the length module evaluates a length for each symbol, the distance module resolves the distances in the at least one length-distance pair; the length module comprising: a shifter stage configured to store two consecutive words, and control a sliding window of S symbols, where S is a positive integer, in accordance with end word values in order to extract literals or distances, the end word values represent the number of uncompressed words between the start of the first symbol and the end of a current symbol; a mapper stage configured to receive the literals or distances from the sliding window and using end byte values map the literals or distances to positions in the output stream, the end byte values represent the absolute position in the output stream where a given symbol ends; the distance module comprising: a pointer replacement stage configured to replace distances, represented as pointers within an output word, with either literals or other pointers to prior words; a resolution stage configured to replace the other pointers with literals, and output literals and the replacement literals to the uncompressed output stream.
1. An integrated circuit, comprising: a decompression block that receives as input a compressed input stream made up of symbols in M words, each word having up to N symbols, where M and N are a positive integers, and that outputs an uncompressed output stream made up of an array of literals, the array of literals being original literals before compression; the decompression block is configured as a pipeline that includes a length module and a distance module, the length module evaluates a length for each symbol, the distance module resolves the distances in the at least one length-distance pair; the length module comprising: a shifter stage configured to store two consecutive words, and control a sliding window of S symbols, where S is a positive integer, in accordance with end word values in order to extract literals or distances, the end word values represent the number of uncompressed words between the start of the first symbol and the end of a current symbol; a mapper stage configured to receive the literals or distances from the sliding window and using end byte values map the literals or distances to positions in the output stream, the end byte values represent the absolute position in the output stream where a given symbol ends; the distance module comprising: a pointer replacement stage configured to replace distances, represented as pointers within an output word, with either literals or other pointers to prior words; a resolution stage configured to replace the other pointers with literals, and output literals and the replacement literals to the uncompressed output stream. 2. The integrated circuit of claim 1 , wherein the length module further comprises: an end value pipeline having a plurality of stages that calculate for each of the N symbols an end value as a cumulative length from a first symbol to the Nth symbol in the array of N symbols; and a symbol position stage that adds an end byte from a last symbol of a previous word to the cumulative length for each symbol and that splits each end value into an end byte and an end word, to obtain the end byte values and the end word values.