Vous êtes sur la page 1sur 21

A PROJECT PRESENTATION ON

SIMULATION AND SYNTHESIS OF AN EFFICIENT 32 BIT LOSSLESS COMPRESSION METHOD USING VHDL
www.1000projects.com www.fullinterview.com www.chetanasprojects.com

Abstract
The objective of the project is to design a lossless parallel data compression system which operates in high-speed to achieve high compression rate. The main parts of the system are the two Xmatchpro based data compressors in parallel and the control blocks Each Data compressor can process four bytes of data into and from a block of data every clock cycle.

Introduction to compression Techniques


The compression is the process that is required to reduce the volume of information to be transmitted .
Sender Encoder Decoder Receiver

Compression algorithms can be classified in to two types, namely Lossless Compression Lossy Compression

Lossless Data Compression Methods


Statistical Methods: Statistical Modeling of lossless data compression system is based on assigning values to events depending on their probability. The higher the value, the higher the probability. Dictionary Methods: Dictionary Methods try to replace a symbol or group of symbols by a dictionary location code. Both software and hardware based dictionary models achieve good throughput and competitive compression. In our project we use XMatchPro Algorithm .

XMatchPro algorithm
Xmatch algorithm is a parallel lossless data compression. This algorithm uses a fixed width dictionary . It works by taking a 4-byte word and trying to match this word with past data. This past data is stored in a dictionary, which is constructed from a content addressable memory. Initially CAM sets all words in dictionary to zero. If the input word is matched,then corresponding address is send to output.

If input word is mismatch then miss is registered and a single miss bit of 1 is transmitted followed by the tuple itself. At the beginning of each compression, the dictionary size is reset to zero. A partial match occurs when at least any tow of the characters in the incoming tuple match exactly with a dictionary entry. The use of partial matching improves the compression ratio when compared with allowing only 4 byte matches.

PARALLEL XMATCHPRO COMPRESSION


The Input router of the system divide the data to be compressed. Output router concatenate the data to give as output of the parallel compression system respectively
X match pro

Input router

X match pro
X match pro

Output router

There are several approaches in which data can be routed in and out of the compressors. Two methods: 1. Interleaved input method. 2. Blocked Input method.
In this project, Blocked Input Routing method is used for inputting data to compression system as it is more advantageous than interleaved input approach.

BLOCKED INPUT METHOD : In the blocked input approach, a fixed length block of data is sent from the incoming data stream to each of the compressors .
7 8 5 6 3 4 1 2 IR 4 3 2 1 XmatchPro

XmatchPro

OUTPUT ROUTING methods


in decompression, additional manipulation is needed in order to guarantee that the original data can be recovered. It is achieved by 3 methods, namely, 1. Single Compressed Block 2. Multiple Compressed Block 3. Interleaved Compressed Block In this project, the Interleaved technique was selected as the Output Routing .

INTERLEAVED COMPRESSED BLOCK


In interleaved approach for routing multiple compressed blocks of data to the output , , a predefined fixed length of compressed data is always sent to the output.
C M P 1 C M P 1 C M P 3 C M P 3 Idle Time CM CM C P P M 2 2 P 1 C M P 1 Idle Time

There are two benefits of this approach compared with the previously discussed methods. There is a reduction in latency since data can be sent to the output beforethe whole block is compressed. Here no boundary tags are required, the compression ratio is improved.

Block diagram

Explanation: There are three components namely


COMPRESSOR DECOMPRESSOR CONTROL. The compressor has the following components ARRAY COMPARATOR CAMCOMPARATOR.

Array is of length of 64X32 bit locations. This is used to store the unmatched incoming data and when a new data comes. The incoming data is compared with all the data stored in this array. If a match occurs, the corresponding match location is sent as output else the incoming data is stored in next free location of the array & is sent as output.

The comparator is used to compare two 32-bit data and to set or reset the output bit as 1 for equal and 0 for unequal. Comparator generates a match signal and sends it to Cam Comparator. The last component is the Cam comparator and is used to send the incoming data and all the stored data in array one by one to the comparator.

The decompressor has the following components Array Processing Unit. Array has the same function as that of the array unit which is used in the Compressor. Processing unit checks the incoming match hit data .

Control unit: The Control has the input bit called C / D i.e., Compression / Decompression If it has the value 0 then compressor is stared when the value is 1 decompression is done.

DESIGN OF PARALLEL COMPRESSION SYSTEM


clk
rst Start datain
Compressor 0 6 ADDR OUT 12 MATCH HIT 2 32 Data out 6 Compressor 1 32 32 64

Here the compressor is instantiated twice for the two processors. The components of the single instantiated compressor are same as that of the 32-bit compressor. The comparator is used to compare two 32-bit data and to set or reset the output bit as 1 for equal and 0 for unequal. Array is of length of 64X32bit locations. This is used to store the unmatched incoming data

when a new data comes, that data is compared with the all the data stored in this array for a match. If no match occurs, the incoming data is stored in next free location of the array. Comparator goes high for any input the match is found cam comparator gives the corresponding address is retrieved and sent as output along with one bit to indicate that a match is found.

Vous aimerez peut-être aussi