International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5    Design of Test Data Compre...
International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5compressed information is deco...
International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5Penhorn used two CPUs to compr...
International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5compression & decompression wo...
International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5Compression/ Decompression    ...
International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5sent as the output. These are ...
International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5COMPARATOR                    ...
International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5                              ...
International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5amount of time.Higher Circuit ...
International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5[10].   X. Kavousianos, E. Kal...
Upcoming SlideShare
Loading in...5
×

IJCER (www.ijceronline.com) International Journal of computational Engineering research

555

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
555
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "IJCER (www.ijceronline.com) International Journal of computational Engineering research "

  1. 1. International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5 Design of Test Data Compressor/Decompressor Using Xmatchpro Method C. Suneetha*1,V.V.S.V.S.Ramachandram*2 1 Research Scholar, Dept. of E.C.E., Pragathi Engineering College, JNTU-K, A.P. , India 2 Associate Professor, Dept.,of E.C.E., Pragathi Engineering College, E.G.Dist., A.P., India the system. Each Data compressor can process fourAbstract bytes of dataHigher Circuit Densities in system-on-chip (SOC)designs have led to drastic increase in test datavolume. Larger Test Data size demands not onlyhigher memory requirements, but also an increase intesting time. Test Data Compression/Decompressionaddresses this problem by reducing the test datavolume without affecting the overall systemperformance. This paper presented an algorithm,XMatchPro Algorithm that combines the advantages ofdictionary-based and bit mask-based techniques. Ourtest compression technique used the dictionary and bit into and from a block of data in every clock cycle. Themask selection methods to significantly reduce the data entering the system needs to be clocked in attesting time and memory requirements. We have a rate of 4 bytes in every clock cycle. This is toapplied our algorithm on various benchmarks and ensure that adequate data is present for all compressorscompared our results with existing test to process rather than being in an idle state.compression/Decompression techniques. Our approachresults compression efficiency of 92%. Our approach 1.2. Goal of the Thesisalso generates up to 90% improvement in To achieve higher decompression rates usingdecompression efficiency compared to other compression/decompression architecture with leasttechniques without introducing any additional increase in latency.performance or area overhead. 1.3. Compression Techniques At present there is an insatiable demand for ever-Keywords - XMatchPro, decompression, test greater bandwidth in communication networks andcompression, dictionary selection, SOC. forever-greater storage capacity in computer system. This led to the need for an efficientI. INTRODUCTION compression technique. The compression is the1.1. Objective process that is required either to reduce the volumeWith the increase in silicon densities, it is of information to be transmitted – text, fax andbecoming feasible for compression systems to be images or reduce the bandwidth that is required for itsimplemented in chip. A system with distributed transmission – speech, audio and video. Thememory architecture is based on having data compression technique is first applied to the sourcecompression and decompression engines working information prior to its transmission. Compressionindependently on different data at the same time. algorithms can be classified in to two types, namelyThis data is stored in memory distributed to eachprocessor. The objective of the project is to design a  Lossless Compressionlossless data compression system which operates in  Lossy Compressionhigh-speed to achieve high compression rate. By usingthe architecture of compressors, the data compressionrates are significantly improved. Also inherentscalability of architecture is possible.The main partsof the system are the Xmatchpro based data 1.3.1. Lossless Compressioncompressors and the control blocks providing In this type of lossless compression algorithm, the aimcontrol signals for the Data compressors allowing is to reduce the amount of source information to beappropriate control of the routing of data into and from transmitted in such a way that, when theIssn 2250-3005(online) September| 2012 Page 1190
  2. 2. International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5compressed information is decompressed, there is the Huffman and Arithmetic coding algorithms and anno loss of information. Lossless compression is said, example of the latter is Lempel-Ziv (LZ) algorithm.therefore, to be reversible. i.e., Data is not altered The majority of work on hardware approaches toor lost in the process of compression or lossless data compression has used an adapted form ofdecompression. Decompression generates an exact the dictionary-based Lempel-Ziv algorithm, in which areplica of the original object. The Various lossless large number of simple processing elements areCompression Techniques are, arranged in a systolic array [1], [2], [3], [4].  Packbits encoding II. PREVIOUS WORK ON LOSSLESS  CCITT Group 3 1D COMPRESSION METHODS  CCITT Group 3 2D A second Lempel-Ziv method used a content  Lempel-Ziv and Welch algorithm LZW addressable memory (CAM) capable of performing a  Huffman complete dictionary search in one clock cycle [5], [6],  Arithmetic [7]. The search for the most common string in the dictionary (normally, the most computationallyExample applications of lossless compression are expensive operation in the Lempel-Ziv algorithm) cantransferring data over a network as a text file be performed by the CAM in a single clock cycle,since, in such applications, it is normally while the systolic array method uses a muchimperative that no part of the source information is slower deep pipelining technique to implement itslost during either the compression or dictionary search. However, compared to the CAMdecompression operations and file storage systems solution, the systolic array method has advantages(tapes, hard disk drives, solid state storage, file in terms of reduced hardware costs and lowerservers) and communication networks (LAN, WAN, power consumption, which may be more importantwireless). criteria in some situations than having faster dictionary searching. In [8], the authors show that hardware1.3.2 Lossy Compression main memory data compression is both feasibleThe aim of the Lossy compression algorithms is and worthwhile. The authors also describe the designnormally not to reproduce an exact copy of the and implementation of a novel compression method,source information after decompression but rather a the XMatchPro algorithm. The authors exhibit theversion of it that is perceived by the recipient as a true substantial impact such memory compression has oncopy. The Lossy compression algorithms are: overall system performance. The adaptation of  JPEG (Joint Photographic Expert Group) compression code for parallel implementation is  MPEG (Moving Picture Experts Group) investigated by Jiang and Jones [9]. They  CCITT H.261 (Px64) recommended the use of a processing array arranged in a tree-like structure. Although compression can beExample applications of lossy compression are the implemented in this manner, the implementation oftransfer of digitized images and audio and video the decompressor’s search and decode stages instreams. In such cases, the sensitivity of the human eye hardware would greatly increase the complexity ofor ear is such that any fine details that may be the design and it is likely that these aspects wouldmissing from the original source signal after need to be implemented sequentially. An FPGAdecompression are not detectable. implementation of a binary arithmetic coding architecture that is able to process 8 bits per clock1.3.3 Text Compression cycle compared to the standard 1 bit per cycle isThere are three different types of text – unformatted, described by Stefo et al [10]. Although little researchformatted and hypertext and all are represented as has been performed on architectures involving severalstrings of characters selected from a defined set. The independent compression units working in acompression algorithm associated with text must be concurrent cooperative manner, IBM has introducedlossless since the loss of just a single character could the MXT chip [11], which has four independentmodify the meaning of a complete string. The text compression engines operating on a shared memorycompression is restricted to the use of entropy area. The four Lempel-Ziv compression engines areencoding and in practice, statistical encoding methods. used to provide data throughput sufficient forThere are two types of statistical encoding methods memory compression in computer servers. Adaptationwhich are used with text: one which uses single of software compression algorithms to make use ofcharacter as the basis of deriving an optimum set of multiple CPU systems was demonstrated by researchcode words and the other which uses variable length of Penhorn [12] and Simpson and Sabharwal [13].strings of characters. Two examples of the former areIssn 2250-3005(online) September| 2012 Page 1191
  3. 3. International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5Penhorn used two CPUs to compress data using a methods are overcome by using the XmatchProtechnique based on the Lempel-Ziv algorithm and algorithm in design. The objective is then to obtainshowed that useful compression rate improvements better compression ratios and still maintain a highcan be achieved, but only at the cost of increasing the throughput so that the compression/decompressionlearning time for the dictionary. Simpson and processes do not slow the original system down.Sabharwal described the software implementation ofcompression system for a multiprocessor system Usage of XMatchPro Algorithmbased on the parallel architecture developed by The Lossless Data Compression system designed usesGonzalez and Smith and Storer [14]. the XMatchPro Algorithm. The XMatchPro algorithm uses a fixed-width dictionary of previously seen dataStatistical Methods and attempts to match the current data element with a Statistical Modeling of lossless data compression match in the dictionary. It works by taking a 4-bytesystem is based on assigning values to events word and trying to match or partially match this worddepending on their probability. The higher the value, with past data. This past data is stored in athe higher the probability. The accuracy with which dictionary, which is constructed from a contentthis frequency distribution reflects reality determines addressable memory. As each entry is 4 bytes wide,the efficiency of the model. In Markov modeling, several types of matches are possible. If all the bytespredictions are done based on the symbols that precede do not match with any data present in thethe current symbol. Statistical Methods in hardware dictionary they are transmitted with an additionalare restricted to simple higher order modeling using miss bit. If all the bytes are matched then the matchbinary alphabets that limits speed, or simple multi location and match type is coded and transmitted, thissymbol alphabets using zeroeth order models that match is then moved to the front of thelimits compression. Binary alphabets limit speed dictionary. The dictionary is maintained using a movebecause only a few bits (typically a single bit) are to front strategy whereby a new tuple is placed at theprocessed in each cycle while zeroeth order front of the dictionary while the rest move downmodels limit compression because they can only one position. When the dictionary becomes full theprovide an inexact representation of the statistical tuple placed in the last position is discarded leavingproperties of the data source. space for a new one. The coding function for a match is Dictionary Methods required to code several fields as follows:Dictionary Methods try to replace a symbol or group of A zero followed by:symbols by a dictionary location code. Somedictionary-based techniques use simple uniform 1). Match location: It uses the binary code associated tobinary codes to process the information supplied. the matching location. 2). Match type: Indicates whichBoth software and hardware based dictionary models bytes of the incoming tuple have matched. 3).achieve good throughput and competitive compression. Characters that did not match transmitted in literalThe UNIX utility ‘compress’ uses Lempel-Ziv-2 form. A description of the XMatchPro algorithm in(LZ2) algorithm and the data compression Lempel- pseudo-code is given in the figure below.Ziv (DCLZ) family of compressors initiallyinvented by Hewlett-Packard[16] and currently Pseudo Code for XMatchPro Algorithmbeing developed by AHA[17],[18] also use LZ2 With the increase in silicon densities, it isderivatives. Bunton and Borriello present another becoming feasible for XMatchPros to beLZ2 implementation in [19] that improves on the implemented on a single chip. A system withData Compression Lempel-Ziv method. It uses a tag distributed memory architecture is based on havingattached to each dictionary location to identify which data compression and decompression enginesnode should be eliminated once the dictionary becomes working independently on different data at the samefull. time.This data is stored in memory distributed to each processor. There are several approaches in which dataXMatchPro Based System can be routed to and from the compressors that willThe Lossless data compression system is a derivative affect the speed, compression and complexity of theof the XMatchPro Algorithm which originates from system. Lossless compression removes redundantprevious research of the authors [15] and advancesin FPGA technology. The flexibility provided by using information from the data while they are transmitted orthis technology is of great interest since the chip can be before they are stored in memory. Lossless decompression reintroduces the redundant informationadapted to the requirements of a particular application to recover fully the original data. There are twoeasily. The drawbacks of some of the previous important contributions made by the currentIssn 2250-3005(online) September| 2012 Page 1192
  4. 4. International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5compression & decompression work, namely, The number of bits in a CAM word is usuallyimproved compression rates and the inherent large, with existing implementations ranging fromscalability. Significant improvements in data 36 to 144 bits. A typical CAM employs a tablecompression rates have been achieved by sharing size ranging between a few hundred entries to 32Kthe computational requirement between compressors entries, corresponding to an address space rangingwithout significantly compromising the contribution from 7 bits to 15 bits. The length of the CAM variesmade by individual compressors. The scalability with three possible values of 16, 32 or 64 tuples tradingfeature permits future bandwidth or storage demands to complexity for compression. The no. of tuples presentbe met by adding additional compression engines. in the dictionary has an important effect on compression. In principle, the larger the dictionaryThe XMatchPro based Compression system the higher the probability of having a match andThe XMatchPro algorithm uses a fixed width improving compression. On the other hand, a biggerdictionary of previously seen data and attempts to dictionary uses more bits to code its locationsmatch the current data element with a match in the degrading compression when processing small datadictionary. It works by taking a 4-byte word and trying blocks that only use a fraction of the dictionaryto match this word with past data. This past data is length available. The width of the CAM is fixed withstored in a dictionary, which is constructed from a 4bytes/word. Content Addressable Memory (CAM)content addressable memory. Initially all the entries in compares input search data against a table of storedthe dictionary are empty & 4-bytes are added to the data, and returns the address of the matching data.front of the dictionary, while the rest move one CAMs have a single clock cycle throughputposition down if a full match has not occurred. The making them faster than other hardware andlarger the dictionary, the greater the number of address software-based search systems. The input to thebits needed to identify each memory location, reducing system is the search word that is broadcast onto thecompression performance. Since the number of bits searchlines to the table of stored data. Each storedneeded to code each location address is a function word has a matchline that indicates whether theof the dictionary size greater compression is search word and stored word are identical (the matchobtained in comparison to the case where a fixed case) or are different (a mismatch case, or miss). Thesize dictionary uses fixed address codes for a partially matchlines are fed to an encoder that generates afull dictionary.In the XMatchPro system, the data binary match location corresponding to the matchlinestream to be compressed enters the compression that is in the match state. An encoder is used in systemssystem, which is then partitioned and routed to the where only a single match is expected.compressors. The overall function of a CAM is to take a searchThe Main Component- Content Addressable word and return the matching memory location.Memory Managing Dictionary entriesDictionary based schemes copy repetitive or Since the initialization of a compression CAM setsredundant data into a lookup table (such as CAM) all words to zero, a possible input word formed byand output the dictionary address as a code to replace zeros will generate multiple full matches inthe data. different locations.The Xmatchpro compressionThe compression architecture is based around a system simply selects the full match closer to the top.block of CAM to realize the dictionary. This is This operational mode initializes the dictionary to anecessary since the search operation must be done in state where all the words with location addressparallel in all the entries in the dictionary to allow high bigger than zero are declared invalid without the needand data-independent for extra logic. Iii. Xmatchpro Lossless Compression System DESIGN METHODOLOGY The XMatchPro algorithm is efficient at compressing the small blocks of data necessary with cache and page based memory hierarchies found in computer systems. It is suitable for high performance hardware implementation. The XMatchPro hardware achieves a throughput 2-3 times greater than other high-performance hardware implementation. The core component of the system is the XMatchPro based Fig..Conceptual view of CAMIssn 2250-3005(online) September| 2012 Page 1193
  5. 5. International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5Compression/ Decompression system. The dictionary means that code words are short during theXMatchPro is a high-speed lossless dictionary early stages of compressing a block. Because thebased data compressor. The XMatchPro algorithm XMatchPro algorithm allows partial matches, aworks by taking an incoming four-byte tuple of decision must be made about which of thedata and attempting to match fully or partially match locations provides the best overall match, with thethe tuple with the past data. selection criteria being the shortest possible number of output bits.FUNCTIONAL DESCRIPTIONThe XMatchPro algorithm maintains a dictionary Implementation of Xmatchpro Based Compressorof data previously seen and attempts to match the The block diagram gives the details about thecurrent data element with an entry in the components of a single 32 bit Compressor. Theredictionary, replacing it with a shorter code referencing are three components namely, COMPARATOR,the match location. Data elements that do not produce a ARRAY, CAMCOMPARATOR. The comparator ismatch are transmitted in full (literally) prefixed by used to compare two 32-bit data and to set or reset thea single bit. Each data element is exactly 4 bytes in output bit as 1 for equal and 0 for unequal. The CAMwidth and is referred to as tuple. This feature gives a COMPARATOR searches the CAM dictionary entriesguaranteed input data rate during compression and thus for a full match of the input data given. The reason foralso guaranteed data rates during decompression, choosing a full match is to get a prototype of the highirrespective of the data mix. Also the 4-byte tuple throughout Xmatchpro compressor with reducedsize gives an inherently higher throughput than other complexity and high performance.algorithms, which tend to operate on a byte stream. If a full match occurs, the match-hit signal isThe dictionary is maintained using move to front generated and the corresponding match location isstrategy, where by the current tuple is placed at given as output by the CAM Comparator.. If no fullthe front of the dictionary and the other tuples match occurs, the corresponding data that is given asmove down by one location as necessary to make input at the given time is got as output.space. The move to front strategy aims to exploit 32 BIT COMPRESSIONSlocality in the input data. If the dictionary becomesfull, the tuple occupying the last location is simplydiscarded.A full match occurs when all characters in theincoming tuple fully match a dictionary entry. Apartial match occurs when at least any two of thecharacters in the incoming tuple match exactly witha dictionary entry, with the characters that do notmatch being transmitted literally. The use of partial matching improves the compression Array is of length of 64X32 bit locations. This isratio when compared with allowing only 4 byte used to store the unmatched incoming data andmatches, but still maintains high throughput. If when a new data comes, the incoming data isneither a full nor partial match occurs, then a miss is compared with all the data stored in this array. Ifregistered and a single miss bit of ‘1’ is transmitted a match occurs, the corresponding match locationfollowed by the tuple itself in literal form. The only is sent as output else the incoming data is storedexception to this is the first tuple in any compression in next free location of the array & is sent asoperation, which will always generate a miss as the output. The last component is the cam comparator anddictionary begins in an empty state. In this case no is used to send the match location of the CAMmiss bit is required to prefix the tuple. dictionary as output if a match has occurred. This isAt the beginning of each compression operation, done by getting match information as input from thethe dictionary size is reset to zero. The dictionary comparator.then grows by one location for each incoming tuple Suppose the output of the comparator goes high for anybeing placed at the input, the match is found and the corresponding front of the dictionary and all other entries in the address is retrieved and sent as output along withdictionary moving down by one location. A full one bit to indicate that match is found. At the samematch does not grow the dictionary, but the move- time, suppose no match occurs, or no matched data isto-front rule is still applied. This growth of the found, the incoming data is stored in the array and it isIssn 2250-3005(online) September| 2012 Page 1194
  6. 6. International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5sent as the output. These are the functions of the threecomponents of the CompressorIV.Design of LosslessCompression/Decompression SystemDESIGN OF COMPRESSOR / DECOMPRESSORThe block diagram gives the details about thecomponents of a single 32-bit compressor /decompressor. There are three components namelyCOMPRESSOR, DECOMPRESSOR and CONTROL.The compressor has the following components -COMPARATOR, ARRAY, and Fig. Block Diagram of 32 bitCAMCOMPARATOR. Compressor/DecompressionThe comparator is used to compare two 32-bit data and The Control has the input bit called C / D i.e.,to set or reset the output bit as 1 for equal and 0 for Compression / Decompression Indicates whetherunequal. compression or decompression has to be done. If it has the value 0 then omcpressor is stared when the value isArray is of length of 64X32bit locations. This is 1 decompression is doneused to store the unmatched in coming data andwhen the next new data comes, that data is compared V. Result Analysiswith all the data stored in this array. If the incomingdata matches with any of the data stored in array, the 1 SYNTHESIS REPORTComparator generates a match signal and sends it Release 8.2i - xst I.31to Cam Comparator.The last component is the Cam comparator and is Copyright (c) 1995-2006 Xilinx, Inc. All rightsused to send the incoming data and all the stored reserved.data in array one by one to the comparator.Suppose output of comparator goes high for any --> Parameter TMPDIR set to ./xst/projnav.tmpinput, then the match is found and the CPU : 0.00 / 0.17 s | Elapsed : 0.00 / 0.00 scorresponding address (match location) is retrievedand sent as output along with one bit to indicate the --> Parameter xsthdpdir set to ./xstmatch is found. At the same time, suppose no match isfound, then the incoming data stored in the array is CPU : 0.00 / 0.17 s | Elapsed : 0.00 / 0.00 ssent as output. These are the functions of thethree components of the XMatchPro based --> Reading design: ds.prjcompressor.The decompressor has the following components – Table of ContentsArray and Processing Unit.  Synthesis Options Summary  HDL CompilationArray has the same function as that of the array unitwhich is used in the Compressor. It is also of the same  Design Hierarchy Analysislength. Processing unit checks the incoming match hit  HDL Analysisdata and if it is 0, it indicates that the data is not  HDL Synthesispresent in the Array, so it stores the data in the Array  HDL Synthesis Reportand if the match hit data is 1, it indicates the data is  Advanced HDL Synthesispresent in the Array, then it instructs to find the data  Advanced HDL Synthesis Reportfrom the Array with the help of the address input and  Low Level Synthesissends as output to the data out. Partition ReportRESULTSIssn 2250-3005(online) September| 2012 Page 1195
  7. 7. International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5COMPARATOR CAM dictionary as output if a match has occurred. This is done by getting match Information as input from the comparator. CompressionCOMPARATOR waveform explanationWhenever the reset signal is active low then only thedata is compared otherwise i.e. if it is active high theeqout signal is zero. Here we are applying 3 4 5 6 78 as data1 and 4 5 8 as data2. So after comparing Fig. Compression of INPUT DATA waveformthe inputs the output signal eqout raises at the data 4and 8 instants which indicate the output signal. Compression waveform explanation Whenever the reset1 and start1 signal is active lowCOMPARATOR function then only the compression of data is occurred. HereSuppose the output of the comparator goes high for every signal reacts at the clk1 rising edge onlyany input, the match is found and the corresponding because it is meant for positive edge triggering. Theaddress is retrieved and sent as output along data which has to be compressed is applied at thewith one bit to indicate that match is found. At the udata signal and the resultant data is obtained at thesame time, suppose no match occurs, or no matched dataout signal which is nothing but compressed data.data is found, the incoming data is stored in the array Whenever there is a redundancy data is there in theand it is sent as the output. applied data then the matchhit signal will be in active high state by generating the corresponding addressCAM signal addrout. Compression function The compression engine main intension is to compress the incoming content for memory reduction purpose and to transfer the data very easily. DecompressionFig. CAM data input Waveform Fig. CAM data output WaveformCAM waveform explanation Fig. Decompression of the dataWhenever the reset signal is active low then only thecam produces the corresponding address and thematch hit signal by individually raise thecorresponding hit otherwise i.e. if it is active high itdoesn’t produces any signal. In order to obtain theoutputs the start should be in active low state.CAM functionThe cam is used to send the match location Of theIssn 2250-3005(online) September| 2012 Page 1196
  8. 8. International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5 DecompressionDecompression waveform explanation Whenever the reset and start_de signal is activelow then only the decompression of data is occurred.Here every signal reacts at the clk1 rising edge onlybecause it is meant for positive edge triggering. Herefor retrieving the original data the outputs of thecompressor engine has to be applied as inputs for thedecompression engine. Fig RTL Schematic of decompression waveformDecompression function of component levelThe decompression engine main intension is toretrieve the original content.SCHEMATICCompression Fig. RTL Schematic of decompression waveform of circuit level Fig. RTL Schematic of compression waveform of component level Fig. RTL Schematic of decompression waveform of chip level VI.CONCLUSION The various modules are designed and coded using VHDL. The source codes are simulated and the Fig. RTL Schematic of compression waveform of various waveforms are obtained for all the circuit level modules. Since the Compression/Decompression system uses XMatchPro algorithm, speed of compression throughput is high. The Improved Compression ratio is achieved in Compression architecture with least increase in latency. The High speed throughput is achieved. The architecture provides inherent scalability in future. The total time required to transmit compressed data is less than that of Transmitting uncompressed data. This can lead to aFig.RTL Schematic of compression waveform of performance benefit, as the bandwidth of a linkchip level appears greater when transmitting compressed data and hence more data can be transmitted in a givenIssn 2250-3005(online) September| 2012 Page 1197
  9. 9. International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5amount of time.Higher Circuit Densities in system-on-chip (SOC)designs have led to drastic increase in test datavolume. Larger Test Data size demands not onlyhigher memory requirements, but also an increase intesting time. Test Data Compression/Decompressionaddresses this problem by reducing the test datavolume without affecting the overall systemperformance. This paper presented an algorithm,XMatchPro Algorithm that combines the advantages Referencesof dictionary-based and bit mask-based techniques. [1]. Li, K. Chakrabarty, and N. Touba, “TestOur test compression technique used the dictionary data compression using dictionaries withand bit mask selection methods to significantly selective entries and fixed-length indices,”reduce the testing time and memory requirements. ACM Trans.Des. Autom. Electron. Syst.,We have applied our algorithm on various vol. 8, no. 4, pp. 470–490, 2003.benchmarks and compared our results with existing [2]. Wunderlich and G. Kiefer, “Bit-flippingtest compression/Decompression techniques. Our BIST,” in Proc. Int. Conf. Comput.Aidedapproach results compression efficiency of 92%. Our Des., 1996, pp. 337–343.approach also generates up to 90% improvement in [3]. N. Touba and E. McCluskey, “Altering adecompression efficiency compared to other pseudo-random bit sequence for scan basedtechniques without introducing any additional bist,” in Proc. Int. Test Conf., 1996, pp.performance or area overhead. 167–175. [4]. F. Hsu, K. Butler, and J. Patel, “A caseVii. Future Scope study on the implementation of Illinois scanThere is a potential of doubling the performance architecture,” in Proc. Int. Test Conf., 2001,of storage / communication system by increasing pp. 538–547.the available transmission bandwidth and data [5]. M. Ros and P. Sutton, “A hamming distancecapacity with minimum investment. It can be applied based VLIW/EPIC code compressionin Computer systems, High performance storage technique,” in Proc. Compilers, Arch.,devices. This can be applied to 64 bit also in order to Synth. Embed. Syst., 2004, pp. 132–139.increase the data transfer rate. There is a chance to [6]. Seong and P. Mishra, “Bitmask-based codeeasy migration to ASIC technology which enables 3- compression for embed systems,” IEEE5 times increase in performance rate. There is a Trans. Comput.-Aided Des. Integr. Circuitschance to develop an engine which does not require Syst., vol. 27, no. 4, pp. 673–685, Apr.any external components and supports operation on 2008.blocked data. Full-duplex operation enables [7]. M.-E. N. A. Jas, J. Ghosh-Dastidar, and N.simultaneous compression /decompression for a Touba, “An efficient test vector compressioncombined performance of high data rates, which also scheme using selective Huffman coding,”enables self-checking test mode using CRC (Cyclic IEEE Trans. Comput.-Aided Des. Integr.Redundancy Check). High-performance coprocessor- Circuits Syst., vol. 22, no. 6, pp.797–806,style interface should be possible if synchronization Jun. 2003.is achieved. Chance to improve the Compression [8]. A. Jas and N. Touba, “Test vectorratio compare with proposed work. decompression using cyclical scan chains and its application to testing core basedVIII. Acknowledgements design,” in Proc. Int.Test Conf., 1998, pp.The authors would like to thank everyone, whoever 458–464.remained a great source of help and inspirations in [9]. A. Chandra and K. Chakrabarty, “System onthis humble presentation. The authors would like to a chip test data compression andthank Pragathi Engineering College Management for decompression architectures based onproviding necessary facilities to carry out this work. Golomb codes,” IEEE Trans. Comput.- Aided Des. Integr. Circuits Syst., vol. 20, no. 3, pp.355–368, Mar. 2001.Issn 2250-3005(online) September| 2012 Page 1198
  10. 10. International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2Issue. 5[10]. X. Kavousianos, E. Kalligeros, and D. Nikolos, “Optimal selective Huffman coding [19]. X. Kavousianos, E. Kalligeros, and D. for test-data compression,” IEEE Trans. Nikolos, “Test data compression based on Computers, vol. 56, no. 8, pp. 1146–1152, variable-to-variable Huffman encoding with Aug. 2007. codeword reusability,” IEEE Trans.[11]. M. Nourani andM. Tehranipour, “RL- Comput.-Aided Des. Integr. Circuits Huffman encoding for test compression and Syst.,vol. 27, no. 7, pp. 1333–1338, Jul. power reduction in scan applications,” ACM 2008. Trans. Des.Autom. Electron. Syst., vol. 10, [20]. S. Reda and A. Orailoglu, “Reducing test no. 1, pp. 91–115, 2005. application time through test data mutation[12]. H. Hashempour, L. Schiano, and F. encoding,” in Proc. Des. Autom. Test Eur., Lombardi, “Error-resilient test data 2002, pp.387–393. compression using Tunstall codes,” in Proc. [21]. E. Volkerink, A. Khoche, and S. Mitra, IEEE Int. Symp. Defect Fault Tolerance “Packet-based input test data compression VLSI Syst., 2004, pp. 316–323. techniques,” in Proc. Int. Test Conf., 2002,[13]. M. Knieser, F.Wolff, C. Papachristou, pp. 154–163. D.Weyer, and D. McIntyre, “A technique for [22]. S. Reddy, K. Miyase, S. Kajihara, and I. high ratio LZWcompression,” in Proc. Des., Pomeranz, “On test data volume reduction Autom., Test Eur., 2003, p. 10116. for multiple scan chain design,” in Proc.[14]. M. Tehranipour, M. Nourani, and K. VLSI Test Symp., 2002, pp. 103–108. Chakrabarty, “Nine-coded compression [23]. F. Wolff and C. Papachristou, “Multiscan- technique for testing embedded cores in based test compression and hardware SOCs,” IEEE Trans.Very Large Scale decompression using LZ77,” in Proc. Int. Integr. (VLSI) Syst., vol. 13, pp. 719–731, Test Conf., 2002,pp. 331–339. Jun. 2005. [24]. A. Wurtenberger, C. Tautermann, and S.[15]. L. Lingappan, S. Ravi, A. Raghunathan, N. Hellebrand, “Data compression for multiple K. Jha, and S. T.Chakradhar, “Test volume scan chains using dictionaries with reduction in systems-on-a-chip using corrections,” in Proc. Int. Test Conf., 2004, heterogeneous and multilevel compression pp. 926–935. techniques,” IEEE Trans.Comput.-Aided [25]. K. Basu and P.Mishra, “A novel test-data Des. Integr. Circuits Syst., vol. 25, no. 10, compression technique using application- pp.2193–2206, Oct. 2006. aware bitmask and dictionary selection[16]. A. Chandra and K. Chakrabarty, “Test data methods,” in Proc.ACM Great Lakes Symp. compression and test resource partitioning VLSI, 2008, pp. 83–88. for system-on-a-chip using frequency- [26]. T. Cormen, C. Leiserson, R. Rivest, and C. directed run-length (FDR) codes,” IEEE Stein, Introduction to Algorithms. boston, Trans. Computers, vol. 52, no. 8, pp.1076– MA: MIT Press, 2001. 1088, Aug. 2003. [27]. M. Garey and D. Johnson, Computers and[17]. X. Kavousianos, E. Kalligeros, and D. Intractability: A Guide to the Theory of NP- Nikolos, “Multilevel-Huffman test-data Completeness. New York: Freeman, 1979. compression for IP cores with multiple scan [28]. Hamzaoglu and J. Patel, “Test set chains,” IEEE Trans. Very Large Scale compaction algorithm for combinational Integr. (VLSI) Syst., vol. 16, no. 7, pp. 926– circuits,” in Proc. Int. Conf. Comput.-Aided 931,Jul. 2008. Des., 1998, pp.283–289.[18]. X. Kavousianos, E. Kalligeros, and D. Nikolos, “Multilevel Huffman coding: An efficient test-data compression method for IP cores,” IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst., vol. 26, no. 6, pp.1070–1083, Jun. 2007.Issn 2250-3005(online) September| 2012 Page 1199

×