WO1998043359A1 - Procede et dispositif de compression et de decompression de configuration binaire - Google Patents

Procede et dispositif de compression et de decompression de configuration binaire Download PDF

Info

Publication number
WO1998043359A1
WO1998043359A1 PCT/JP1998/001273 JP9801273W WO9843359A1 WO 1998043359 A1 WO1998043359 A1 WO 1998043359A1 JP 9801273 W JP9801273 W JP 9801273W WO 9843359 A1 WO9843359 A1 WO 9843359A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
compression
test
pattern
compression method
Prior art date
Application number
PCT/JP1998/001273
Other languages
English (en)
French (fr)
Inventor
Masahiro Ishida
Takahiro Yamaguchi
Marco Tilgner
Original Assignee
Advantest Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advantest Corporation filed Critical Advantest Corporation
Priority to US09/194,220 priority Critical patent/US6661839B1/en
Priority to JP54543498A priority patent/JP3377217B2/ja
Priority to EP98909841A priority patent/EP0909037A4/en
Priority to IL12706398A priority patent/IL127063A0/xx
Priority to KR1019980709083A priority patent/KR100341211B1/ko
Publication of WO1998043359A1 publication Critical patent/WO1998043359A1/ja

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318335Test pattern compression or decompression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318371Methodologies therefor, e.g. algorithms, procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind

Definitions

  • the present invention relates to a method for compressing a data pattern such as a test pattern used for testing a semiconductor integrated circuit (IC), an expansion method, a compression device, an expansion device, and a large-scale semiconductor integrated circuit.
  • LSI large-scale semiconductor integrated circuit
  • Test pattern compression methods, decompression methods, compression devices, and decompression methods Related to equipment. Background branch art
  • an IC tester for testing a semiconductor integrated circuit (hereinafter referred to as an IC)
  • a test pattern applied to an IC to be tested has a huge amount of data.
  • This huge amount of test pattern data is compressed and transmitted, and the compressed test pattern data is expanded at the receiving side to restore the original test pattern data and applied to the IC under test.
  • LZ compression Lempel Ziv's algorithm
  • Huffman compression Huffman compression
  • their various modified compression methods have been used in data compression devices. These methods are a single compression method, and the data compression apparatus compresses these data patterns by applying this single compression method to all data nodes to be compressed.
  • an Intel microprocessor has 16 bins in 404 in 1971, 68 bins in 2022 in 1982, and 198 13 bins for 5 years 8 3 8 6, 16 8 bins for 1 8 9 8 8 6 8 6, 9 6 bins for 1 9 9 9 Pentium, 9 9 5 9
  • the number of bins has been increasing year by year as the integration of ICs has increased, such as with PentiumPro's 378 pins.
  • the IC automatic test system (ATE) has also shifted to a method in which the hardware of the test equipment is compatible with bins (per-pin method). This is because it is possible to flexibly cope with the increasing number of pins if the pin architecture is used.
  • Purbin's architecture allows (a) simultaneous download of test data for each pin at the same time, reducing the time required to download compressed test patterns to the internal memory of the automatic test system. (B) Compressor Also, since the management of the expander is simplified, it has the advantage that it can flexibly cope with an increase in the number of IC pins.
  • ATE automatic test systems for ICs
  • ATE Conventional automatic test systems for ICs
  • the test pattern is transferred from the disk device that stores the test pattern. It took a very long time to download the video to ATE's pattern generator. For example, it took about one hour to download a test pattern of about 1 Gbyte (gigabyte) via a network. Therefore, it is important to improve the ATE utilization rate by reducing the test pattern down time.
  • One object of the present invention is to divide a data pattern having a different structure or a different statistical property into a plurality of blocks in correspondence with the patterns, and to optimize the blocks for each block.
  • a test pattern compression method that can efficiently compress the data to be compressed by applying the compression method is provided.
  • Another object of the present invention is to provide a data pattern decompression method which can restore compressed data divided into a plurality of blocks from each block to an original data pattern without information loss. That is.
  • Still another object of the present invention is to divide a test pattern into test sequences for each pin of a semiconductor integrated circuit and measure the data structure or statistical properties of each test sequence.
  • An object of the present invention is to provide a test pattern compression method and a compression apparatus that can efficiently compress a test pattern to be compressed by applying an optimal compression method.
  • Still another object of the present invention is to restore the original test pattern in real time on a pin-by-pin basis without loss of information from the compressed data for each pin of the semiconductor integrated circuit generated by the compression method or the compression apparatus. It is an object of the present invention to provide a test pattern expansion method and an expansion device that can perform the test pattern expansion.
  • a data compression method is a compression method for compressing an input data having redundancy, for example, a test pattern data, for each pin of an integrated circuit under test.
  • a data pattern decompression method for dividing a compressed data into a plurality of blocks according to a structure of the compressed data when decompressing the compressed data generated by the data pattern compression method. And a decompression step for applying an appropriate decompression method to each of the blocks, whereby the compressed data is restored to the original data pattern without loss of information.
  • the dividing step includes a step of calculating a threshold value of the number of data transitions for block division, and a step of inputting data.
  • the dividing step includes a step of calculating a threshold value of an event peak for dividing the program, a step of measuring a probability of appearance of a symbol in the input data, and a step of calculating the symbol. Calculating the entropy of the data from the probability of occurrence; comparing the threshold with the actual entropy of the data; and distributing the data to any of a plurality of blocks according to the result of the comparison. This makes it possible to divide an input data pattern into appropriate blocks.
  • the step is a step of counting the number of transitions in the input data pattern and dividing the input data into blocks according to the number of data transitions.
  • the number of transitions is smaller than a threshold value.
  • the above-mentioned compression step applies the run-length compression method to the blocks that have the following characteristics, and applies the appropriate compression method to the other blocks. Get compression.
  • the dividing step of decompressing the compressed data includes the step of compressing the compressed data by a data compressed by a run-length compression method and a data decompressed by a plurality of other compression methods.
  • the split run-length compressed data is characterized in that the run-length expansion is performed in the expansion step, thereby restoring the compressed data to the original data pattern without loss of information.
  • a block in which the periodicity of data is large in the blocks divided by the division step is a browse wheeler.
  • the method includes a step of performing at least one conversion (hereinafter, referred to as BW conversion), applying the run-length compression method to the BW-converted data in the above-described compression step, and applying the same to other blocks, respectively. It is characterized by applying an appropriate compression method, whereby an appropriate compression is obtained for all data.
  • BW conversion at least one conversion
  • the dividing step for expanding the compressed data comprises: data obtained by performing a BW conversion on the compressed data and then compressed by a run-length compression method; and other compression methods.
  • the run-length-compressed portion is run-length expanded by the expansion step described above, and then BW inverse-converted by the number of BW conversions.
  • the compressed data is restored to the original data pattern without loss of information.
  • the Huffman compression method is applied in the above-mentioned compression step to a block in which the entropy in a project divided in the above-mentioned division step is smaller than a threshold value. It is characterized by applying an appropriate compression method to each of the programs, thereby making it possible to obtain an appropriate compression for all data.
  • the compressed data Is divided into the data compressed by the Huffman compression method and the data compressed by other compression methods, and the Hufman decompression method is applied to the data compressed by the Huffman compression method in the above decompression step.
  • the compressed data can be restored to the original data pattern without information loss.
  • the LZ compression method is applied in a compression step to a project having a small entropy in a divided project, and the LZ compression method is optimally applied to other blocks. It is characterized by applying an appropriate compression method, which makes it possible to obtain appropriate compression for all data.
  • the dividing step divides the compressed data into data compressed by the LZ compression method and data compressed by another compression method, In the decompression step, LZ decompression is applied to data compressed by the LZ compression method, whereby the compressed data is restored to the original data pattern without information loss. Enable.
  • an arithmetic coding compression method is applied in a compression step to a block having a small event port in a divided block, and to another block. Is characterized by applying an appropriate compression technique to each of them, thereby making it possible to obtain optimum compression for all data.
  • the compressed data is divided into data compressed by the arithmetic coding compression method and data compressed by other compression methods, and compressed by the arithmetic coding compression method in the decompression step.
  • the arithmetic encoding and decompression method is applied to the compressed data, which makes it possible to restore the compressed data to the original data pattern without loss of data. I do.
  • the dividing step includes a step of inputting an environment parameter for appropriate block division, and a step of using the input environment parameter for the block. Calculating a threshold value of the number of data transitions for the division, thereby enabling optimal block division.
  • the dividing step comprises the steps of: inputting an environment parameter for appropriate block division; and performing block processing using the input environment parameter. Calculating an entropy threshold for the segmentation.
  • the data compression method comprises the steps of: calculating a threshold value of the number of data transitions for block division; and compressing the input data using the calculated threshold value. Estimating the compression ratio, and performing a threshold optimization to maximize the compression ratio. The optimized threshold is used in the above-mentioned division step, whereby the optimal block division is performed. Enable.
  • a method for compressing a data pattern comprising the steps of: calculating an entropy threshold value for block division; and estimating a compression ratio of input data using the calculated threshold value. Optimizing the threshold value so that the compression ratio is maximized, and using the optimized threshold value in the division step, whereby the optimal block division is performed.
  • the test pattern compression apparatus includes: a dividing unit that divides an input test pattern into a test sequence for each pin of an integrated circuit under test; and an appropriate configuration according to a data structure of each test sequence.
  • a test sequence compression means for selecting a compression method and compressing a test sequence for each pin is provided, whereby a maximum compression ratio can be obtained for all data.
  • a test pattern can be input and the data compressed for each bin can be output together or in the order of compression.
  • a test pattern compression method in a test pattern compression method according to still another preferred embodiment, there are provided a step of dividing an input test pattern into a test sequence for each pin of an integrated circuit, and an appropriate compression according to a data structure of each test sequence. Selecting an approach and compressing the test sequence on a pin-by-pin basis.
  • test sequence compression means is provided for each pin, operates in parallel, and outputs compressed data in parallel.
  • the compression step is performed on the divided test sequences in parallel. Enables high-speed and high-efficiency compression.
  • the test pattern decompression device comprises: a compression data dividing means for dividing the input compressed data into compressed data for each pin of the integrated circuit under test; Test sequence decompression means for selecting and applying the compression method in accordance with a flag indicating the compression method.
  • a step of dividing the input compressed data into compressed data for each pin of the integrated circuit and a method of compressing the divided compressed data are shown. Selecting and applying an appropriate decompression method according to the flag.
  • test pattern expansion device of the present invention is characterized in that the test sequence expansion device is provided for each pin and operates in parallel.
  • the expansion step is performed in parallel for each pin.
  • the test sequence compression means includes a compression method determination means for determining an appropriate compression method adapted to an input test sequence, and a run-length compression method for the test sequence.
  • Run-length compression means for performing compression by compression and BWT run-length compression means for applying run-length compression after applying the BW conversion at least once to the test sequence by the BW conversion means.
  • This test pattern compression apparatus is provided with a means for using an LZ compression method, a Huffman compression method, an arithmetic coding compression method, or the like as a compression means for another compression method.
  • test sequence compression step in the test sequence compression step, a step of determining an appropriate compression method to be applied to an input test sequence, and a run-length compression method or BW conversion is applied at least once. After that, apply one of the run-length compression methods (hereinafter referred to as BWT run-length compression method) or other compression methods (LZ compression method, Huffman compression method, arithmetic coding compression method, etc.) Performing compression of the test sequence.
  • the test sequence decompression device in the test pattern decompression device of the present invention may be configured to determine whether the compressed data is data compressed by a run-length compression method or data compressed by a BWT run-length compression method.
  • other expansion means for performing expansion using a corresponding expansion method.
  • the compressed data is data compressed by a run-length compression method, data compressed by a BWT run-length compression method, LZ
  • the present invention comprises a step of determining whether the data is data compressed by another compression method such as a compression method, and a step of selecting and applying an appropriate decompression method corresponding to the compressed method to the compressed data.
  • the compression method determining means in the test pattern compression apparatus includes a BW conversion optimizing means for calculating an appropriate number of times of applying the BW conversion to the test sequence, and a threshold storing the threshold of the compression ratio.
  • Compression ratio comparing means for comparing the maximum value of the compression ratio obtained from the value storage means with the threshold value of the value storage means, and compression. Whether to compress using the run-length compression method or compress using the BWT run-length compression method according to the result of comparison obtained from the comparison means and the optimal number of applications of the BW conversion obtained from the BW conversion optimization means Or a compression method selecting means for selecting whether to perform compression by another compression method such as an LZ compression method.
  • the BW conversion optimizing means in the compression method determining means applies BW conversion to the test sequence. Measuring the number of transitions in the BW-transformed data; calculating the compression ratio from the number of transitions; and finding the maximum value of the compression ratio and the number of BW conversions at which the compression ratio is maximized. Consisting of
  • the semiconductor integrated circuit automatic test system using the test pattern compression device and the test pattern decompression device includes: a large-capacity storage device (for example, a disk device) for storing compressed test pattern data; It has a pattern generator that stores and generates test patterns, and a test pattern expansion unit that completely restores the compressed test pattern data to the original test pattern without loss of information, thereby shortening the test pattern download time. Enable.
  • a large-capacity storage device for example, a disk device
  • It has a pattern generator that stores and generates test patterns, and a test pattern expansion unit that completely restores the compressed test pattern data to the original test pattern without loss of information, thereby shortening the test pattern download time. Enable.
  • a semiconductor integrated circuit automatic test system includes a large-capacity storage device (for example, a disk device) for storing a compressed test pattern data, a pattern generator for storing the test pattern data and generating a test pattern, A plurality of test sequence decompression means for completely restoring the test sequence data compressed for each pin to the original test pattern without loss of information in parallel for each bin. ⁇ 3 ⁇ 4 ⁇ 3 ⁇ 4 ⁇ no na tomo
  • FIG. 1 is a diagram showing an example of a test pattern used in each of the first and second embodiments of the present invention.
  • FIG. 2 is a block diagram showing an example of a functional configuration of the test pattern compression device used in the first embodiment of the present invention.
  • FIG. 3 is a flowchart for explaining the test pattern compression method according to the first embodiment of the present invention.
  • FIG. 4 is a block diagram showing an example of a functional configuration of the test pattern expansion device used in the first embodiment of the present invention.
  • FIG. 5 is a flow chart for explaining the test pattern expansion method according to the first embodiment of the present invention.
  • FIG. 6 is a block diagram showing an example of a functional configuration of a test pattern dividing unit in the test pattern compression device shown in FIG.
  • FIG. 7 is a flow chart for explaining the processing procedure of the test pattern dividing means shown in FIG.
  • FIG. 8 is a diagram showing each example of the test pattern, the transition count threshold, the transition count of each pin, and the block of the division result.
  • FIG. 9 is a block diagram showing another example of the functional configuration of the test pattern dividing means in the test pattern compression device shown in FIG.
  • FIG. 10 is a flowchart for explaining the processing procedure of the test pattern dividing means shown in FIG.
  • FIG. 11 is a diagram showing each example of a test pattern, a threshold value, entropy of input data, and a block of a division result in the processing procedure of FIG.
  • FIG. 12 is a block diagram showing a configuration example of specific functions of the test pattern compression apparatus.
  • FIG. 13 is a flowchart for explaining the processing procedure of the run-length compression method.
  • FIG. 14 is a block diagram showing an example of a functional configuration of the test pattern expansion device corresponding to the test pattern compression device shown in FIG.
  • FIG. 15 is a flowchart for explaining the processing procedure of the run-length extension method.
  • FIG. 16 is a block diagram showing a configuration example of another specific function of the test pattern compression device.
  • FIG. 17 is a flowchart for explaining the processing procedure of the BW conversion method.
  • FIG. 18 is a block diagram showing an example of a functional configuration of the test pattern expansion device corresponding to the test pattern compression device shown in FIG.
  • FIG. 19 is a flowchart for explaining the processing procedure of the BW inverse conversion method.
  • FIG. 20 is a block diagram showing a configuration example of still another specific function of the test pattern compression apparatus.
  • Fig. 21 is a flowchart for explaining the processing procedure of the Huffman compression method.
  • C Fig. 22 is a block diagram showing an example of the functional configuration of the test pattern decompression device corresponding to the test pattern compression device shown in Fig. 21. It is.
  • FIG. 23 is a flowchart for explaining the processing procedure of the Huffman decompression method.
  • C FIG. 24 is a block diagram showing a configuration example of still another specific function of the test pattern compression apparatus.
  • FIG. 25 is a flowchart for explaining the processing procedure of the LZ compression method.
  • FIG. 26 is a block diagram showing an example of a functional configuration of the test pattern expansion device corresponding to the test pattern compression device shown in FIG.
  • FIG. 27 is a flowchart for explaining the processing procedure of the LZ decompression method.
  • FIG. 28 is a block diagram showing a configuration example of still another specific function of the test pattern compression device.
  • FIG. 29 is a flowchart for explaining the processing procedure of the arithmetic coding compression method.
  • FIG. 30 is a block diagram showing an example of a functional configuration of a test pattern decompression device corresponding to the test pattern compression device shown in FIG.
  • FIG. 31 is a flowchart for explaining the processing procedure of the arithmetic coding decompression method.
  • FIG. 32 is a block diagram showing a configuration example of still another specific function of the test pattern dividing means in the test pattern compression device shown in FIG.
  • FIG. 33 is a flowchart for explaining the processing procedure of the test pattern dividing means shown in FIG.
  • FIG. 34 is a block diagram showing a configuration example of still another specific function of the test pattern dividing means in the test pattern compression device shown in FIG.
  • FIG. 35 is a flow chart for explaining the processing procedure of the test pattern dividing means shown in FIG.
  • FIG. 36 is a block diagram showing a configuration example of still another specific function of the test pattern dividing means in the test pattern compression device shown in FIG.
  • FIG. 37 is a flow chart for explaining the processing procedure of the test pattern dividing means shown in FIG.
  • FIG. 38 is a block diagram showing a configuration example of still another specific function of the test pattern dividing means in the test pattern compression apparatus shown in FIG.
  • FIG. 39 is a flow chart for explaining the processing procedure of the test pattern dividing means shown in FIG.
  • FIG. 40 is a block diagram showing a configuration example of still another specific function of the test pattern compression device.
  • FIG. 41 is a flow chart for explaining the processing procedure of the test pattern compression apparatus shown in FIG.
  • FIG. 42 is a block diagram showing an example of a functional configuration of the test pattern decompression device corresponding to the test pattern compression device shown in FIG.
  • FIG. 43 is a flowchart for explaining the processing procedure of the test pattern expansion device shown in FIG.
  • FIG. 44 is a block diagram showing a configuration example of specific functions of the test pattern dividing means in the test pattern compression device shown in FIG.
  • FIG. 45 is a flowchart for explaining the processing procedure of the test pattern dividing means shown in FIG.
  • FIG. 46 is a block diagram showing a configuration example of another specific function of the test pattern dividing means in the test pattern compression apparatus shown in FIG.
  • FIG. 47 is a flow chart for explaining the processing procedure of the test pattern dividing means shown in FIG.
  • FIG. 48 is a block diagram showing a configuration example of still another specific function of the test pattern compression device.
  • FIG. 49 is a flowchart for explaining the processing procedure of the test pattern compression device shown in FIG.
  • FIG. 50 is a block diagram showing an example of a functional configuration of the repetitive BW conversion means in the test pattern compression device shown in FIG.
  • FIG. 51 is a flowchart for explaining the processing procedure of the iterative BW conversion means shown in FIG. 50.
  • FIG. 52 is a flowchart for explaining the processing procedure of the BW conversion means in the test pattern compression apparatus shown in FIG.
  • FIG. 53 is a diagram illustrating an example of a cyclic character string used in the BW conversion.
  • FIG. 54 is a diagram showing an example of sorting a cyclic character string used in BW conversion.
  • FIG. 55 is a diagram illustrating an example of output data in the BW conversion.
  • Fig. 56 is a block diagram showing still another example of the functional configuration of the test pattern expansion device.
  • FIG. 57 is a flow chart for explaining the processing procedure of the test pattern expansion device shown in FIG.
  • FIG. 58 is a block diagram showing a functional configuration example of the iterative inverse BW conversion means in the test pattern expansion device shown in FIG.
  • FIG. 59 is a flow chart for explaining the processing procedure of the iterative inverse BW conversion means shown in FIG.
  • FIG. 60 is a flowchart for explaining the processing procedure of the inverse BW conversion means in the test pattern expansion device shown in FIG.
  • Fig. 61 shows an example of the correspondence between the character string L and the character string F in the inverse BW conversion.
  • FIG. 62 is a diagram illustrating an example of restoring a character string S in the inverse BW conversion.
  • FIG. 63 is a block diagram showing an example of the functional configuration of the compression method determining means in the test pattern compression device shown in FIG.
  • FIG. 64 is a flowchart for explaining the processing procedure of the compression method determining means shown in FIG.
  • FIG. 65 is a block diagram showing an example of a functional configuration of a 1-input / 1-output test pattern compression apparatus according to a second embodiment of the present invention.
  • FIG. 66 is a flowchart for explaining a test pattern compression method according to the second embodiment of the present invention.
  • FIG. 67 is a block diagram showing a modification of the functional configuration of the one-input / one-output test pattern compression device according to the second embodiment of the present invention.
  • FIG. 68 is a flowchart for explaining a modification of the test pattern compression method according to the second embodiment of the present invention.
  • FIG. 69 is a block diagram showing an example of the functional configuration of the one-input / multi-output test pattern compression device according to the second embodiment of the present invention.
  • FIG. 70 is a flowchart for explaining a test pattern compression method according to the second embodiment of the present invention.
  • FIG. 71 is a block diagram showing an example of a functional configuration of a one-input / one-output test pattern expansion device according to a second embodiment of the present invention.
  • FIG. 72 is a flowchart for explaining a test pattern expansion method according to the second embodiment of the present invention.
  • FIG. 73 is a block diagram showing a modification of the functional configuration of the one-input / one-output test pattern decompression device according to the second embodiment of the present invention.
  • FIG. 74 is a flowchart for explaining a modification of the test pattern extension method according to the second embodiment of the present invention.
  • FIG. 75 is a block diagram showing an example of a functional configuration of a 1-input / multi-output test pattern expansion device according to a second embodiment of the present invention.
  • FIG. 76 is a flowchart for explaining a test pattern expansion method according to the second embodiment of the present invention.
  • FIG. 77 is a block diagram showing an example of a functional configuration of a multi-input / one-output test pattern expansion apparatus according to a second embodiment of the present invention.
  • FIG. 78 is a flowchart for explaining a test pattern expansion method according to the second embodiment of the present invention.
  • FIG. 79 is a block diagram showing a modified example of the functional configuration of the multi-input / one-output test pattern expansion device according to the second embodiment of the present invention.
  • FIG. 80 is a flowchart for explaining a modification of the test pattern extension method according to the second embodiment of the present invention.
  • FIG. 81 is a block diagram showing an example of the functional configuration of the test sequence compression means in the test pattern compression device shown in FIGS. 65, 67 and 69.
  • FIG. 82 is a flowchart for explaining the processing procedure of the test sequence compression means shown in FIG.
  • FIG. 83 is a block diagram showing an example of the functional configuration of the iterative BW conversion means in the test sequence compression means shown in FIG.
  • FIG. 84 is a flowchart for explaining the processing procedure of the iterative BW conversion means shown in FIG. 83.
  • FIG. 85 is a flowchart for explaining the processing procedure of the run-length compression means in the test sequence compression means shown in FIG.
  • FIG. 86 is a flowchart for explaining the processing procedure of the BW conversion means in the test sequence compression means shown in FIG.
  • FIG. 87 is a diagram showing an example of a cyclic character string used in BW conversion.
  • FIG. 88 is a diagram showing an example of sorting a cyclic character string used in BW conversion.
  • FIG. 89 is a diagram illustrating an example of output data in the BW conversion.
  • FIG. 90 is a flowchart for explaining the processing procedure of the LZ compression means in the test sequence compression means shown in FIG.
  • FIG. 91 is a block diagram showing an example of the functional configuration of the test sequence extending means in the test pattern extending device shown in FIGS. 71, 73, 75, and 77.
  • FIG. 92 is a flowchart for explaining the processing procedure of the test sequence extension means shown in FIG.
  • FIG. 93 is a block diagram showing an example of the functional configuration of the repetitive inverse BW conversion means in the test sequence extension means shown in FIG.
  • FIG. 94 is a flow chart for explaining the processing procedure of the iterative inverse BW conversion means shown in FIG.
  • FIG. 95 is a flowchart for explaining the processing procedure of the run-length extending means in the test sequence extending means shown in FIG.
  • FIG. 96 is a flowchart for explaining the processing procedure of the iterative inverse BW conversion means in the test sequence extension means shown in FIG.
  • Figure 97 shows an example of the correspondence between character strings L and F in inverse BW conversion.
  • FIG. 98 is a diagram showing an example of restoring a character string S in the inverse BW conversion.
  • FIG. 99 is a flow chart for explaining the processing procedure of the LZ expansion means in the test sequence expansion means shown in FIG.
  • FIG. 100 is a block diagram showing an example of the functional configuration of the compression method determining means in the test sequence compressing means shown in FIG.
  • FIG. 101 is a flowchart for explaining the processing procedure of the compression method determining means shown in FIG.
  • FIG. 102 is a block diagram showing an example of a functional configuration of the BWT run-length compression means according to the second embodiment of the present invention.
  • FIG. 103 is a flowchart for explaining the processing procedure of the BWT run-length compression means shown in FIG.
  • FIG. 104 is a block diagram showing an example of a functional configuration of the BWT run-length extending means according to the second embodiment of the present invention.
  • FIG. 105 is a flowchart for explaining the processing procedure of the BWT run-length extension means shown in FIG.
  • FIG. 106 is a block diagram showing one configuration of an automatic test system for automatically testing a semiconductor integrated circuit to which the present invention is applied.
  • FIG. 107 is a block diagram showing another configuration of an automatic test system for automatically testing a semiconductor integrated circuit to which the present invention is applied.
  • FIG. 108 is a block diagram showing one configuration of a measurement system used in the automatic test system shown in FIGS. 106 and 107.
  • FIG. 109 is a block diagram showing still another configuration of the automatic test system for automatically testing a semiconductor integrated circuit to which the present invention is applied.
  • FIG. 110 is a block diagram showing still another configuration of an automatic test system for automatically testing a semiconductor integrated circuit to which the present invention is applied.
  • FIG. 11 is a block diagram showing one configuration of a measurement system used in the automatic test system shown in FIGS.
  • FIG. 11 is a block diagram showing still another configuration of the automatic test system for automatically testing a semiconductor integrated circuit to which the present invention is applied.
  • FIG. 11 is a block diagram showing still another configuration of an automatic test system for automatically testing a semiconductor integrated circuit to which the present invention is applied.
  • FIG. 114 is a graph showing the effect on the compression ratio of the test pattern compression device according to the present invention.
  • FIG. 115 is a graph showing the effect of the test pattern stretching apparatus of the present invention on the stretching speed.
  • FIG. 116 is a graph showing the effect of the BWT run-length compression means of the present invention on the compression ratio. Sun Moon '' The best form bear to do
  • Test patterns for testing complex ICs are usually generated to test a particular module within the IC. Therefore, the test pattern is characterized in that only the test pattern for a certain bin of IC corresponding to the specific module frequently changes, and the test patterns for most other pins hardly change.
  • the test pattern is divided into related works by focusing on the structure and the statistical properties of the input test pattern, such as the number of transitions of the test pattern, and the like.
  • an appropriate compression method By applying an appropriate compression method to the block, an efficient compression ratio can be obtained.
  • Figure 1 shows an example of a test pattern applied to an IC.
  • the horizontal direction (horizontal direction) is the arrangement direction of the IC bins
  • the vertical direction (vertical direction) is the test pattern sequence direction. That is, in the example of FIG. 1, first, pattern 1 is applied to pin 6 from bin 1 of the IC, and then test patterns are applied to the IC in the order of pattern 2 and pattern 3.
  • the test pattern is represented by three symbols: 1, 0, and X, where 1 indicates a high-level signal, 0 indicates a low-level signal, and X indicates d'not care. ). That is, X may be either a high-level signal or a low-level signal, and indicates that the signal does not affect the IC test.
  • the threshold of the number of test pattern transitions is first calculated by estimating the data size after compression. Next, the transition circuit of the test pattern for each pin is counted. Then, by comparing the actual number of transitions with a threshold, the test pattern is divided into a work with a small number of transitions with respect to the threshold and a large book with a large number of transitions.
  • the run-length compression method is applied to small programs, and other appropriate compression methods are applied to other works. As a result, efficient compression can be performed.
  • the lower limit of the allowable compression ratio is given to the estimation calculation of the threshold 0 max of the number of transitions using the run-length compression method, and the maximum 0 max that satisfies the following equation is obtained.
  • the entropy threshold is calculated by estimating the compression ratio after compression. For example, when Huffman's algorithm is used to calculate the threshold, the entropy threshold H max gives the minimum allowable compression ratio, and finds the maximum H max that satisfies the following equation.
  • the test pattern is divided into blocks with smaller entropy and larger blocks with respect to the threshold, and Huffinan Apply compression or arithmetic coding compression, and apply other appropriate compression to other blocks. As a result, efficient compression can be obtained.
  • the test pattern is divided into test sequences for each pin, and the number of transitions in the test pattern is changed. And statistical properties, and for each test sequence Apply the best compression method. As a result, an efficient compression ratio can be obtained.
  • test vector one horizontal row of the test pattern is called a test vector
  • test sequence for a certain bin one vertical row of the test pattern is called a test sequence for a certain bin.
  • the BW conversion is described in, for example, Burrows M. and Wheeler D. "A Block-sorting Lossless, Data Compression Algorithm, SRC Research Report 124 Digital Systems Research Center, Palo Alto, CA, May, 1994.
  • the number of transitions represents the number of times two adjacent data changes from 0 to 1, 1 to X, etc. in the data sequence.
  • the maximum compression ratio R max and the maximum compression ratio are maximized by calculating the compression ratio when the BW transformed data is compressed by the run-length compression method from the number of data transitions 0i. Gets the number m of times the BW transform is applied.
  • the obtained maximum value R max of the compression ratio is compared with the threshold value R t h a compression ratio set empirically, Tesutoshi one cans maximum value of the compression ratio is equal to or greater than the threshold value
  • the image is compressed using run-length compression.
  • the test sequence is not subjected to the BW conversion, and compression is performed by applying only the run-length compression method. If the maximum value R max of the compression ratio is smaller than the threshold value R th , the test sequence is compressed using only the LZ compression method.
  • efficient compression can be performed by applying the optimal compression method to the test sequence.
  • test pattern is divided into the test sequence of each pin, compression for each test sequence is possible. Therefore, by using one decompression device for each bin, the test pattern can be converted in real time. Can be extended.
  • the number of transitions and the number of BW transformations i are used to calculate the compression ratio Ri when the BW transformation is run-length compressed. Calculate the compression ratio Ri from the formula.
  • Ri lo g2 IAI ⁇ L / Ci ⁇ (lo g2 L) + ⁇ i ⁇ [lo g2 ⁇ (IAI-1) ⁇ L) ⁇ ] +
  • Compression rate determined by the method of the Ri (i 0, 1, ⁇ ⁇ ⁇ , N) from the maximum compression ratio Rmax and the compression ratio is to get the number m of BW conversion becomes maximum, R max and threshold By comparing R th , the optimal compression method can be determined.
  • each test sequence can be compressed by the optimal compression method, the entire test pattern can be efficiently compressed. Therefore, by compressing the data of the test pattern into smaller data using the compression method according to the present invention, the data transfer time can be reduced, and as a result, the test pattern download time can be reduced. Becomes possible.
  • FIG. 2 is a block diagram showing an example of a functional configuration of the test pattern compression device used in the first embodiment of the present invention.
  • the test pattern compression device 21 divides the test pattern into a plurality of blocks in accordance with the data structure or statistical properties of the input test pattern, and compresses the divided data.
  • FIG. 3 is a flowchart for explaining the test pattern compression method according to the first embodiment of the present invention.
  • the test pattern in the test pattern compression unit 21 in Fig. 2 The dividing means 22 divides the test pattern for each pin in step 31 by assigning the test pattern to any one of a plurality of blocks according to the structure or statistical properties of the data.
  • step 32 the data pattern of each divided block is switched to a plurality of data compression means A23, B24, C25,... Having an optimal compression algorithm for each work. Sent through S1. Then, in steps 33a, 33b, and 33c, each data pattern is compressed by the data compression means. Finally, in step 34, each compressed data is output through the switch S2.
  • the flag 1 indicating the compression method at the beginning of the compression data of the compression means A 23 and the flag 2 indicating the compression method at the head of each compressed data of the compression means A 23 and B 24, respectively.
  • Add 3 a test pattern corresponding to each pin indicates which pin corresponds, for example, a bin number is assigned to each pin.
  • FIG. 4 is a block diagram showing an example of a functional configuration of the test pattern expansion device used in the first embodiment of the present invention.
  • the test pattern decompression device 41 includes a compression demultiplexer 42 that classifies the decompressed data to be decompressed into data having different compression methods, and the classified compressed data without information loss. It comprises a plurality of data decompression means A 43, B 44, C 45,... To decompress the original test pattern.
  • the decompression means 4 3, 4 4, 4 5, ⁇ ⁇ are each one-to-one with the compression means 23, 24, 25, ... in the test pattern compression device 21. Is supported.
  • FIG. 5 is a flowchart for explaining a test pattern expansion method according to the first embodiment of the present invention.
  • the compressed data dividing means 42 divides compressed data to be expanded into data having different compression methods. This division is performed by, for example, flags 1, 2, and 3 indicating the compression method.
  • the divided compressed data is transmitted to the appropriate decompression means A 43, B 44, C 45,. That is, the compressed data of the flag 1 is sent to the decompressor 43.
  • the compression data of flags 2 and 3 are sent to data decompression means 44 and 45, respectively.
  • the transmitted data is expanded to the original block in step 53 without any information loss by each data expansion means.
  • step 54 the expanded test pattern for each pin is output via switch S4.
  • FIG. 6 is a block diagram showing an example of a specific functional configuration of the test pattern dividing means 22 used in the first embodiment of the present invention.
  • the test pattern dividing means 22 includes parameter input means 62 for inputting environmental parameters for block division, parameter storing means 63 for storing the input environmental parameters, and Parameter storage means 6 Threshold calculation means 6 for calculating the threshold of the number of data transitions for dividing the test pattern into blocks using the environment parameters stored in 3. 4, transition number counting means 6 5 for counting the number of transitions of the input test pattern, transition number comparing means 6 6 for comparing the threshold of the number of transitions with the actual number of transitions, and comparing means 6 And a block dividing means 67 for dividing the input test pattern into a plurality of blocks according to the comparison result of 6.
  • FIG. 7 is a flowchart for explaining a test pattern dividing method according to the first embodiment of the present invention.
  • FIG. 8 shows an example in which this block division method is applied to a test pattern.
  • FIG. 8A shows an example of an input test pattern used in the following description.
  • the horizontal direction horizontal direction in the figure
  • the vertical direction vertical direction in the figure
  • an environment parameter for calculating the threshold value of block division using the parameter input means 62 that is, the length M of the test pattern sequence for calculating the number of transitions, which appears in the test pattern Enter the size of the symbol set IAI and the lower limit of the allowable compression ratio.
  • the input parameters are stored in the parameter storage unit 63.
  • the transition number counting means 65 counts the number of transitions of the test pattern for each bin of the input test pattern.
  • the pattern transition of bin 1 is 0 times, and the pattern of bin 2 transitions from 0 to X once. As shown in FIG. 0 1 3 2 0 5].
  • the threshold value 0 max calculated by the threshold value calculation means 64 and the number of transitions 0 obtained by the transition number counting means 65 are sent to the transition number comparison means 66 and compared in step 74. . The result of this comparison is sent to the block dividing means 67.
  • the block dividing means 67 divides the test pattern data of each bin into a plurality of blocks according to the number of transitions, that is, to any one of the plurality of blocks. Distribute belonging. In the example of FIG. 8, as shown in FIG. (D), the number of transitions against a threshold 0 max is divided into 0 max following blocks and 0 max larger block. Finally, the block dividing means 6 7
  • the data (pattern) of each (distributed) block is sent to the corresponding one of the plurality of compression means.
  • FIG. 9 is a block diagram showing an example of another specific functional configuration of the test pattern dividing means 22 used in the first embodiment of the present invention.
  • the test pattern dividing means 22 includes a parameter input means 92 for inputting environmental parameters for block division and a parameter storing means 93 for storing the input environmental parameters.
  • a threshold calculation means 94 for calculating a threshold value of entropy for dividing the test pattern, and input data.
  • the entropy measuring means 95 which measures the appearance probability of a symbol at one evening and calculates the entropy of the evening from the appearance probability of the symbol, and calculates the entropy threshold and the actual entropy of the evening It comprises an entity lobby comparing means 96 for comparison, and a block dividing means 97 for dividing an input test pattern according to the comparison result of the comparing means 96.
  • FIG. 10 shows a test of the first embodiment of the present invention.
  • 6 is a flowchart for explaining a pattern division method.
  • FIG. 11 shows an example in which this block division method is applied to a test pattern
  • FIG. 11A shows an example of an input test pattern used in the following description.
  • the horizontal direction (the horizontal direction in the figure) is the direction of the pins of the IC
  • the vertical direction (the vertical direction in the figure) is the direction of the pattern sequence.
  • a parameter for calculating a threshold value for block division is input using a parameter input means 92, and stored in a parameter storage means 93.
  • step 103 the appearance probability of the symbol in the input test pattern is measured.
  • step 104 the entropy of the input test pattern is calculated from the probability obtained in step 103 by using equation (2).
  • the above steps 103 and 104 are performed in the entropy counting means 95.
  • H [0.0 0.92 1.46 0.92 0.0 1.46]
  • H [0.0 0.92 1.46 0.92 0.0 1.46]
  • the threshold value H max calculated by the threshold value calculating means 94 and the entropy H obtained by the entropy counting means 95 are sent to the entropy comparing means 96 and compared at step 105.
  • the block dividing means 97 divides the test pattern of each pin into a plurality of blocks according to their entropy.
  • the block dividing means 97 divides the test pattern of each pin into a plurality of blocks according to their entropy.
  • the block entropy follows H max with respect to the threshold H max And blocks larger than H max .
  • the block dividing means 97 transmits the data of each block divided in step 108 to corresponding ones of the plurality of compressing means.
  • test pattern compression / decompression device and the test pattern dividing means 22 according to the present invention will be described.
  • FIG. 12 shows a functional configuration of a test pattern compression apparatus 21 in the first embodiment of the present invention, in which one of the data compression means in the test pattern compression apparatus shown in FIG. 2 is a run-length compression means. It is a block diagram showing an example.
  • the test pattern compression device 21 counts the number of transitions of the input test pattern data, and performs test pattern dividing means 1 2 2 for dividing the input data into blocks in accordance with the number of data transitions.
  • Run-length compression means 123 that applies the run-length compression method to blocks with a small number of times, that is, below the threshold, and other methods for other blocks, such as LZ compression method and Huffman compression O Composed of at least one data compression means 124, 125, ...
  • FIG. 13 is a flowchart for explaining the processing procedure of the run-length compression method, and shows the run-length compression method of the first modification.
  • step 131 an initial value and a count for generating a run-length code are set.
  • one character is obtained from the input data in step 13 and the number of characters is counted in step 13.
  • step 1 3 4 the obtained character is compared with the initial value. If the character is equal to the initial value, steps 1 3 2 and 1 3 3 are repeated, and if the character is different from the initial value, step 1 In 35, the number of counts so far is encoded as a length with continuous initial values.
  • step 1 36 the remaining input data is checked. If input data remains, the steps up to this point are repeated. Outputs the evening and ends the process.
  • test pattern decompression device 41 converts the compressed data to be decompressed into data compressed by the run-length compression method and data compressed by a plurality of other compression methods.
  • FIG. 15 is a flowchart for explaining the processing procedure of the run-length extension method, and shows a run-length extension method according to a first modification of the present invention.
  • step 151 one compressed data is obtained in step 151, and the initial value and the number of consecutive characters are obtained from the compressed data in step 152.
  • step 15 3 the initial value is copied for the continuous number of times.
  • Step 154 it is checked whether or not compressed data remains, and if it remains, Steps 151, 152, 153 are repeated. If there is no remaining compressed data, the data decompressed in step 155 is output, and the processing ends.
  • FIG. 16 shows a test pattern compression apparatus 21 in the first embodiment of the present invention in which one of the data compression means is a run-length compression means and a BW conversion means is provided before the run-length compression means. It is a block diagram showing an example of a composition.
  • the test pattern compression device 21 is composed of a test pattern dividing means 16 2 for dividing input data into blocks in accordance with the structure or statistical properties of the input test pattern data.
  • BW conversion means 163 for performing BW conversion on a project whose data transition number is larger than the threshold value and whose data entropy is less than or equal to the threshold value, and BW conversion A run-length compression means 164 for applying the run-length compression method to the obtained data, and at least one data compression means 165 for compressing the data using another method for other blocks. 166.
  • FIG. 17 is a flowchart for explaining the processing procedure of the BW conversion method, and shows the BW conversion method in Modification 2 of the first embodiment of the present invention.
  • step 171 a character string S of n characters is obtained.
  • step 1772 n cyclic character strings (character strings cyclically shifted) of the obtained character string S are generated, and in step 1773, those cyclic character strings are sorted (classified). )
  • step 1773 those cyclic character strings are sorted (classified).
  • steps 174 and 175 a character string L obtained from the last column of the matrix M and a row number I equal to the input character string S are obtained from the created matrix M.
  • step 1 76 check the rest of the input data in step 1 76, and if the input data remains, repeat steps 1 71, 1 72, 1 73, 1 7 4, 1 7 5 If there is no input data repeatedly, the data converted in step 177 is output and the processing is terminated.
  • FIG. 18 shows a configuration of a test pattern decompression device according to the first embodiment of the present invention in which one of the data decompression means is a run-length decompression means and a run-length compression means is followed by a BW conversion means. It is a block diagram showing an example.
  • the test pattern decompression device 41 converts the compressed data to be decompressed into data compressed by the run-length compression method after BW conversion and data compressed by a plurality of other compression methods.
  • Compressed data dividing means 18 2 for dividing the compressed data into run-length extending means 18 3 for extending the divided compressed data to the original test pattern without information loss, and run-length extending BW inverse transform means 184 that performs BW inverse transform on data decompressed by means, and at least one data decompressing means 185,1 that decompresses other data by other methods 8 and 6.
  • FIG. 19 is a flowchart for explaining the processing procedure of the BW inverse conversion method, and shows the BW inverse conversion method of Modification 2 of the first embodiment of the present invention.
  • step 191 a character string L of n characters and a number I are obtained.
  • step 192 the characters of the obtained character string L are sorted to generate a character string F.
  • step 193 a matrix T indicating the correspondence between the characters L and F is created.
  • step 194 the character string L, number I, and matrix T Restore the string S of Finally, check the rest of the data in step 195, and if data remains, repeat steps 191, 192, 193, and 194 until the input data If there is no evening, the data that has been inversely transformed in step 196 is output, and the process is terminated.
  • FIG. 20 is a block diagram showing an example of the configuration of the test pattern compression apparatus 21 in the case where one of the data compression means is a Huffman compression means in the first embodiment of the present invention.
  • the test pattern compression device 21 includes a test pattern dividing unit 202 that divides input data into blocks according to the statistical properties of the input test pattern data, and a small entropy, that is, a threshold value.
  • the Huffman compression method 203 that applies the Huffman compression method to the following blocks, and the compression of data to other blocks by other methods, such as the LZ compression method and the arithmetic coding compression method And one decompression unit 204 and 205.
  • FIG. 21 is a flowchart for explaining the processing procedure of the Huffman compression method, and shows the Huffman compression method of Modification 3 of the first embodiment of the present invention.
  • step 211 the appearance probability of a character appearing in the input data is measured.
  • step 2 12 a binary tree for creating a Huffman code is created from the occurrence probabilities obtained in step 2 12, and in step 2 13 a code is assigned to each character based on the Huffman binary tree. Assign.
  • step 2 14 one character is obtained from the input data, and the character obtained in step 2 15 is converted into the assigned code.
  • FIG. 22 is a block diagram showing an example of the configuration of the test pattern expansion device 41 when one of the data expansion means is a Huffman expansion means in the first embodiment of the present invention.
  • the test pattern decompression device 41 is a compressed data dividing means for dividing compressed data to be decompressed into data compressed by the Huffman compression method and data compressed by a plurality of other compression methods.
  • Huffman decompression means 2 and 3 for decompressing the divided compressed data to the original test pattern without information loss. It is composed of at least one extension means 2 24 and 2 25.
  • FIG. 23 is a flowchart for explaining the processing procedure of the Huffman decompression method, and shows the Huffman decompression method of Modification 3 of the first embodiment of the present invention.
  • step 231 the binary tree used for compression is obtained from the compressed data. In order to get the original character from the binary code, it is necessary to follow Huffman's binary tree.
  • step 2 32 move to the root node of the binary tree.
  • step 233 one binary code is obtained from the compressed data, and the Huffman binary tree is traversed based on the binary code obtained in step 234.
  • step 2 35 it is checked whether or not the current node is a leaf node of the binary tree. If not, steps 2 3 3 and 2 3 4 are repeated until reaching the leaf node. If it is a leaf node, output the character assigned to the leaf node in step 236. Finally, check the rest of the binary code in step 2 37, and if the binary code remains, check the previous steps 2 3 1, 2 3 2, 2 3 3, 2 3 4, 2 3 5, Repeat step 2 3 and if there is no input data, output the data expanded in step 2 38 and end the processing.
  • FIG. 24 is a block diagram showing an example of the configuration of the test pattern compression device 21 in a case where one of the data compression means is an LZ compression means in the first embodiment of the present invention.
  • the test pattern compression device 21 includes a test pattern division means 2 42 for performing block division of an input data sequence according to a statistical property of the input test pattern data, and a small entropy, that is, Apply LZ compression method to blocks below the threshold LZ compression means 2 4 3 and compress data to other blocks by other methods, such as Huffman compression method or arithmetic coding compression method It is constituted by at least one compression means 2 4 4 and 2 4 5.
  • FIG. 25 is a flowchart for explaining the processing procedure of the LZ compression method, and shows the LZ compression method of Modification 4 of the first embodiment of the present invention.
  • step 251 the dictionary used for compression is initialized.
  • the input data is obtained in step 2 52 and the input data is obtained in step 2 53
  • the matched character string is matched with the dictionary.
  • step 254 it is checked whether there is another character string to be matched longer, and if there is a possibility, the matching in step 253 is repeated. If there is no longer longer matching string, the first character that did not match the matched string in step 255 is encoded, and this new string is registered in the dictionary in step 256. . Finally, check the rest of the input data in step 2 5 7, and if the input data remains, repeat steps 2 5 2, 2 5 3, 2 5 4, 2 5 5, 2 5 6 If there is no input data, the compressed data is output in step 258 and the processing is terminated.
  • FIG. 26 is a block diagram showing an example of the configuration of the test pattern expansion device 41 when one of the data expansion units is an LZ expansion unit in the first embodiment of the present invention.
  • the test pattern decompression device 41 compresses the compressed data to be decompressed into data compressed by the LZ compression method and data compressed by a plurality of other compression methods.
  • LZ decompression means 2 63 which decompresses the divided compressed data to the original test pattern without loss of information
  • data decompression means 26 4 and 26 5 of at least one other method It is constituted by.
  • FIG. 27 is a flowchart for explaining the processing procedure of the LZ expansion method, and shows the LZ expansion method of Modification 4 of the first embodiment of the present invention.
  • step 271 the dictionary used for decompression is initialized.
  • step 272 one code is obtained from the input compressed data, and a dictionary is searched using the code obtained in step 273. Further, in step 274, the code is converted into a character string, and in step 275, the newly generated character string is registered in the dictionary. Finally, check the rest of the data compressed in step 2 76, and if the compressed data remains, repeat steps 27, 27, 27, 27 4, 27 5 If there is no data reduction, the data expanded in step 277 is output, and the process ends.
  • FIG. 28 is a block diagram showing an example of the configuration of the test pattern compression device 21 in the case where one of the data compression means is an arithmetic coding compression means in the first embodiment of the present invention.
  • the test pattern compressing device 21 receives the input test pattern data.
  • a test pattern dividing means 2 8 2 that divides the input data into blocks according to the statistical properties of the night, and an arithmetic operation on a block whose entropy is small, that is, is equal to or less than the threshold value
  • Arithmetic coding compression means 283 applying coding and at least one data compression means 284, 2 for compressing data to other blocks by other methods, such as LZ compression method, Huffman compression method, etc. 8 and 5.
  • FIG. 29 is a flowchart for explaining the processing procedure of the arithmetic coding compression method, and shows the arithmetic coding compression method of Modification 5 of the first embodiment of the present invention.
  • step 291 the appearance probability of each character in the input data is measured, and in step 292, a space on the number line from 0 to 1 is assigned to each character.
  • step 293 one character is obtained from the input data in step 293, and the character obtained in step 294 is converted into a section on a number line.
  • step 295 check the rest of the input data in step 295, and if input data remains, repeat steps 293 and 294 to further narrow the section on the number line, If there is no input data, the lower limit of the section obtained so far is obtained in step 296, the compressed data is output in step 297, and the process is terminated.
  • FIG. 30 is a block diagram showing an example of the configuration of the test pattern decompression device 41 when one of the data decompression means is an arithmetic coding decompression means in the first embodiment of the present invention.
  • the test pattern decompression device 41 divides the compressed data to be decompressed into data compressed by an arithmetic coding compression method and data compressed by a plurality of other compression methods.
  • FIG. 31 is a flowchart for explaining the processing procedure of the arithmetic encoding / decompression method, and shows the arithmetic encoding / expansion method of Modification 5 of the first embodiment of the present invention.
  • step 3 information on the probability of appearance of each character is obtained from the compressed data, and sections on the number line are assigned to each character, just as in the case of compression. .
  • step 312 a real number code is obtained from the compressed data, and in step 313, the character assigned to the section including the real value is output.
  • step 316 if the real value is equal to 0, and if the real value is not 0, repeat steps 3 1 3, 3 1 4 and 3 15 until the real value becomes 0 . If the real value becomes 0, the decompressed data is output in step 3 17, and the processing ends.
  • FIG. 32 shows a test pattern dividing means used in the first embodiment of the present invention.
  • the test pattern dividing means 22 includes threshold value storing means 32 2 for storing a predetermined threshold value, and transition number counting means 3 2 3 for counting the number of transitions of input data. It is composed of a transition number comparing means 3 24 for comparing the threshold value with the actual number of transitions in the night, and a block dividing means 3 25 for dividing the block into a plurality of blocks according to the comparison result.
  • FIG. 33 is a flowchart for explaining the processing procedure of the test pattern dividing means 22 shown in FIG. 32, and shows a test pattern dividing method according to the first embodiment of the present invention.
  • step 331 the transition number counting means 3 23 counts the number of transitions of the test pattern for each pin of the input test pattern.
  • the threshold value stored in the threshold value storage means 3 22 and the number of transitions obtained by the transition number counting means 3 25 are sent to the transition number comparison means 3 2 4 and compared in step 3 32 .
  • the result of the comparison is sent to the block dividing means 3 25.
  • the block dividing means 3 25 divides the test pattern data into a plurality of blocks according to the number of transitions. Finally, the block dividing means 325 sends the data of each block divided in step 335 to the corresponding one of the plurality of compression means.
  • FIG. 34 shows test pattern dividing means used in the first embodiment of the present invention.
  • FIG. 22 is a block diagram illustrating another example of the internal configuration of 22.
  • This test pattern dividing means 2 2 comprises a threshold storage means 3 4 storing a predetermined threshold.
  • the entropy measuring means 3 4 3 which measures the appearance probability of the symbols in the input data overnight and calculates the entropy of the data from the appearance probabilities of the symbols, and the threshold and the actual entropy It is composed of entropy comparison means 344 for comparing the data, and block dividing means 345 for dividing the data into a plurality of programs according to the result of the comparison.
  • FIG. 35 is a flowchart for explaining the processing procedure of the test pattern dividing means 22 shown in FIG. 34, and shows a test pattern dividing method according to the first embodiment of the present invention.
  • step 351 the occurrence probability of a symbol in the input test pattern is measured.
  • step 352 the entropy of the input data is calculated from the probability obtained in step 351.
  • the above steps 35 1 and 35 2 are performed by the entropy measuring means 3 43.
  • the threshold value stored in the threshold value storage means 3 4 2 and the entropy obtained by the entropy measurement means 3 4 3 are sent to the entropy comparison means 3 4 4
  • the block dividing means 345 divides the test pattern into a plurality of blocks according to the entropy of each test pattern.
  • the work dividing means 345 sends the data of each work divided in step 356 to the corresponding one of the plurality of compression means.
  • FIG. 36 shows test pattern dividing means used in the first embodiment of the present invention.
  • the test pattern division means 22 includes a threshold value calculation means 36 2 for calculating a threshold value of the number of data transitions for block division, and a threshold value calculated by the threshold value calculation means 36 2 Optimizing means for estimating the compression ratio by using, and performing optimization of the threshold value so that the compression ratio is maximized.
  • transition number counting means 3 6 4 It is composed of a transition number comparing means 365 for comparing the threshold value and the actual number of transitions in the night, and a block dividing means 365 for dividing into a plurality of blocks according to the result of the comparison. Have been.
  • FIG. 37 is a flowchart for explaining a processing procedure of the test pattern dividing means 22 shown in FIG. 36, and shows a test pattern dividing method according to the first embodiment of the present invention.
  • step 371 all possible cases are listed.
  • step 372 the threshold calculation means 3622 selects one of the cases enumerated in step 371, and divides the input test pattern into a plurality of blocks. Calculate the threshold of the number of transitions of the pattern.
  • step 373 the block division optimizing means 3663 performs block division and compression using the threshold value obtained in step 372, and calculates a compression ratio.
  • the compression ratio is compared with the previous result in step 374, and if the compression ratio is high, the threshold value is changed to a new value in step 375, and if the compression ratio is low, the next step 375 Proceed to 6.
  • step 376 it is checked whether there is another case that has not been verified, and if there is another case, steps 372, 373, 374, 375 are repeated. If there are no other cases to be verified, proceed to step 377.
  • the transition number counting means 364 counts the number of transitions of the test pattern for each pin of the input test pattern.
  • the optimized threshold value and the number of transitions obtained by the transition number counting means 364 are sent to the transition number comparing means 365, and are compared in step 378. The result of the comparison is transmitted to the block dividing means 366.
  • the block dividing means 366 divides the test pattern data into a plurality of blocks according to the number of transitions. Finally, the block dividing means 3666 transmits the data of each block divided in step 3711 to a corresponding one of the plurality of compression means.
  • FIG. 38 is a block diagram showing still another example of the internal configuration of the test pattern dividing means 22 used in the first embodiment of the present invention.
  • the dividing means 22 uses a threshold value calculating means 382 for calculating an entropy threshold value for block division and a threshold value calculated by the threshold value calculating means 382.
  • An optimization method that estimates the compression ratio and optimizes the threshold so that the compression ratio is maximized, and measures the appearance probability of the symbols in the input data and calculates the data
  • Entropy measuring means 3 8 4 for calculating the entropy of the data
  • entropy measuring means 3 85 5 for comparing the optimized threshold value with the actual data's entropy, according to the result of the comparison.
  • Block dividing means 386 for dividing into a plurality of blocks.
  • FIG. 39 is a flowchart for explaining the processing procedure of the test pattern dividing means shown in FIG. 38, and shows the test pattern dividing method according to the first embodiment of the present invention.
  • step 391 all possible cases are listed.
  • step 392 the threshold value calculating means 3822 selects one of the cases enumerated in step 391, and divides the input test pattern into a plurality of blocks. Calculate the entropy threshold of.
  • step 393 the block division optimizing means 383 performs block division and compression using the threshold value obtained in step 392, and calculates a compression ratio.
  • step 3 94 the compression ratio is compared with the previous result. If the compression ratio is high, the threshold is changed to a new value in step 3 95. If the compression ratio is low, the next step 3 Proceed to 9 6.
  • step 396 it is checked whether there is another case that has not been verified, and if there is another case, steps 392, 393, 394, 395 are repeated. If there are no other cases to be verified, proceed to step 397.
  • step 397 the appearance probability of the symbol in the input test pattern is measured.
  • step 398 the input entropy of the input data is calculated from the probability obtained in step 399. The above steps 397 and 398 are performed by the entropy measuring means 384.
  • the optimized threshold and the entropy obtained by the entropy measuring means 3 8 4 are sent to the entropy comparing means 3 8 5, and Are compared. The result of the comparison is sent to the block dividing means 386.
  • the block dividing means 3886 divides the test pattern data into a plurality of blocks according to their respective entropies. Finally, the block dividing means 3886 transmits the data of each block divided in step 399 to a corresponding one of the plurality of compression means.
  • FIG. 40 is a block diagram showing an example of the configuration of a test pattern compression apparatus having a run length compression means, a BW conversion means, and an LZ compression means in the first embodiment of the present invention.
  • the test pattern compression device 21 includes a test pattern dividing unit 402 that divides input data into blocks according to the structure or statistical properties of the input test pattern, and data transition.
  • a run-length compression means for performing run-length compression on blocks whose number of times is equal to or less than a threshold value
  • BW transform means 404 that performs BW transform on blocks whose values are less than or equal to the threshold value, and another run that applies run-length compression to the data BW transformed by the BW transform means.
  • ⁇ Length compression means 405 and LZ compression means 4 for performing LZ compression on blocks whose number of transitions per day is larger than a threshold value and whose event lobby is larger than the threshold value. Composed of 0 6 and That.
  • FIG. 41 is a flowchart for explaining the processing procedure of the test pattern compression device 21 shown in FIG. 40, and shows a test pattern compression method according to the first embodiment of the present invention.
  • the test pattern dividing means 402 divides the test pattern data into a plurality of blocks in step 411 according to the structure or statistical properties of the data.
  • step 412 the data of each of the divided blocks is converted to run-length compression means 403, BW conversion means 404, and LZ compression means 406, each having an optimum compression algorithm for each block. Sent through the switch to Then, in steps 4 1 3, 4 1 4, 4 15, 4 16, each data is run 'length compression means 4 0 3, BW conversion means 4 0 4, run length compression means 4 0 5, Compressed by the LZ compression means 406, and finally the compressed data is passed through the switch in step 417. Is output.
  • FIG. 42 is a block diagram showing an example of the configuration of a test pattern expansion device having a run length expansion device, a BW reverse conversion device, and an LZ expansion device in the first embodiment of the present invention.
  • the test pattern decompression device 41 converts the compressed data to be decompressed into data compressed by the run-length compression method, data compressed by the run-length compression method after BW conversion, and LZ compression method.
  • Length expansion means 4 2 3, 4 2 4, LZ expansion means 4 26, and BW inverse conversion means 4 25 which performs BW inverse conversion on the test pattern which has been BW converted. I have.
  • FIG. 43 is a flow chart for explaining the processing procedure of the test pattern expansion device shown in FIG. 42, and shows a test pattern expansion method according to the first embodiment of the present invention.
  • step 431 the compressed data dividing means 4 2 2 compresses the data to be decompressed by the run-length compression method, the data compressed by the run-length compression method after BW conversion, And divide the data into LZ compressed data.
  • Each of the divided compressed data is sent to the run-length decompressor 423, 424 and the LZ decompressor 426 through the switch in step 432.
  • the transmitted data is decompressed to the original data without loss of information by the data decompression means in steps 433, 434 and 436.
  • step 435 the BW-converted data is inversely BW-converted to the original data.
  • the expanded test pattern is output through the switch.
  • the test pattern dividing means 4 2 2 includes a parameter input means 4 4 2 for inputting an environmental parameter for block division, and a parameter storing means 4 4 3 for storing the input environmental parameter.
  • Transition number threshold value calculating means 4 4 4 for calculating the threshold value of the number of data transitions for the data transfer, transition number counting means 4 4 5 for counting the number of input data transitions, and a transition number threshold value Means for comparing the number of transitions with the actual number of transitions in the data and the number of transitions in the actual data, and the threshold value of the entropy for block division using the environmental parameters stored in the parameter storage means 443 Ent threshold value calculating means 4 4 7 for calculating the ent-entry peak value of the input data;
  • the entropy comparison means 449 for comparing the entropy of the data and the number of transitions comparison means 446 and the entropy comparison means 449 divide the data into a plurality of blocks according to the comparison result obtained.
  • Block dividing means 4 4 0 .
  • FIG. 45 is a flowchart for explaining the processing procedure of the test pattern dividing means 422 shown in FIG. 44, and shows a test pattern dividing method according to the first embodiment of the present invention.
  • step 4 51 the parameter input for calculating the threshold value of the block division is input using the parameter input means 4 42.
  • the input parameters are stored in the parameter storage unit 443.
  • step 4 52 the transition count threshold value calculating means 4 4 4 divides the input test pattern into a plurality of blocks using the parameters stored in the parameter storing means 4 4 3. Calculates the threshold value of the number of transitions for the first time.
  • step 453 the transition number counting means 445 counts the number of transitions of the test pattern for each bin of the input test pattern.
  • step 455 the entropy is determined, and the value calculation means 449 calculates an entropy threshold value for dividing the input test pattern into a plurality of blocks.
  • step 456 the appearance probability of the symbol in the input test pattern is measured.
  • step 457 the entropy of the input data is calculated from the probability obtained in step 456. I do.
  • the above steps 456 and 457 are performed by the entropy measuring means 448.
  • Steps 45 2 to 45 4 and Steps 45 5 to 45 8 can be processed in parallel.
  • step 559 the work dividing means 440 determines whether or not the number of transitions of the test pattern for each bin is equal to or less than a threshold, and determines whether the number of transitions is equal to or less than the threshold.
  • the pattern is classified into block 1 in step 4510.
  • step 4511 it is determined whether or not the entropy is equal to or less than a threshold, and the entropy of the test pattern is determined. If is less than or equal to the threshold, the test pattern is classified into block 2 in step 4 5 12.
  • a test pattern in which the entropy is larger than the threshold value in step 4 5 1 1 is classified into block 3 in step 4 5 13.
  • the block dividing means 440 transmits the data of each divided block to a plurality of compression means in step 451-4.
  • FIG. 46 is a block diagram showing another example of the functional configuration of the test pattern dividing means 422 used in the first embodiment of the present invention.
  • the test pattern dividing means 4 2 2 includes a parameter input means 4 6 2 for inputting environmental parameters for block division, and a parameter storing means 4 6 3 for storing the input environmental parameters. And a number-of-transitions dividing means 464 for performing block division in accordance with the number of transitions, and a entrobi dividing means 465 for performing block division in accordance with the event number.
  • transition number dividing means 464 uses the environmental parameters stored in the parameter storing means 463 to calculate the threshold of the number of data transitions for block division.
  • the entropy dividing means 465 is constituted by block dividing means 469 which divides the data into a plurality of blocks according to the result.
  • FIG. 47 is a flowchart for explaining the processing procedure of the test pattern dividing means shown in FIG. 46, and shows a test pattern dividing method according to the first embodiment of the present invention.
  • step 471 parameters for calculating a threshold value for block division are input using the parameter input means 462.
  • the input parameters are stored in the parameter storage unit 463.
  • step 4 72 using the parameter data stored in the parameter data storage means 4 63, the transition number threshold value calculation means 4 66 of the transition number dividing means 4 64 is used as the input test pattern. Calculate the threshold value of the number of pattern transitions to divide the data into multiple blocks.
  • step 473 the transition number counting means 467 counts the number of transitions of the test pattern for each pin of the input test pattern.
  • the transition count threshold value calculated by the transition count threshold value calculation means 4 6 6 and the transition count obtained by the transition count counting means 4 6 7 are sent to the transition count comparison means 4 6 8 and step 4 7 4 Are compared.
  • the result of the comparison obtained in step 474 is transmitted to the block dividing means 469.
  • the block dividing means 469 determines whether or not the number of transitions of the test pattern for each bin is equal to or less than the threshold, and determines whether the number of transitions is equal to or less than the threshold. Are classified into block A in step 476.
  • the divided block A is output through the switch in step 477.
  • step 4710 the entropy threshold calculating means 46010 calculates the threshold value of the entry lobby for dividing the input test pattern into a plurality of blocks.
  • step 4 7 1 the appearance probability of the symbol in the input test pattern is measured.
  • step 4712 the entropy of the input data is calculated from the probability obtained in step 4711. The above steps 4711 and 4712 are performed by the entropy measuring means 4611.
  • steps 472 and 4710 are independent, and can be processed in parallel.
  • step 4713 The result of the comparison obtained in step 4713 is transmitted to the block dividing means 4613.
  • the block dividing means 4 6 13 determines in step 4 7 14 whether the entropy of the test pattern for each bin is equal to or less than the threshold value, and determines whether the entropy of the test pattern is equal to the threshold value. In the following cases, the test pattern is classified into block B1 in step 4715. The test pattern in which the event lobby is larger than the threshold value in step 4714 is classified into block B2 in step 4716. Finally, the block dividing means 463 outputs the data of each block divided by the entropy dividing means 465 through the switch in step 417.
  • FIG. 48 is a block diagram showing still another example of the functional configuration of the test pattern compression device 21 used in the first embodiment of the present invention.
  • This test pattern compression device includes a compression method determination means 124 for determining an optimal compression method adapted to an input test pattern, and a run method for compressing an input test pattern using a run-leg compression method.
  • Length compression means 1 2 5, iterative BW conversion means 1 2 6 to apply BW conversion to the input test pattern at least once, and LZ compression means 1 which compresses the input test pattern using the LZ compression method 1 2 7 and the test pattern path are selected according to the compression method obtained by the compression method determination means 1 2 4 It is composed of three switches 128, 129 and 131.
  • FIG. 49 is a flow chart for explaining the processing procedure of the test pattern compression apparatus shown in FIG. 48, and shows a test pattern compression method according to the first embodiment of the present invention.
  • the compression method determination means 124 determines an optimal compression method adapted to the input test pattern, and sets a kind to a flag that can uniquely determine the compression method.
  • Empirically determined threshold inputs are used to determine the best compression technique to apply to the test pattern.
  • the test pattern is connected to the terminal 1, the terminal 1, and the terminal 1, and the test pattern is transmitted to the run-length compression unit 125 in step S3.
  • step S4 the run-length compression means 125 compresses using a run-length compression method.
  • step S6 repetitive BW conversion means 126 performs BW conversion on the test pattern M times.
  • the BW-converted data is transmitted to the run-leg compression means 125 in step S7, and the run-leg compression means 125 compresses the data in step S8.
  • step S10 the LZ compression means 127 compresses the test pattern using the LZ compression method.
  • step S11 the data compressed in step S11 and a flag kind uniquely indicating the method used for compression are output, and the processing is terminated.
  • FIG. 50 is a block diagram showing an example of the functional configuration of the iterative BW conversion means 126 in the test pattern compression device shown in FIG.
  • the repetitive BW conversion means includes a BW conversion means 133 for performing BW conversion on the input test pattern, a counter 134 for counting the number of times the BW conversion is applied, and two switches 135 for selecting a data path. , 136.
  • FIG. 51 is a flowchart for explaining the processing procedure of the iterative BW conversion means 126 shown in FIG.
  • step S1 the input test pattern is transmitted to the BW conversion means 133, and the number of times M of BW conversion is applied is transmitted to the counter 134.
  • step S3 the test pattern is BW-converted, and the count 134 adds 1 to i according to the BW conversion end signal.
  • FIG. 52 is a flow chart for explaining the processing procedure of the iterative BW conversion means shown in FIG. 50, and shows the BW conversion method.
  • step S1 a character string S of n characters is obtained.
  • step S2 generate n cyclic character strings (character strings shifted cyclically) of the character string S obtained in step S2.
  • the circular character string is a character string in which the first character of the character string is cyclically moved to the end of the character string (shown in Fig. 53 (a)).
  • a matrix M is created by sorting the circular character strings obtained in step S2 in the order of registration in the dictionary.
  • steps S4 and S5 a character string L obtained from the last column of the matrix M and a row number I equal to the input character string S are acquired from the created matrix M.
  • step S6 check the rest of the input data. If input data remains, repeat steps S1 to S5.If there is no input data, BW conversion is performed in step S7. Is output and the process ends.
  • FIG. 56 is a block diagram showing an example of a functional configuration of the test pattern expansion device used in the first embodiment of the present invention.
  • This test pattern decompression device can be used to determine whether compressed data is compressed using run-length compression, compressed using BWT run-length compression, or compressed using LZ compression.
  • Compression method determining means 147 for determining whether or not the data is one-day, run-length decompressing means 142 for decompressing the compressed data using a run-length decompression method, Iterative inverse BW conversion means 43 for applying BW transformation at least once, LZ decompression means 144 for decompressing compressed data using LZ decompression method, and compression method obtained by compression method determination means 41
  • the three switches 145, 146, and 147 are used to select the path of the compressed data according to the following. Next, the operation when a test pattern is expanded using this test pattern expansion apparatus will be described.
  • Fig. 57 shows the test pattern stretching device shown in Fig. 56. 5 is a flowchart for explaining a processing procedure, and shows a first embodiment of a test pattern expansion method according to the present invention.
  • f lag is 0 for the run-length compression method
  • the LZ compression method is determined to take a value of N + 1.
  • step S2 when the determined compression method is the BWT run-length expansion method (0 ⁇ kind ⁇ N + l), the switches 145, 146, and 147 of the test pattern expansion device are connected to terminals 1 and 2 respectively. The terminal 2 is connected to the terminal 2.
  • step S5 the compressed data is transmitted to the run-length decompression means 142.
  • step S6 the run-length decompression means 142 decompresses the compressed data.
  • the compressed data is transmitted to the LZ decompression means 144, and in step S10, the LZ decompression means 144 decompresses the compressed data using the LZ decompression method.
  • step S11 the process ends.
  • FIG. 58 is a block diagram showing an example of the configuration of the repeated inverse BW conversion means 143 in the test pattern expansion device shown in FIG.
  • the repetitive inverse BW conversion means 143 includes an inverse BW conversion means 148 for performing an inverse BW conversion on the input data, a counter 149 for counting the number of applications of the inverse BW conversion, and a It consists of two switches 151 and 152 to select.
  • FIG. 59 is a flowchart for explaining the processing procedure of the iterative BW conversion means 143 shown in FIG. 58, and shows the operation when the iterative BW conversion means 143 performs the BW conversion on the data.
  • step S 1 the input data is transmitted to the inverse BW conversion means 148, and the number M of applications of the inverse BW conversion is transmitted to the counter 149.
  • step S3 the test pattern is subjected to the inverse BW conversion, and the counter 149 adds 1 to i according to the end signal of the inverse BW conversion.
  • step S3 repeat the inverse BW conversion of step S3.
  • the switch 151 is closed, the switch 152 is connected to the terminal 2, and in the next step S5, the data subjected to the inverse BW conversion is output, and the processing is terminated.
  • FIG. 60 is a flowchart for explaining the processing procedure of the inverse BW conversion means in the test pattern expansion device shown in FIG. 56, and shows the inverse BW conversion method.
  • step S1 one piece of conversion data is obtained, and in step S2, a character string L obtained from the conversion data, a number I, and a character string length n are set.
  • step S3 the characters of the obtained character string L are sorted in alphabetical order to generate a character string F.
  • L 'cara ab 5
  • F 'aaabcr'
  • step S4 a matrix T indicating the correspondence between the characters L [i] and F [i] of the character strings L and F is created.
  • T [245613] force s is obtained.
  • step S6 1 is added to count 149, and in step S7, the i-th character S [i] of the original character string S is restored from the character string F, number I, and matrix T.
  • step S8 a character S [i] is output.
  • FIG. 63 is a block diagram showing an example of a functional configuration of the compression method determining means 124 in the test pattern compression device shown in FIG.
  • the compression method determining means includes a BW conversion optimizing means 154 for calculating an optimum number of times of applying the BW conversion to the test pattern, and a threshold storage means 155 for storing a threshold of the compression ratio.
  • a compression ratio comparison unit 156 for comparing the maximum value of the compression ratio obtained from the BW conversion optimization unit 154 with a threshold value of the threshold value storage unit 155, and a comparison obtained from the compression ratio comparison unit 156.
  • the data is compressed by the run-length compression method, compressed by the BWT run-length compression method, or compressed by the LZ compression method.
  • a compression method selecting means 157 for selecting the compression method.
  • FIG. 64 is a flow chart for explaining the processing procedure of the compression method determining means 124 shown in FIG. 63, and shows the operation of this compression method determining method.
  • step S2 the input test pattern is transmitted to BW conversion optimizing means 154.
  • step S3 the test pattern is BW-converted once, and 1 is added to the counter i.
  • step S4 the number of transitions ⁇ of the BW-converted data is measured.
  • step S5 the compression ratio Ri is calculated from the obtained number of transitions ⁇ and the number of adaptations i of the BW transform by using equation (1).
  • step S8 it is checked whether the number of adaptations of the BW conversion has reached the specified number n set in step S1, that is, i ⁇ n, and the number of adaptations is higher than the specified number ⁇ . If it is smaller, steps S3 to S7 are repeated. If the number of adaptations i reaches the specified number n, the process proceeds to step S9.
  • Steps S3 to S8 are performed by the BW conversion optimizing means 154. That is, the BW conversion optimizing means 15 4 obtains the maximum value R max of the compression ratio and the number m of application times of the BW conversion at that time by repeating steps S 3 to S 8 for a specified number of times n. .
  • step S9 the maximum value R max of the compression ratio obtained by the BW conversion optimizing means 154 and the empirically determined compression rate stored in the threshold storage means 155 are calculated.
  • the threshold value Rth is transmitted to the compression ratio comparing means 156, and they are compared.
  • the threshold value R th of the compression ratio can be set externally, or can be set to a fixed value in advance. When externally set, the threshold storage means 155 operates as RAM. On the other hand, If a fixed value is set, the threshold value storage means 15 5 operates as ROM, and a threshold value input is required at this time.
  • the most efficient combination of data compression methods is obtained when three methods are combined: run-length compression, BW conversion + run-length compression, and LZ compression.
  • the test pattern can be divided into three parts: a part with very few pattern transitions, a part with periodic pattern transitions, and a part with random pattern transitions.
  • Efficient compression can be obtained by applying the length compression method, BW conversion method + run-length compression method, and LZ compression method.
  • the LZ compression method is used for the part where the pattern changes randomly, but the Huffman compression method or the like may be used.
  • Most of the compression methods that anyone can use at present are based on the LZ compression method, and since the compression ratio is better than the Huffman compression method, the LZ compression method was used in the above example.
  • the present invention is applied to the compression and decompression of test patterns applied to an LSI for testing.
  • a document file composed of text information, image information, layout information, and the like is used. It is possible to improve the compression ratio by dividing the data into blocks with different characteristics and compressing them with an optimal algorithm.
  • text compression technology such as LZ compression is applied to the text data part
  • image compression technology such as JBIG or JPEG is applied to the image data part
  • Huffman compression method etc. is applied to the layout information part.
  • FIG. 65 is a block diagram showing an example of a functional configuration of a test pattern compression device used in the second embodiment of the present invention.
  • This test pattern compression device is a one-input, one-output test pattern compression device. It divides the input test pattern data into test sequences for each bin and optimizes the divided test sequences. It comprises test sequence compression means 12 for compressing using a suitable compression method, and buffer 13 for temporarily storing compressed data. Next, the operation when the test pattern is compressed using this test pattern compression apparatus will be described.
  • FIG. 66 shows a test pattern compression method according to the second embodiment of the present invention. The test pattern dividing means 11 divides the test pattern input in step S1 into a test sequence for each pin.
  • K is, for example, the number of pins of the integrated circuit.
  • step S3 one of the divided test sequences is selected, the power i is added by one, and the result is transmitted to the test sequence compression means 12 in step S4.
  • the test sequence compression means 12 compresses the test sequence in step S5 using an optimal method.
  • step S6 threshold inputs are used to determine the optimal compression method to apply to each test sequence.
  • the compressed data is sequentially stored in the buffer 13 in step S6.
  • FIG. 67 is a block diagram showing a modification of the configuration of the test pattern compression device used in the second embodiment of the present invention.
  • This test pattern compression apparatus is a 1-input, 1-output test pattern compression apparatus.
  • the test pattern compression means 11 divides input test pattern data into test sequences for each bin.
  • Test sequence compression means 12 for compressing a sequence using an optimal compression method.
  • FIG. 68 shows a modification of the test pattern compression method according to the second embodiment of the present invention.
  • the test pattern dividing means 11 divides the test pattern input in step S1 into a test sequence for each pin.
  • K is, for example, Is a number.
  • step S3 one of the divided test sequences is selected, the counter i is incremented by 1, and the result is transmitted to the test sequence compression means 12 in step S4.
  • the test sequence compression means 12 compresses the test sequence using an optimal method in step S5.
  • step S7 the compressed data is output in test sequence units.
  • FIG. 69 is a block diagram showing an example of another functional configuration of the test pattern compression device used in the second embodiment of the present invention.
  • This test pattern compression device is a one-input multiple-output test pattern compression device.
  • the test pattern compression means 11 divides an input test pattern into a test sequence for each bin.
  • a plurality of test sequences compression means 1 2 ⁇ 1 2 n for compressing in parallel using the optimal compression method sequences, as Suitsuchi 1 4 to select these test sequences compression hands stage 1 2 ⁇ 1 2 n It is constituted by.
  • FIG. 70 shows another example of the test pattern compression method according to the second embodiment of the present invention.
  • the test pattern dividing means 11 divides the test pattern input in step S1 into a test sequence for each pin.
  • step S2 each of the divided test sequences is sequentially transmitted to a plurality of test sequence compression means 1 2 ⁇ to 12 n via switch 14, and each test sequence compression means 1 2 ⁇ to 12 Start n .
  • test sequence compression means 1 2 ⁇ to 1 2 n compresses the test sequence in the steps S 3 ⁇ to S 3 n using an optimal method.
  • a threshold input is used to determine the best compression method to apply to each test sequence.
  • step S 4 i ⁇ S 4 n the compressed data output in parallel, the process ends. Compressing test sequences takes a relatively long time, This parallel processing enables high-speed processing.
  • FIG. 71 shows an example of the configuration of a test pattern expansion device used in the second embodiment of the present invention.
  • This test pattern decompression device is a 1-input, 1-output test pattern decompression device, and is divided into compressed data and time division means 16 for dividing compressed data to be decompressed into compressed data for each bin. It comprises a test sequence expansion means 17 for expanding the compressed data sequence to the original test sequence without loss of information, and a buffer 18 for temporarily storing the expanded test sequence.
  • FIG. 72 is a flowchart for explaining the processing procedure of the test pattern extension method according to the second embodiment of the present invention.
  • step S1 the compressed data dividing means 16 divides the compressed data to be expanded into compressed data for each bin.
  • K is, for example, the number of bins in the integrated circuit.
  • step S3 one of the divided compressed data is selected, the count i is incremented by 1, and the result is transmitted to the test sequence decompression means 17 in step S4.
  • step S5 the test sequence expansion means 17 completely expands the compressed data to the original test sequence.
  • the decompressed data is sequentially stored in a buffer 18 in step S6.
  • FIG. 73 is a block diagram showing a modification of the configuration of the test pattern expansion device used in the second embodiment of the present invention.
  • This test pattern decompression device is a one-input, one-output test pattern decompression device.
  • the compressed data division means 16 divides compressed data to be decompressed into compressed data for each pin.
  • Test sequence expansion means 17 for expanding the data into the original test sequence without loss of information. Next, the operation when the compressed data is expanded using this test pattern expansion apparatus will be described.
  • FIG. 74 shows a modification of the test pattern extension method according to the second embodiment of the present invention.
  • step S1 the compressed data dividing means 16 divides compressed data to be expanded into compressed data for each pin.
  • K is, for example, the number of bins in the integrated circuit.
  • step S3 one of the divided compressed data is selected, the counter i is incremented by 1, and the result is transmitted to the test sequence decompression means 17 in step S4.
  • step S5 the test sequence expanding means 17 completely expands the compressed data to the original test sequence.
  • step S6 the expanded test sequence is output in bin units.
  • FIG. 75 is a block diagram showing another example of the functional configuration of the test pattern expansion device used in the second embodiment of the present invention.
  • This test pattern decompression device is a one-input multi-output test pattern decompression device, and includes a compression data decomposing means 16 that divides compressed data to be decompressed into compressed data for each bin.
  • a plurality of test sequence extending means 17 7 ⁇ ⁇ 17 n for extending the divided compressed data in parallel to the original test sequence without information loss, and a switch 19 for selecting the test sequence extending means 19 And is constituted by.
  • FIG. 76 shows a test pattern expansion method according to the second embodiment of the present invention.
  • step S1 the compressed data dividing means 16 divides the compressed data to be expanded into compressed data for each pin.
  • step S 2 each compression de Isseki divided and sent to multiple test sequences expansion means 1 7 ⁇ 1 7 n, starting each test sequence expansion means 1 ⁇ ⁇ 1 7 n.
  • Each test sequence extension The means 17 17 ⁇ 17 n decompresses each compressed data completely into the original test sequence in steps S 31 1 to S 3 n .
  • step S 4 i ⁇ S 4 n the stretched test sequence in parallel, the process ends.
  • Data decompression can be performed in a shorter time than data compression, but requires high-speed processing. By performing parallel processing for each bin in this way, the processing speed of each decompression unit can be low.
  • FIG. 77 is a block diagram showing an example of the configuration of a test pattern expansion device used in the second embodiment of the present invention.
  • This test pattern decompression device is a multi-input, one-output test pattern decompression device. It can be used in parallel to decompress the compressed data of each pin input in parallel without loss of information to the original test sequence.
  • test sequence buffer 5 2 0 ⁇ 5 2 0 n to the decompressed test sequence stored it it temporarily each test that is stretched and Suitsuchi 5 2 1 to select these Tesutoshi one Ken Subaffa 5 2 0 i ⁇ 5 2 0 n to output the sequence are constituted by a buffer 5 2 2 for temporarily storing the entire test sequence which is stretched .
  • FIG. 78 shows a test pattern extension method according to the second embodiment of the present invention.
  • each test sequence extension means 17 ⁇ to 17 n is activated.
  • each test sequence decompression means 17 1 to 17 n completely decompresses the respective compressed data to the original test sequence, and the corresponding test sequence buffers 5 2 0 1 to 5 It temporarily stored in the 2 0 n.
  • the expanded test sequence is stored in the buffer 52 in step S3.
  • the test sequence is stored in the buffer 522 in a fixed order after all the test sequences have been decompressed by receiving the decompression end signal from the test sequence decompression means 17 7 ⁇ to 17 n. Alternatively, they can be stored in the buffer 522 in the order of expansion.
  • the test sequence is extended by the test sequence extended from buffer 522. And output, and terminate the process.
  • FIG. 79 shows a modification of the configuration of the test pattern expansion device used in the second embodiment of the present invention.
  • This test pattern decompression device is a multi-input, one-output test pattern decompression device, and is connected in parallel to decompress the compressed data of each bin input in parallel without loss of information to the original test sequence.
  • FIG. 80 shows a modification of the test pattern extension method according to the second embodiment of the present invention.
  • each test sequence extension means 17 ⁇ to 17 n is activated.
  • Step S 2 i ⁇ S in 2 n test sequence buffer 5 extend to each test sequence expansion means 1 7 ⁇ 1 7 n is completely original test sequence it Isseki its compression de Store in 2 0 ⁇ ⁇ 5 2 0 n .
  • step S 3 i ⁇ S 3 n Tesutoshi was stretched through Suitsuchi 5 2 1 - outputs cans in bin units, the process ends.
  • test sequence is output in a fixed order after all the test sequences have been decompressed by receiving the decompression signal from the test sequence decompression means 17 i to 17 n , or Alternatively, it is possible to output in the order of expansion.
  • the output expanded test sequence is the same as the test pattern before compression. It will be possible to supply what is being used.
  • FIG. 81 shows an example of a functional configuration of a test sequence compression device used in the second embodiment of the present invention.
  • This test sequence compression device determines the optimal compression method for the input test sequence.
  • Stage 524 run-length compression means 525 for performing compression on the test sequence using a run-length compression method, iterative BW conversion means 526 for applying BW conversion to the test sequence at least once, and LZ compression means 527 for performing compression using the LZ compression method, and three switches 528, 529, 531 for selecting a test sequence path according to the compression method obtained by the compression method determination means 524.
  • run-length compression means 525 for performing compression on the test sequence using a run-length compression method
  • iterative BW conversion means 526 for applying BW conversion to the test sequence at least once
  • LZ compression means 527 for performing compression using the LZ compression method
  • three switches 528, 529, 531 for selecting a test sequence path according to the compression method obtained by the compression method determination means 524.
  • FIG. 82 shows a test sequence compression method according to the second embodiment of the present invention.
  • the compression method determination means 524 determines an optimal compression method adapted to the input test sequence, and sets a flag f1ag that can uniquely determine the compression method to ki nd. .
  • f lag is 0 for the run-length compression method
  • the number of applications of the BW transform m for the BWT run-length compression method m (m l, 2, ..., N, where N is the BW transform
  • N is the BW transform
  • Empirically determined threshold inputs are used to determine the best compression method to apply to the test sequence.
  • step S4 the run-length compression means 525 performs compression using a run-length compression method.
  • step S2b if the determined compression method is the BWT run-length compression method (ie, 0 ⁇ kind ⁇ N + l), the switches 528, 529, and 531 of the test sequence compression device are respectively set. The terminal is connected to the terminal 2, the terminal 2, and the terminal 1.
  • step S6 the iterative BW conversion means 526 performs BW conversion on the test sequence M times.
  • step S7 the BW-converted data is The data is transmitted to the length-length compression means 525, and in step S8, the data is compressed by the run-length compression means 525.
  • step S10 the LZ compression means 527 compresses the test sequence using the LZ compression method.
  • step S11 the data compressed in step S11 and the flag k ind that uniquely indicates the method used for compression are output, and the process ends.
  • Fig. 83 shows the repetition BW conversion means in the test sequence compression means shown in Fig. 81.
  • the repetitive BW conversion means includes a BW conversion means 533 for performing BW conversion on the input test sequence, a counter 534 for counting the number of times the BW conversion is applied, and two switches for selecting a de-night route. 535 and 536.
  • FIG. 84 is a flowchart when the data is BW converted by the iterative BW conversion means.
  • step S1 the input test sequence is converted to BW conversion means 5.
  • step S3 the test sequence is BW-converted, and the count 534 adds 1 to the count on the basis of the BW conversion end signal.
  • FIG. 85 is a flowchart showing the run-length compression method.
  • step S1 one character data is obtained from the input character string and set to ch.
  • step S2 the obtained character ch is set to the initial value initial of a symbol for generating a run-length code, and the count i is initialized to 1.
  • step S3 one character is obtained from the input data and set to ch.
  • step S4 1 is added to power i and the number of characters is counted.
  • step S6 it is checked whether or not the input data remains, and if it does, steps S3, S4, and S5 are repeated, and if not, the process proceeds to step S7.
  • step S7 encoding is performed using the initial value initial and the obtained count number i.
  • step S8 the remaining input data is checked. If input data remains, steps S2 to S7 are repeated.If there is no input data, step S9 follows. Output the compressed data and end the process.
  • FIG. 86 is a flowchart showing the BW conversion method.
  • step S1 an n-character string S is obtained.
  • n cyclic character strings (cyclically shifted character strings) of the character string S obtained in step S2 are generated.
  • a circular character string is a character string in which the first character of the character string is cyclically moved to the end of the character string (shown in Fig. 87 (a)).
  • a matrix M is created by sorting the cyclic character strings obtained in step S2 in the order of registration in the dictionary.
  • the data is sorted in alphabetical order as shown in Fig. 88, such as aa first, ab next, and then ac.
  • step S4 and S5 a character string L obtained from the last column of the matrix M and a row number I equal to the input character string S are obtained from the created matrix M.
  • step S6 the remaining input data is checked. If input data remains, steps S1 to S5 are repeated.If there is no input data, BW conversion is performed in step S7. The output data is output, and the process ends.
  • FIG. 90 is a flowchart showing the LZ compression method.
  • step S1 a dictionary d ic used for compression is initialized.
  • step S2 the input data i n is obtained, and the character string i n obtained in step S3 is matched with the dictionary d i c.
  • step S4 it is checked whether there is another matching character string, and if there is a possibility, the matching in step S3 is repeated. If there is no other longer matching string in step S4, encode the first character ch that did not match the matched string match in step S5, and dictionary this new string match + ch in step S6 Register with.
  • step S7 the remaining input data is checked in step S7, and if the input data remains, steps S2 to S6 are repeated.If there is no input data, the compressed data is output in step S8, and the processing is performed. finish.
  • FIG. 91 is a block diagram showing an example of a functional configuration of a test sequence extension means used in the second embodiment of the present invention.
  • the test sequence decompression means determines whether the compressed data is data compressed by the run-length compression method, data compressed by the BWT run-length compression method, or data compressed by the LZ compression method.
  • Compression method determination means 541 which determines whether the data is an evening
  • run-length expansion means 542 which expands the compressed data using a run-length expansion method
  • run-length expanded data Inverse BW conversion means 5 4 3 to apply inverse BW transform at least once
  • LZ decompression means 5 4 4 to decompress compressed data using LZ decompression method
  • compression method determination means 5 4 It is composed of three switches 5 4 5, 5 4 6, 5 4 7 that select the path of the compression data according to the compression method obtained in 1. Then, the test is performed using this test sequence decompression device. Extend sequence The operation in the case of no answer will be described.
  • FIG. 92 is a flowchart showing a test sequence extending method according to the second embodiment of the present invention.
  • f lag is 0 for the run-length compression method
  • the LZ compression method is determined to have a value of N + 1.
  • step S2 if the determined compression method is the BWT run-length decompression method (0, kind, N + 1), the switch 5 of the test sequence decompression device is used.
  • the compressed data is transmitted to the run-length expanding means 542, and at step S6, the run-length expanding means 542 expands the compressed data.
  • FIG. 93 is a block diagram showing an example of the configuration of the repetitive inverse BW conversion means 543 in the test sequence expansion means shown in FIG.
  • the repetitive inverse BW conversion means 5 4 3 comprises: an inverse BW conversion means 5 4 8 for performing an inverse BW conversion on input data; a counter 5 49 for counting the number of times the inverse BW conversion is applied; It is composed of two switches 55 1 and 55 2 for selecting a route.
  • FIG. 94 is a flow chart when the data is BW-converted by the iterative BW conversion means 543.
  • step S1 the input data is transmitted to the inverse BW conversion means 548, and the number of times M of the inverse BW conversion is transmitted to the counter 549.
  • step S3 the test sequence is subjected to inverse BW conversion, and the counter 549 adds 1 to i according to the end signal of the inverse BW conversion.
  • FIG. 95 is a flowchart showing the run length extension method.
  • step S1 one piece of compressed data is obtained, and in step S2, the initial value initial and the number n of consecutive characters are obtained from the compressed data.
  • step S3 the initial value initial is copied by the number of consecutive times n.
  • step S4 it is checked whether or not compressed data remains, and if so, steps S1 to S3 are repeated. If no compression data remains, the data decompressed in step S5 is output, and the process ends.
  • FIG. 96 is a flowchart showing the inverse BW conversion method.
  • step S3 the characters of the obtained character string L are sorted in alphabetical order to generate a character string F.
  • L the characters of the obtained character string L are sorted in alphabetical order to generate a character string F.
  • step S4 a matrix T indicating the correspondence between the characters L [i] and F [i] of the character strings L and F is created.
  • T [245613] is obtained as shown in FIG.
  • step S6 1 is added to the counter 549, and in step S7, the i-th character S [i] of the original character string S is restored from the character string F, the number I, and the matrix T.
  • step S10 the remaining data is checked in step S10. If there is any remaining data, steps S1 to S9 are repeated. If there is no input data, the process ends.
  • FIG. 99 is a flowchart showing the LZ extension method.
  • step S1 a dictionary d ic used for decompression is initialized.
  • step S2 one code is obtained from the input compressed data.
  • a dictionary is searched using the code obtained in step S3, and the code is converted into a character string string in step S4.
  • step S5 the newly generated character string string is registered in the dictionary die.
  • step S6 check the rest of the data that was compressed in step S6, repeat steps S2 to S5 if compressed data remains, and expand in step S7 if there is no compressed data.
  • the output data is output, and the process ends.
  • FIG. 100 is a block diagram showing an example of the functional configuration of the compression method determining means 524 in the test sequence compressing means shown in FIG.
  • the compression method determining means 524 includes a BW conversion optimizing means 554 for calculating an optimal number of times of applying the BW conversion to the test sequence, and a threshold storage means 5 55 for storing a threshold value of the compression ratio. And a compression ratio comparing unit 556 for comparing the maximum value of the compression ratio obtained from the BW conversion optimizing unit 554 with the threshold value of the threshold storage unit 555, and a comparison obtained from the compression ratio comparing unit 5 56.
  • the BW conversion is compressed by the run-length compression method, compressed by the BWT run-length compression method, or compressed by the LZ compression method.
  • compression method selecting means 557 for selecting the compression method is provided.
  • FIG. 101 is a flowchart showing this compression method determination method.
  • the input test sequence is transmitted to the BW conversion optimizing means 554.
  • step S3 the test sequence is BW-converted once, and 1 is added to the count i.
  • step S4 the number of transitions ⁇ of the BW-converted data is measured.
  • step S5 the compression ratio Ri is calculated from the obtained number of transitions ⁇ and the number of times of application of the BW transform i using equation (4).
  • step S6 the maximum value Rmax of the compression ratio obtained so far is compared with the newly calculated compression ratio Ri, and if the newly calculated compression ratio Ri is larger (if Ri> Rmax ,
  • step S8 it is checked whether or not the number of times of application of the BW conversion has reached the specified number of times n set in step S1, ie, i ⁇ n. If it is smaller than n, steps S3 to S7 are repeated, and if the number of applications i reaches the specified number n, the process proceeds to step S9. Steps S3 to S8 are performed by BW conversion optimizing means 554. That is, the BW conversion optimizing means 554 obtains the maximum value Rmax of the compression ratio and the number m of BW conversion applications at that time by repeating steps S3 to S8 for a specified number of times n. .
  • step S9 the maximum value R max of the compression ratio obtained by the BW conversion optimizing unit 554 and the threshold value R th of the compression ratio stored in the threshold storage unit 555 Is sent to the compression ratio comparing means 5 5 6 and they are compared.
  • the threshold value R th of the compression ratio can be set externally or can be set to a fixed value in advance. When set externally, the threshold value storage means 555 operates as a RAM. On the other hand, when a fixed value is set in advance, the threshold value storage means 555 operates as a ROM, and no threshold value input is required at this time.
  • FIG. 102 is a block diagram showing an example of the configuration of the BWT run-length compression means.
  • the BWT run-length compression means includes a repetitive BW conversion means 561 for performing BW conversion on the test sequence at least once, and a run-length compression means for compressing the BW-converted data using a run-length compression method. 562.
  • FIG. 103 is a flowchart showing a BWT run-length compression method.
  • step S3 the test sequence is subjected to BW conversion, and 1 is added to count i.
  • step S5 the data subjected to the BW conversion m times is transmitted to run-length compression means 562, and in step S6, compression is performed using a run-length compression method.
  • step S7 the compressed data is output, and the process ends.
  • FIG. 104 is a block diagram showing an example of the configuration of the BWT run length extension means.
  • This BWT run-length decompression means performs run-length decompression of the input compressed data. It is composed of run-length extension means 563 which expands using the technique, and iterative inverse BW conversion means 564 which performs inverse BW conversion at least once on the data extended by this run-length extension means. Have been.
  • FIG. 105 is a flowchart showing the BWT run length extension method.
  • step S1 the input compressed data is transmitted to the run-length decompression means 563.
  • step S2 the run-length decompression means 563 decompresses the compressed data.
  • the iterative inverse BW converter 564 performs inverse BW conversion on the data in step S5, and adds 1 to the count i. Next, it is checked whether or not the inverse BW conversion has been performed m times in step S6, that is, i ⁇ m, and step S5 is repeated until the number of applications of the inverse BW conversion reaches m. Finally, in step S7, the restored test sequence is output, and the process ends.
  • test pattern compression / expansion method and the test pattern compression / expansion apparatus according to the second embodiment of the present invention have been described above.
  • the present invention further provides a test pattern compression apparatus or method according to the present invention, and a test pattern compression / expansion method. It also includes an automatic test system for ICs that allows high-speed transfer of test patterns using a pattern decompression device or method.
  • An automatic IC test system (IC test) equipped with a test pattern expansion device according to the present invention is provided by a pattern storage device in the test device main body via a disk device storing test patterns and a test device processor.
  • Various test environments can be supported, such as an environment where the tester is connected and an environment where the pattern generator of the tester is directly connected to the disk array device that stores the test panel.
  • FIGS. 106 to 113 show examples and modifications of the IC automatic test system equipped with the test pattern expansion device, and examples and modifications of the IC automatic test system equipped with the test pattern compression device.
  • FIG. 106 is a block diagram showing a configuration of a first embodiment of an automatic IC test system including a test pattern expansion device and a test pattern compression device according to the present invention.
  • This test system includes a test processor 570 for controlling the inside of the tester main body 579 and a logic processor for storing the test data and applying it to a semiconductor integrated circuit (CUT) 571 to be tested.
  • CUT semiconductor integrated circuit
  • the circuit that generates the data in synchronization with the basic clock that is, the pattern generator 572 that sequentially reads and outputs the stored logic data and the memory that the pattern generator 572 has It is a circuit that supplements the pattern memory 572 and the buffer memory 573 that can transfer data at high speed, and the compressed data is expanded at high speed and stored in the pattern generator 572.
  • One pattern per bin for generating pulses with different widths or phase differences from other pulses from the logic data generated by the one-output test pattern expansion device 574 and the pattern generator 572 Tutkon Roll 5 7 5, a driver that applies an electrical signal to the CUT 5 7 1, and a comparator that is supplied with the response of the CUT 5 7 1 It is composed of an interface 577 and a workstation 578 for controlling the main unit.
  • the control workstation 578 is used to operate the test equipment 579 to control the automatic test of the IC 571.
  • Sun Microsystems' SPARC Computer can be used.
  • the test pattern is compressed by the test pattern compression device 581, and is stored in the disk device 582 of the workstation 578.
  • test pattern data is downloaded to the tester through the workstation 578 and the tester processor 570.
  • the data is transferred to the decompression device 574, decompressed at high speed, and stored in the pattern generator 572.
  • Test patterns that do not fit in the pattern generator 572 are stored in the buffer memory 573 as compressed, and are expanded by the test pattern expansion device 574 when necessary.
  • a conventional pattern generator 572 can be used. The above structure By using the configuration, the amount of data passing through the transfer path can be reduced, and the download time of the test pattern can be reduced.
  • FIG. 107 is a block diagram showing the configuration of a second embodiment of the IC automatic test system provided with the test pattern extension device according to the present invention.
  • This test system consists of a test processor 570 that controls the tester main body 579 and a logic device that stores test data and applies it to a semiconductor integrated circuit (CUT) 571 to be tested.
  • a pattern generator 572 that is a circuit generated in synchronization with the basic clock, and a 1-input 1-output test pattern expansion device that expands the compressed data at high speed and stores it in the pattern generator 572 5 7 4 and a disk array device 5 8 5 connected to a network 5 8 4 and a pattern generator 5 7 2 that can store test pattern data and transfer test patterns at high speed.
  • One format control 5 7 5 per pin that generates pulses with different widths or phase differences from other pulses from logical data generated from the driver, and a driver that applies an electrical signal to the CUT 5 71 CU
  • the control workstation 578 is used to operate the test equipment 579 to control the automatic test of the IC 571.
  • Sun Microsystems' Spark Computer can be used.
  • the test pattern is compressed by a test pattern compression device (not shown) and stored in the disk array device 585 via the network 584.
  • the compressed test pattern data is downloaded to the disk array device 5. From 8 5, the data is transferred to the test pattern expansion device 5 7 4, expanded at high speed, and stored in the pattern generator 5 7 2.
  • Figure 108 is shown in Figure 106.
  • the measurement system used in the above embodiment generates a timing generator 572 a that generates a timing pulse that defines a time such as a delay and a width, and generates a logic data that is extended in synchronization with the basic clock.
  • One format control 575 per bin to generate a pulse with a phase difference with the driver, a driver that applies an electrical signal to the CUT 571, and a comparator to which the response of the CUT 571 is supplied 1 It consists of one pin electronics 576 per bin and an interface 577 with CUT 571
  • the pattern generator 572b In the test of the CUT 571, the pattern generator 572b generates the logical data to be applied to the CUT 571 in accordance with the clock generated by the evening generator 572a.
  • the format control 5 7 5 forms a pulse.
  • the pulse generated by the format control 575 is converted into a signal of the set level by the driver of the pin electronics 576, and is applied to the CUT 571 via the interface 577.
  • the response from CUT5701 is obtained at the Comparator of Bin Electronics 576 and compared with the expected value output at 572b from the PA.
  • FIG. 109 is a block diagram showing a configuration of a third embodiment of an automatic IC test system including a test pattern expansion device and a test pattern compression device according to the present invention.
  • This test system includes a test processor 570 for controlling the tester main body 579 and a logic device for storing the test data and applying it to a semiconductor integrated circuit (CUT) 571 to be tested.
  • the circuit that generates the clock in synchronization with the basic clock that is, the pattern generator 572 that reads and outputs the memory logic data and the circuit that supplements the memory of the pattern generator 572,
  • the generator 572 and the buffer memory 573 that can perform high-speed data transfer, and the compressed data output from the pattern generator 572 are decompressed in parallel to each bin at high speed.
  • Test sequence extender 5 7 4 and pattern generator 5 7 Generates a pulse with a different width or a phase difference from other pulses from the logic data generated from 2)
  • One format control 5 7 5 per pin and the electrical signal to the CUT 5 7 1 The driver to be applied and the response of the CUT 571 are supplied.
  • the control workstation 578 is used to operate the test equipment 579 to control the automatic test of the IC 571.
  • the test pattern is compressed by the test pattern compression device 581, and is stored in the disk device 582 of the workstation 578.
  • test pattern data is transmitted to the pattern generator through the workstation 578 and the tester processor 570. Store at 572 evening. Test patterns that do not fit in the pattern generator 572 are stored in the buffer memory 573 as compressed, and transferred to the pattern generator 572 when necessary. The compressed data output from the pattern generator 572 is transferred to the test sequence expansion device 574 for each pin, expanded at high speed, and sent to the format control 575.
  • the amount of data passing through the transfer path can be reduced, so that the test pattern download time can be reduced.
  • FIG. 110 is a block diagram showing the configuration of a fourth embodiment of the IC automatic test system provided with the test pattern expansion device according to the present invention.
  • the test system includes a test processor 570 for controlling the tester main body 579 and a logic processor for storing the test data and applying it to a semiconductor integrated circuit (CUT) 571 to be tested.
  • CUT semiconductor integrated circuit
  • Compressed data output from the pattern generator 572 which is a circuit that synchronizes with the basic clock, and the compressed data output from the One test pattern decompression device 5 7 4 and saves test pattern data and can transfer test pattern data at high speed.
  • the control workstation 578 is used to operate the test equipment 579 to control the automatic test of the IC 571.
  • Sun Microsystems' SPARC Computer can be used.
  • the test pattern is compressed by a test pattern compression device (not shown) and stored in the disk array device 585 through the network 584.
  • test pattern stored in the disk array device 585 in the CUT 570 test is downloaded to the pattern generator 572 of the test main unit 579, the compressed test pattern data is stored in the disk.
  • the data is stored in the pattern generator 572 from the array device 585.
  • the compressed data output from the pattern generator 572 is transferred to the test sequence decompressor 574 for each pin, decompressed at high speed, and sent to the format controller 575.
  • the amount of data passing through the transfer path can be reduced, and thus, the download time of the test pattern can be reduced.
  • FIG. 11 shows an example of a detailed configuration of the measurement system of the test body 579 used in the embodiment shown in FIG. 109 or FIG.
  • the measurement system used in the above embodiment includes a timing generator 572 a for generating a timing pulse for defining a time such as a delay and a width, and a logical data expanded in synchronization with the basic clock.
  • the generated pattern generator 5 7 2 b the compressed data is expanded in parallel for each bin
  • One test sequence expander 5 7 4 per bin, and the test sequence expander 5 7 4 A pulse with a different width or a pulse with a phase difference from other pulses is created from two pieces of information from the logic generator and the clock signal from the timing generator 5 7 2a.
  • the timing generator 572a is generated.
  • the test sequence decompressor 574 generates logical data to be applied to the CUT 571 based on the compressed data output from the pattern generator 572b.
  • the format control 575 forms a pulse based on this.
  • the pulse generated by the format controller 575 is converted into an electric signal by the driver of the bin electronics 576 and applied to the CUT 571 via the interface 577.
  • the response from the CUT 571 is obtained overnight at the bin electronics 576 and compared with the expected value output from the test pattern decompressor 574.
  • the compressed test pattern can be expanded in real time, and the CUT 71 can be tested in real time using the expanded logical data.
  • storing the compressed data in the pattern generator 572b can save memory.
  • FIG. 112 is a block diagram showing the configuration of a fifth embodiment of the IC automatic test system including the test pattern compression device according to the present invention.
  • This system includes a test pattern compression device 581 connected to a CPU memory bus 587 of a convenience store 601.
  • the test pattern transferred from another computer via the network 584 is sent to the test pattern compressor 581 via the I / O controller 588, I / O bus 589, bus adapter 591 and CPU memory bus 587. Compressed without loss of information and saved to the disk device 582 or the disk of another computer connected to the network 584 via the CPU memory bus 587, bus adapter 591, I / O bus 589, 170 controller 592 Is performed.
  • test pattern is stored in the main memory 593, the test pattern is sent to the test pattern compression device 581 through the CPU memory bus 587, and is compressed without loss of information, so that the CPU memory bus 587, the bus adapter 591, I / O bus 589, I / O controller 592, through the disk unit 582, and other computers connected to the network 584 are stored on the disk.
  • the compressed data stored in the disk unit 582 is transferred to the test main unit 579 through the I / O controllers 592 and 593 and the I / O bus 589.
  • the test pattern to be transferred is compressed and requires only a short transfer time. Therefore, if the compression unit can be expanded at high speed by the test main body 579, the operation rate of the test system can be improved.
  • FIG. 13 is a block diagram showing the configuration of a sixth embodiment of an IC automatic test system including a test pattern compression device according to the present invention.
  • This system includes a test pattern compression device 581 just before the disk device 582.
  • the test path transferred from another computer via the network 584 is transmitted to the test path via the I / O controller 588 and 592 and the I / O bus 589.
  • the data is sent to the compression device 581, compressed without loss of information, and stored in the disk device 582.
  • test pattern is the CPU memory bus 589, the bus adapter 591, the I / O bus 589, and the I / O controller 5
  • the data is sent to the test pattern compression device 581 through 92, is compressed without loss of information, and is stored in the disk device 582.
  • the compressed data stored in the disk device 582 is transferred to the test main body 579 via the IZO controller 592 and the I / O bus 589.
  • the test pattern to be transferred is compressed and requires only a short transfer time. Therefore, if the test system can decompress compressed data at high speed, the operating rate of the test system can be improved.
  • the compression ratio is larger than the threshold during data compression, the data is compressed by the LZ compression method, but other compression methods such as the Huffman compression method and the arithmetic coding compression method may be used. Of course it is good.
  • a received input data pattern is distributed to any of a plurality of blocks according to its data structure and statistical properties, and an appropriate compression method is applied to each block. It is possible to efficiently compress data consisting of data patterns having a data structure.
  • the input test pattern data is stored in a test for each pin. Since the test sequence is divided into test sequences and an appropriate compression method is applied to each test sequence, efficient compression of test patterns can be performed efficiently.
  • FIG. 14 shows the results of compressing a test pattern used for actual device test using the test pattern compression method and apparatus according to the present invention, and measuring the compression ratio. Five test patterns as sample test patterns
  • Kl and ⁇ 2 are the test patterns of the CISC microcomputer (pin 100), and A1 and A2 are the disk controllers.
  • Fig. 114 shows a comparison with LZW (compression method used in UNIX compress), which is the most commonly used compression method. Except for the test pattern of K1, the test pattern compression method and apparatus of the present invention show a better compression rate. In particular, the test pattern of S1 has a compression rate of 150: 1 or more. Have been.
  • FIG. 11 shows the result of measuring the expansion speed of the compressed data by the test pattern expansion device of the present invention.
  • FIG. 115 the expansion speed of the LZW compression method was measured in the same manner, and compared with the test pattern expansion device of the present invention. From this figure, it can be seen that the test pattern decompression device of the present invention is capable of decompressing data approximately twice as fast as the conventional LZW compression method.
  • the present invention uses a BWT run-length compression device to generate a pseudo-random noise sequence (Pseudorandom Noise sequence, PN sequence;
  • FIG. 116 shows the result of the compression ratio when M-sequence compression is performed using a BWT run-length compression device.
  • the result of applying the BW transform once is indicated by X
  • the result of applying the BW transform twice is indicated by ⁇ .
  • the broken line indicates the upper limit of the compression ratio obtained by the BWT run-length compression device.
  • a compression ratio close to the upper limit can be obtained by applying the BW transform twice using the BWT run-length compression device of the present invention.
  • the compression ratio improves as the number of stages of the Linear Feedback Shift Register (LFSR) that generates the M-sequence increases, and a maximum compression ratio of approximately 700: 1 is obtained. .
  • LFSR Linear Feedback Shift Register
  • a high compression rate can be obtained by applying the BW transform multiple times and then compressing it using the run-length compression method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

明 細 書 データパターンの圧縮及び伸張方法並びに圧縮及び伸張装置 體
この発明は、 例えば半導体集積回路 (I C ) を試験するために使用されるテス トパターンのようなデ一夕パターンの圧縮方法、 伸張方法、 圧縮装置、 及び伸張 装置、 並びに、 大規模半導体集積回路 (L S I ) を試験するために使用されるテ ストパターンを大規模半導体集積回路 (以下、 L S Iと称す) のピン単位で圧縮 し、 伸張するテストパターンの圧縮方法、 伸張方法、 圧縮装置、 及び伸張装置に 関する。 背景枝術
半導体集積回路 (以下、 I Cと称す) を試験する I C試験装置 (一般に I Cテ ス夕と呼ばれる) においては、 試験すべき I C (被試験 I C ) に印加するテスト パターンは膨大なデータ量となるため、 この膨大なテストパターンデータを圧縮 して送信し、 受信側で圧縮されたテストパターンデ一夕を伸張して元のテストパ 夕一ンデ一夕に復元し、 被試験 I Cに印加している。 テストパターンや他の膨大 なデ一夕パターンを圧縮する方法として、 従来より、 辞書を用いる Lempel Zivの アルゴリズム (L Z圧縮法) や、 データの統計的性質を利用する Huffmanのアル ゴリズム (Huffman圧縮法) 、 或いはそれらの種々の変形圧縮法がデータ圧縮装 置において使用されている。 これら方法は単一の圧縮方法であり、 上記データ圧 縮装置はこの単一の圧縮方法を、 圧縮対象となるすべてのデータノ 夕一ンに適用 して、 これらデータパターンの圧縮を行なっている。
しかしながら、 テストパターンのようなデータパターンはデ一夕構造や統計的 性質がかなり異なっているため、 目的となるデ一夕パターンの構造によっては、 効率的な圧縮はできなかった。 例えば、 同一データパターン内の異なる部分でパ ターンの構造或いは統計的な性質が大きく異なるときには、 特定部分では高い圧 縮効率が得られるが、 残りの部分では圧縮の効率が低くなる。 その結果デ一タパ ターン全体では相対的に低い圧縮率となってしまう。 また、 処理時間についても、 データパターンの構造によって処理時間が異なるため、 最適な処理時間が得られ ていなかった。
この点からテストパターンをデ一夕の構造或いは統計的性質の異なる部分毎に ブロックに分割し、 分割されたそれそれのブロックに対して、 適切な圧縮手法を 適用し、 データを圧縮することが提案されている。
しかしながら、 この方法は目的となるテストパ夕一ンをブロック単位で圧縮す るため、 デ一夕の伸張もプロヅク単位で行なう必要がある。 このため、 この圧縮 手法では、 圧縮されたテストパターンをリアルタイムに伸張することが不可能で める。
さらに、 インテル (Intel)社のマイクロプロセッサを例に挙げると、 1 9 7 1年 の 4 0 0 4では 1 6ビン、 1 9 8 2年の 8 0 2 8 6では 6 8ビン、 1 9 8 5年の 8 0 3 8 6では 1 3 2ビン、 1 9 8 9年の 8 0 4 8 6では 1 6 8ビン、 1 9 9 3 年の Pentiumでは 2 9 6ビン、 1 9 9 5年の PentiumProでは 3 8 7ピン、 という ように、 I Cの集積度が向上するにつれてビン数も年々増え続けている。 このた め I Cの自動テストシステム (A T E ) も、 試験装置のハードウェアをビンに対 応させた方式 (パーピン方式) へとシフトしている。 これは、 パ一ピンのァーキ テクチヤであれば増加するピン数に対して柔軟に対応することが可能であるから であ 。
上に述べたテストパターンの問題を解決するためには、 テストパターンをビン 每のデ一夕に分割して取り扱うパーピンの圧縮器及び伸張器が必要となる。 パー ビンのアーキテクチャは、 (a ) 各ピンに対応したテストデ一夕を同時にダウン ロードできるため、 圧縮されているテストパターンを自動テストシステムの内部 メモリへダウンロードする時間を短縮できる、 (b ) 圧縮器及び伸張器のマネ一 ジメントが簡単になるため、 I Cのピンの数の増加に対して柔軟に対応できる、 などの利点を持つ。
従来の I Cの自動テストシステム (以下、 A T Eと称す) は、 I Cを試験する ためのテストパターンをパターンジェネレータ (パターン発生器) に保持してい る。 このため、 テストパターンを保存しているディスク装置から、 テストパター ンデ一夕を A T Eのパターンジェネレータにダウンロードするのに、 非常に長い 時間を必要としていた。 例えば、 1 Gbyte (ギガバイト) 程度のテストパターン をダウンロードするのに、 ネットワークを介した場合には約 1時間程度の時間が 必要であった。 このため、 テストパターンのダウン口一ド時間を短縮して A T E の稼働率を向上させることが重要な課題となっている。
日月の
この発明の 1つの目的は、 構造の相違する部分、 或いは統計的性質の異なる部 分を持つデ一夕パターンを、 それらと対応させて複数のブロックに分割し、 それ それのプロックに対し最適な圧縮手法を適用することによって、 圧縮の対象とな るデータを効率よく圧縮することができるテストパターンの圧縮方法を提供する <— c 'める。
この発明の他の目的は、 複数のブロックに分割された圧縮データを、 それそれ のブロックから、 情報損失なく、 元のデ一夕パターンに復元できるデ一タパ夕一 ンの伸張方法を提供することである。
この発明のさらに他の目的は、 テス卜パターンを半導体集積回路の各ピンに対 するテストシーケンス毎に分割し、 各テストシーケンスに対し、 データの構造或 いは統計的性質を測定することにより、 最適な圧縮手法を適用することによって、 圧縮の対象となるテストパターンを効率よく圧縮できるテストパターン圧縮方法 及び圧縮装置を提供することである。
この発明のさらに他の目的は、 上記圧縮方法或いは圧縮装置によって生成され た半導体集積回路のピン毎の圧縮データから、 情報損失なく、 元のテストパ夕一 ンデ一夕にピン単位でリアルタイムに復元できるテストパターン伸張方法及び伸 張装置を提供することである。
この発明のさらに他の目的は、 複数のブロックに分割したデータパターンを、 それそれのブロックに対して最適な圧縮手法を適用して圧縮し、 これら複数のブ ロックに分割された圧縮デ一夕を、 それそれのブロックから、 情報損失なく、 元 のデータパターンに復元できるデ一夕パターンの圧縮方法及び伸張方法を提供す ることである。 この発明のさらに他の目的は、 上記テストパターンの圧縮及び/又は伸張装置 を使用してテストパ夕一ンのダウンロード時間を短縮した半導体集積回路の自動 テストシステムを提供することである。
この発明によるデ一夕パターン圧縮方法は、 入力した冗長性のあるデ一夕、 例 えばテストパ夕一ンデ一夕を、 被試験集積回路の各ピン毎に対応に対して圧縮を 行なう圧縮方法において、 データの構造或いは統計的な性質に応じて各入力デー 夕パターンの複数のブロックの何れかに分配分割を行なう分割ステップと、 各ブ ロックに対して適切な圧縮方法を適用する圧縮ステツプを具備することを特徴と し、 これによつて全デ一夕に対し適切な圧縮を得ることを可能にする。
この発明によるデ一夕パターン伸張方法は、 上記データパターン圧縮方法で生 成された圧縮データに対して伸張を行なう際に、 圧縮データの構造に応じて圧縮 デー夕を複数のブロックに分割する分割ステップと、 それそれのブロックに対し て適切な伸張方法を適用する伸張ステップとを具備し、 これによつて上記圧縮デ —夕を、 情報の損失なく、 元のデ一夕パターンに復元することを可能にするもの ^ある。
好ましい一実施例のデータパターン圧縮方法においては、 上記分割ステップは プロック分割のためのデ一夕遷移回数のしきい値を計算するステツプと、 入力デ
—夕の遷移回数を計数するステップと、 しきい値と実際のデ一夕の遷移回数とを 比較するステップと、 比較の結果に応じて複数のブロックの何れかに分配するス テツプとを含むことを特徴とし、 これによつて入力されたデ一夕パターンを適切 なブロックに分割することを可能にする。
好ましい他の実施例のデータパターン圧縮方法においては、 上記分割ステップ はプロヅク分割のためのェント口ピーのしきい値を計算するステツプと、 入力デ 一夕における記号の出現確率を計測し、 記号の出現確率からデータのエントロピ —を計算するステップと、 しきい値と実際のデ一夕のエントロピーとを比較する ステップと、 比較の結果に応じて複数のブロックの何れかに分配するステップと を含むことを特徴とし、 これによつて入力されたデータパターンを適切なブロヅ クに分割することを可能にする。
好ましいさらに他の実施例のデ一夕パターン圧縮方法においては、 上記分割ス テツプは、 上記入力デ一夕パターンに対して、 デ一夕の遷移回数を計数し、 デー 夕の遷移回数に応じて入力データのブロック分割を行なうステップであり、 遷移 回数がしきい値より小であるブロックに対して上記圧縮ステツプでランレングス 圧縮法を適用し、 他のプロックに対してはそれそれ適切な圧縮手法を適用するこ とを特徴とし、 これによつて全データに対し適切な圧縮を得る。
好ましい一実施例のデ一夕パターン伸張方法においては、 圧縮データの伸張を 行なう上記分割ステップは、 圧縮データをランレングス圧縮法で圧縮されたデー 夕及びその他複数の圧縮法で圧縮されたデ一夕に分割し、 分割されたランレング ス圧縮データは上記伸張ステツプでランレングス伸張されることを特徴とし、 こ れによって上記圧縮データを情報損失なく、 元のデータパターンに復元する。 好ましいさらに他の実施例のデ一夕パターン伸張方法においては、 上記分割ス テヅプで分割されたプロヅク中のデ一夕の周期性が大であるブロックに対してブ ロウズ ウイ一ラー (Burrows Wheeler) 変換 (以下、 B W変換と称す) を少く とも 1回行なうステップを含み、 B W変換されたデータに対しては上記圧縮ステ ヅプでランレングス圧縮法を適用し、 他のプロックに対してはそれぞれ適切な圧 縮手法を適用することを特徴とし、 これによつて全データに対して適切な圧縮を 得る。
好ましい他の実施例のデ一夕パターン伸張方法においては、 上記圧縮データの 伸張を行なう上記分割ステツブは、 圧縮データを B W変換の後にランレングス圧 縮法で圧縮されたデータと、 その他の圧縮法で圧縮されたデータとに分割し、 上 記 B W変換後、 ランレングス圧縮された部分は上記伸張ステツプでランレングス 伸張し、 その後、 B W変換回数だけ B W逆変換することを特徴とし、 これによつ て上記圧縮データを情報損失なく、 元のデータパターンに復元する。
好ましいさらに他の実施例のデータパターン圧縮方法においては、 上記分割ス テヅプで分割されたプロヅク中のェントロピーがしきい値より小であるブロック に対して上記圧縮ステヅプで Huffman圧縮法を適用し、 他のプロヅクに対しては それそれ適切な圧縮手法を適用することを特徴とし、 これによつて全データに対 し適切な圧縮を得ることを可能にする。
好ましいさらに他の実施例のデ一夕パターン伸張方法においては、 圧縮データ を Huffman圧縮法で圧縮されたデ一夕と、 その他の圧縮法で圧縮されたデータと に分割し、 上記伸張ステップで Huffman圧縮法で圧縮されたデ一夕に対しては Hufman伸張法を適用することを特徴とし、 これによつて上記圧縮データを情報 損失なく、 元のデ一夕パターンに復元することを可能にする。
好ましいさらに他の実施例のデータパターン圧縮方法においては、 分割された プロヅク中のェントロピ一が小であるプロヅクに対して圧縮ステップで L Z圧縮 法を適用し、 他のプロックに対してはそれそれ最適な圧縮手法を適用することを 特徴とし、 これによつて全データに対し適切な圧縮を得ることを可能にする。 好ましいさらに他の実施例のデ一夕パターン伸張方法においては、 上記分割ス テップは圧縮データを L Z圧縮法で圧縮されたデータと、 その他の圧縮法で圧縮 されたデ一夕とに分割し、 上記伸張ステップで、 L Z圧縮法で圧縮されたデータ に対しては L Z伸張法を適用することを特徴とし、 これによつて上記圧縮データ を情報損失なく、 元のデ一夕パターンに復元することを可能にする。
好ましいさらに他の実施例のデータパターン圧縮方法においては、 分割された プロック中のェント口ピ一が小であるプロヅクに対して圧縮ステヅプで算術符号 化圧縮法を適用し、 他のプロックに対してはそれそれ適切な圧縮手法を適用する ことを特徴とし、 これによつて全データに対し最適な圧縮を得ることを可能にす 好ましいさらに他の実施例のデ一夕パターン伸張方法においては、 上記分割ス テップで圧縮データを算術符号化圧縮法で圧縮されたデ一夕と、 その他の圧縮法 で圧縮されたデ一夕とに分割し、 上記伸張ステップで算術符号化圧縮法で圧縮さ れたデ一夕に対しては算術符号化伸張法を適用することを特徴とし、 これによつ て上記圧縮デ一夕を倩報損失なく、 元のデ一夕パターンに復元することを可能に する。
好ましいさらに他の実施例のデ一夕パターン圧縮方法においては、 上記分割ス テツプは、 適切なプロック分割のための環境パラメ一夕を入力するステップと、 入力された環境パラメ一夕を用いてプロック分割のためのデ一夕遷移回数のしき い値を計算するステップとを含み、 これによつて最適なブロック分割を可能にす 好ましいさらに他の実施例のデ一夕パターン圧縮方法においては、 上記分割ス テヅプは、 適切なブロック分割のための環境パラメ一夕を入力するステップと、 入力された環境パラメ一夕を用いてブロック分割のためのエントロピ一のしきい 値を計算するステップとを含む。
好ましいさらに他の実施例のデ一夕パターン圧縮方法においては、 ブロック分 割のためのデータ遷移回数のしきい値を計算するステップと、 計算されたしきい 値を用いて入力デ一夕の圧縮率を見積もり、 圧縮率が最大となるようにしきい値 の最適ィ匕を行なうステップとを含み、 その最適化されたしきい値を上記分割ステ ヅプに用い、 これによつて最適なプロヅク分割を可能にする。
好ましいさらに他の実施例のデ一夕パターン圧縮方法においては、 プロック分 割のためのエントロピ一のしきい値を計算するステップと、 計算されたしきい値 を用いて入力データの圧縮率を見積もり、 圧縮率が最大となるようにしきい値の 最適化を行なうステップとを有し、 その最適化されたしきい値を上記分割ステッ ブに用いることを特徴とし、 これによつて最適なブロック分割を可能にする。 この発明のテストパターン圧縮装置は、 入力されたテストパターンを被試験集 積回路の各ピン毎のテストシーケンスに分割する分割手段と、 各テストシ一ケン スのデ一夕の構造に応じて適切な圧縮手法を選択してテストシーケンスをピン毎 に圧縮するテストシーケンス圧縮手段とを具備することを特徴とし、 これによつ て全デ一夕に対し最大の圧縮率を得ることを可能にする。 テストパターンを入力 し、 ビン毎に圧縮されたデータをまとめて出力する、 或いは圧縮された順番に出 力することができる。
好ましいさらに他の実施例のテストパターン圧縮方法においては、 入力された テストパ夕一ンを集積回路の各ピン毎のテストシーケンスに分割するステップと、 各テストシーケンスのデータの構造に応じて適切な圧縮手法を選択してテストシ —ケンスをピン毎に圧縮するステップとを具備する。
好ましい他の実施例のテストパターン圧縮装置においては、 前記テストシ一ケ ンス圧縮手段はピン毎に設けられ、 これらが並列に動作し、 圧縮されたデータが 並列に出力される。
好ましいさらに他の実施例のテストパ夕一ン圧縮方法においては、 各ピン毎に 分割されたテストシーケンスを並列に、 前記圧縮ステップを実行する。 高速かつ 高効率の圧縮を可能とする。
この発明のテストパターン伸張装置は、 入力された圧縮データを被試験集積回 路の各ピン毎の圧縮デ一夕に分割する圧縮デ一夕分割手段と、 それそれの分割さ れた圧縮データに対してその圧縮手法を示すフラグに応じて選択し、 適用するテ ストシーケンス伸張手段とを具備する。
好ましいさらに他の実施例のテストパターン伸張方法においては、 入力された 圧縮デ一夕を集積回路の各ピン毎の圧縮データに分割するステップと、 それそれ の分割された圧縮データの圧縮手法を示すフラグに応じて適切な伸張方法を選択 し適用するステップとを具備する。
この発明のテストパターン伸張装置は、 上記テストシーケンス伸張手段を各ピ ン毎に備え、 これらが並列動作することを特徴とする。
好ましいさらに他の実施例のテストパターン伸張方法においては、 前記伸張ス テップを各ピン毎に並列的に行う。
この発明のテストパターン圧縮装置における前記のテストシーケンス圧縮手段 は、 入力されたテストシーケンスに対して適応する適切な圧縮手法を決定する圧 縮手法決定手段と、 テストシーケンスに対しランレングス圧縮手法を用いて圧縮 を行なうランレングス圧縮手段と、 テストシーケンスに対し B W変換手段で 1回 以上 BW変換を適用した後、 ランレングス圧縮を適用する BWTランレングス圧 縮手段とを具備する。
このテストパターン圧縮装置は、 圧縮手段として、 さらに他の圧縮手法の圧縮 手段として L Z圧縮法、 Huffman圧縮法、 算術符号化圧縮法などを用いる手段も 設けられる。
この発明のテストパターン圧縮方法は、 前記のテストシーケンス圧縮ステップ において、 入力されたテストシーケンスに対して適用する適切な圧縮手法を決定 するステップと、 ランレングス圧縮手法、 或いは BW変換を 1回以上適用した後、 ランレングス圧縮手法 (以下、 BWTランレングス圧縮手法という) 、 或いは他 の圧縮法 (L Z圧縮法、 Huffman圧縮法、 算術符号化圧縮法など) のうちのどれ か 1つを適用してテストシーケンスの圧縮を行なうステップとを具備する。 この発明のテストパ夕一ン伸張装置における前記のテストシーケンス伸張装置 は、 圧縮データがランレングス圧縮手法で圧縮されたデ一夕であるか、 B W Tラ ンレングス圧縮手法で圧縮されたデータであるか、 L Z圧縮手法などの他の圧縮 法で圧縮されたデ一夕であるかを判定する圧縮手法判定手段と、 圧縮デ一夕に対 して、 ランレングス伸張手法を用いて伸張を行なうランレングス伸張手段と、 ラ ンレングス伸張手段で伸張されたデータに対して逆 B W変換を 1回以上適用して デ一夕の変換を行なう繰り返し逆 B W変換手段と、 圧縮データに対して前記他の 圧縮法に対応した伸張手法を用いて伸張を行なう他の伸張手段とを具備する。 この発明のテストパターン伸張方法は、 前記のテストシーケンス伸張ステップ において、 圧縮データがランレングス圧縮手法で圧縮されたデータであるか、 B W Tランレングス圧縮手法で圧縮されたデ一夕であるか、 L Z圧縮手法など他の 圧縮法で圧縮されたデータであるかを判定するステップと、 圧縮データに対して 圧縮された手法に対応する適切な伸張方法を選択し適用するステップとを具備す この発明のテストパターン圧縮装置における圧縮手法決定手段は、 テストシ一 ケンスに対し B W変換を適用する場合の適切な適用回数を計算する B W変換最適 化手段と、 圧縮率のしきい値を格納しているしきい値記憶手段と、 B W変換最適 化手段から得られた圧縮率の最大値としきレ、値記憶手段のしきい値とを比較する 圧縮率比較手段と、 圧縮率比較手段から得られた比較の結果及び B W変換最適化 手段から得られた B W変換の最適な適用回数に応じてランレングス圧縮手法で圧 縮するか、 或いは、 B W Tランレングス圧縮手法で圧縮するか、 或いは、 L Z圧 縮手法など他の圧縮手法で圧縮するかを選択する圧縮手法選択手段とを具備する 前記の圧縮手法決定手段における B W変換最適化手段はテストシーケンスに対 し B W変換を適用するステップと、 B W変換されたデ一夕の遷移回数を測定する ステップと、 遷移回数から圧縮率を計算するステップと、 圧縮率の最大値及び圧 縮率が最大となる B W変換の回数を求めるステップよりなる。
前記この発明のテストパターン圧縮装置及びテストパターン伸張装置を用いた 半導体集積回路自動テストシステムは、 圧縮されたテストパターンデータを保存 するための大容量記憶装置 (例えばディスク装置) と、 テストパターンデータを 格納し、 テストパターンを発生するパターンジェネレータと、 圧縮されたテスト パターンデータを情報の損失なく完全に元のテストパターンに復元するテストパ ターン伸張手段とを有し、 テストパターンのダウンロード時間を短縮することを 可能にする。
半導体集積回路自動テストシステムとしては、 圧縮されたテストパターンデ一 夕を保存するための大容量記憶装置 (例えばディスク装置) と、 テストパターン デ一夕を格納しテストパターンを発生するパターンジェネレータと、 各ピン毎に 圧縮されたテストシーケンスデータを、 各ビンに対して並列に情報の損失なく完 全に元のテストパターンに復元する複数のテストシ一ケンス伸張手段とを備える。 ι¾ι¾ΐの な 朋
図 1はこの発明の第 1及び第 2の実施例においてそれそれ用いられるテストパ ターンの一例を示す図である。
図 2はこの発明の第 1の実施例において使用されるテストパターン圧縮装置の 機能構成の一例を示すブロック図である。
図 3はこの発明の第 1の実施例のテストパターン圧縮方法を説明するためのフ 口—チャートである。
図 4はこの発明の第 1の実施例において使用されるテストパターン伸張装置の 機能構成の一例を示すブロック図である。
図 5はこの発明の第 1の実施例のテストパターン伸張方法を説明するためのフ 口一チャートである。
図 6は図 2に示すテストパターン圧縮装置中のテストパターン分割手段の機能 構成の一例を示すプロック図である。
図 7は図 6に示すテストパターン分割手段の処理手順を説明するためのフロー チャートである。
図 8はテストパターン、 遷移回数しきい値、 各ピンの遷移回数、 及び分割結果 のブロックの各例をそれそれ示す図である。
図 9は図 2に示すテストパターン圧縮装置中のテストパターン分割手段の他の 機能構成例を示すプロック図である。 図 1 0は図 9に示すテストパ夕一ン分割手段の処理手順を説明するためのフロ —チャートである。
図 1 1は図 1 0の処理手順におけるテストパターン、 しきい値、 入力データの エントロピ一、 及び分割結果のブロックの各例をそれそれ示す図である。
図 1 2はテストパターン圧縮装置の具体的機能の構成例を示すブロック図であ る ο
図 1 3はランレングス圧縮方法の処理手順を説明するためのフローチャートで あ 。
図 1 4は図 1 2に示すテストパターン圧縮装置と対応するテストパターン伸張 装置の機能構成の一例を示すブロック図である。
図 1 5はランレングス伸張方法の処理手順を説明するためのフローチャートで める。
図 1 6はテストパターン圧縮装置の他の具体的機能の構成例を示すブロック図 ある。
図 1 7は B W変換方法の処理手順を説明するためのフローチャートである。 図 1 8は図 1 6に示すテストパ夕一ン圧縮装置と対応するテストパターン伸張 装置の機能構成の一例を示すブロック図である。
図 1 9は BW逆変換方法の処理手順を説明するためのフローチャートである。 図 2 0はテストパターン圧縮装置のさらに他の具体的機能の構成例を示すプロ ヅク図である。
図 2 1は Huffman圧縮方法の処理手順を説明するためのフローチャートである c 図 2 2は図 2 1に示すテストパターン圧縮装置と対応するテストパ夕一ン伸張 装置の機能構成の一例を示すブロック図である。
図 2 3は Huffman伸張方法の処理手順を説明するためのフローチャートである c 図 2 4はテストパターン圧縮装置のさらに他の具体的機能の構成例を示すプロ ヅク図である。
図 2 5は L Z圧縮方法の処理手順を説明するためのフローチャートである。 図 2 6は図 2 4に示すテストパターン圧縮装置と対応するテストパターン伸張 装置の機能構成の一例を示すプロック図である。 図 2 7は L Z伸張方法の処理手順を説明するためのフローチャートである。 図 2 8はテストパターン圧縮装置のさらに他の具体的機能の構成例を示すプロ ック図である。
図 2 9は算術符号化圧縮方法の処理手順を説明するためのフローチャートであ る
図 3 0は図 2 8に示すテストパターン圧縮装置と対応するテストパターン伸張 装置の機能構成の一例を示すブロック図である。
図 3 1は算術符号化伸張方法の処理手順を説明するためのフローチャートであ る
図 3 2は図 2に示すテストパターン圧縮装置中のテストパターン分割手段のさ らに他の具体的機能の構成例を示すブロック図である。
図 3 3は図 3 2に示すテストパターン分割手段の処理手順を説明するためのフ 口—チヤ—トである。
図 3 4は図 2に示すテストパターン圧縮装置中のテストパターン分割手段のさ らに他の具体的機能の構成例を示すブロック図である。
図 3 5は図 3 4に示すテストパターン分割手段の処理手順を説明するためのフ 口一チャートである。
図 3 6は図 2に示すテストパターン圧縮装置中のテストパターン分割手段のさ らに他の具体的機能の構成例を示すプロック図である。
図 3 7は図 3 6に示すテストパターン分割手段の処理手順を説明するためのフ 口一チャートである。
図 3 8は図 2に示すテストパ夕一ン圧縮装置中のテストパターン分割手段のさ らに他の具体的機能の構成例を示すプロック図である。
図 3 9は図 3 8に示すテストパターン分割手段の処理手順を説明するためのフ ローチャートである。
図 4 0はテストパターン圧縮装置のさらに他の具体的機能の構成例を示すプロ ック図である。
図 4 1は図 4 0に示すテストパ夕一ン圧縮装置の処理手順を説明するためのフ 口—チャートである。 図 4 2は図 4 0に示すテストパターン圧縮装置と対応するテストパターン伸張 装置の機能構成の一例を示すブロック図である。
図 4 3は図 4 2に示すテストパターン伸張装置の処理手順を説明するためのフ 口—チヤ—トである。
図 4 4は図 4 0に示すテストパターン圧縮装置中のテストパターン分割手段の 具体的機能の構成例を示すブロック図である。
図 4 5は図 4 4に示すテストパターン分割手段の処理手順を説明するためのフ ローチヤ一トである。
図 4 6は図 4 0に示すテストパ夕一ン圧縮装置中のテストパターン分割手段の 他の具体的機能の構成例を示すブロック図である。
図 4 7は図 4 6に示すテストパターン分割手段の処理手順を説明するためのフ ローチャートである。
図 4 8はテストパ夕一ン圧縮装置のさらに他の具体的機能の構成例を示すプロ ック図である。
図 4 9は図 4 8に示すテストパターン圧縮装置の処理手順を説明するためのフ 口—チャートである。
図 5 0は図 4 8に示すテストパ夕一ン圧縮装置中の繰り返し B W変換手段の機 能構成の一例を示すプロック図である。
図 5 1は図 5 0に示す繰り返し B W変換手段の処理手順を説明するためのフロ —チャートである。
図 5 2は図 4 8に示すテストパ夕一ン圧縮装置中の B W変換手段の処理手順を 説明するためのフローチャートである。
図 5 3は B W変換で用いられる循環文字列の一例を示す図である。
図 5 4は B W変換で用いられる循環文字列のソート例を示す図である。
図 5 5は B W変換における出力データの一例を示す図である。
図 5 6はテストパターン伸張装置のさらに他の機能構成例を示すブロック図で あ o
図 5 7は図 5 6に示すテストパターン伸張装置の処理手順を説明するためのフ 口—チャートである。 図 5 8は図 5 6に示すテストパターン伸張装置中の繰り返し逆 B W変換手段の 機能構成例を示すブロック図である。
図 5 9は図 5 8に示す繰り返し逆 BW変換手段の処理手順を説明するためのフ 口一チャートである。
図 6 0は図 5 6に示すテストパターン伸張装置中の逆 B W変換手段の処理手順 を説明するためのフローチャートである。
図 6 1は逆 B W変換における文字列 Lと文字列 Fとの対応の一例を示す図であ ο
図 6 2は逆 B W変換における文字列 Sの復元例を示す図である。
図 6 3は図 4 8に示すテストパターン圧縮装置中の圧縮手法決定手段の機能構 成の一例を示すブロック図である。
図 6 4は図 6 3に示す圧縮手法決定手段の処理手順を説明するためのフローチ ャ一トである。
図 6 5はこの発明の第 2の実施例の 1入力 1出力のテストパターン圧縮装置の 機能構成の一例を示すブロック図である。
図 6 6はこの発明の第 2の実施例のテストパ夕一ン圧縮方法を説明するための フローチャートである。
図 6 7はこの発明の第 2の実施例の 1入力 1出力のテストパターン圧縮装置の 機能構成の変形例を示すプロック図である。
図 6 8はこの発明の第 2の実施例のテストパターン圧縮方法の変形例を説明す るためのフローチャートである。
図 6 9はこの発明の第 2の実施例の 1入力多出力テストパターン圧縮装置の機 能構成の一例を示すブロック図である。
図 7 0はこの発明の第 2の実施例のテストパターン圧縮方法を説明するための フローチャートである。
図 7 1はこの発明の第 2の実施例の 1入力 1出力のテストパターン伸張装置の 機能構成の一例を示すブロック図である。
図 7 2はこの発明の第 2の実施例のテストパターン伸張方法を説明するための フローチャートである。 図 7 3はこの発明の第 2の実施例の 1入力 1出力のテストパターン伸張装置の 機能構成の変形例を示すブロック図である。
図 7 4はこの発明の第 2の実施例のテストパターン伸張方法の変形例を説明す るためのフローチャートである。
図 7 5はこの発明の第 2の実施例の 1入力多出力のテストパターン伸張装置の 機能構成の一例を示すブロック図である。
図 7 6はこの発明の第 2の実施例のテストパターン伸張方法を説明するための フローチャートである。
図 7 7はこの発明の第 2の実施例の多入力 1出力のテストパターン伸張装置の 機能構成の一例を示すブロック図である。
図 7 8はこの発明の第 2の実施例のテストパターン伸張方法を説明するための フローチャートである。
図 7 9はこの発明の第 2の実施例の多入力 1出力のテストパターン伸張装置の 機能構成の変形例を示すブロック図である。
図 8 0はこの発明の第 2の実施例のテストパターン伸張方法の変形例を説明す るためのフローチャートである。
図 8 1は図 6 5、 図 6 7、 及び図 6 9に示すテストパターン圧縮装置中のテス トシ一ケンス圧縮手段の機能構成例を示すブロック図である。
図 8 2は図 8 1に示すテストシーケンス圧縮手段の処理手順を説明するための フローチャートである。
図 8 3は図 8 1に示すテストシーケンス圧縮手段中の繰り返し B W変換手段の 機能構成の一例示すブロック図である。
図 8 4は図 8 3に示す繰り返し B W変換手段の処理手順を説明するためのフロ 一チャートである。
図 8 5は図 8 1に示すテストシーケンス圧縮手段中のランレングス圧縮手段の 処理手順を説明するためのフローチャートである。
図 8 6は図 8 1に示すテストシーケンス圧縮手段中の B W変換手段の処理手順 を説明するためのフローチャートである。
図 8 7は B W変換で用レ、られる循環文字列の一例を示す図である。 図 8 8は BW変換で用いられる循環文字列のソート例を示す図である。
図 8 9は BW変換における出力データの一例を示す図である。
図 9 0は図 8 1に示すテストシーケンス圧縮手段中の L Z圧縮手段の処理手順 を説明するためのフローチャートである。
図 9 1は図 7 1、 図 7 3、 図 7 5、 及び図 7 7に示すテストパターン伸張装置 中のテストシーケンス伸張手段の機能構成例を示すブロック図である。
図 9 2は図 9 1に示すテストシーケンス伸張手段の処理手順を説明するための フローチャートである。
図 9 3は図 9 1に示すテストシーケンス伸張手段中の繰り返し逆 BW変換手段 の機能構成の一例を示すブロック図である。
図 9 4は図 9 3に示す繰り返し逆 BW変換手段の処理手順を説明するためのフ 口一チャートである。
図 9 5は図 9 1に示すテストシーケンス伸張手段中のランレングス伸張手段の 処理手順を説明するためのフローチャートである。
図 9 6は図 9 1に示すテストシーケンス伸張手段中の繰り返し逆 B W変換手段 の処理手順を説明するためのフローチャートである。
図 9 7は逆 B W変換における文字列 Lと文字列 Fとの対応の一例を示す図であ る o
図 9 8は逆 BW変換における文字列 Sの復元例を示す図である。
図 9 9は図 9 1示すテストシーケンス伸張手段中の L Z伸張手段の処理手順を 説明するためのフローチャートである。
図 1 0 0は図 8 1に示すテストシーケンス圧縮手段中の圧縮手法決定手段の機 能構成の一例を示すブロック図である。
図 1 0 1は図 1 0 0に示す圧縮手法決定手段の処理手順を説明するためのフロ —チャートである。
図 1 0 2はこの発明の第 2の実施例の BWTランレングス圧縮手段の機能構成 の一例を示すブロック図である。
図 1 0 3は図 1 0 2に示す BW Tランレングス圧縮手段の処理手順を説明する ためのフローチャートである。 図 1 0 4はこの発明の第 2の実施例の B W Tランレングス伸張手段の機能構成 の一例を示すプロック図である。
図 1 0 5は図 1 0 4に示す BWTランレングス伸張手段の処理手順を説明する ためのフローチャートである。
図 1 0 6はこの発明を適用した半導体集積回路を自動的にテストする自動テス トシステムの一構成を示すブロック図である。
図 1 0 7はこの発明を適用した半導体集積回路を自動的にテストする自動テス トシステムの他の構成を示すプロック図である。
図 1 0 8は図 1 0 6及び図 1 0 7に示す自動テストシステム中に用いられる測 定系の一構成を示すブロック図である。
図 1 0 9はこの発明を適用した半導体集積回路を自動的にテストする自動テス トシステムのさらに他の構成を示すプロック図である。
図 1 1 0はこの発明を適用した半導体集積回路を自動的にテス卜する自動テス トシステムのさらに他の構成を示すプロック図である。
図 1 1 1は図 1 0 9及び図 1 1 0に示す自動テストシステム中に用いられる測 定系の一構成を示すブロック図である。
図 1 1 2はこの発明を適用した半導体集積回路を自動的にテス卜する自動テス トシステムのさらに他の構成を示すブロヅク図である。
図 1 1 3はこの発明を適用した半導体集積回路を自動的にテス卜する自動テス トシステムのさらに他の構成を示すブロック図である。
図 1 1 4はこの発明によるテストパターン圧縮装置の圧縮率に対する効果を示 すグラフである。
図 1 1 5はこの発明によるテストパターン伸張装置の伸張速度に対する効果を 示すグラフである。
図 1 1 6はこの発明による BWTランレングス圧縮手段の圧縮率に対する効果 を示すグラフである。 日月》 施.する めの最良の形熊
以下、 この発明の実施例について添付図面を参照して詳細に説明する。 なお、 以下においては説明を簡明にするために、 試験するために I Cに印加するテスト パターンの圧縮とその伸張にこの発明を適用した事例について説明するが、 この 発明は I Cに印加するテストパ夕一ン以外の他のデ一夕パターンの圧縮及び伸張 にも適用できることは言うまでもない。
複雑な I Cを試験するためのテストパターンは、 通常、 I C内のある特定のモ ジュールを試験するために生成される。 従って、 テストパターンは、 その特定モ ジュールに対応する I Cのある一定のビンに対するテストパターンのみが頻繁に 遷移し、 他の大部分のピンに対するテストパ夕一ンは殆ど遷移しないという特徴 がある。
そこで、 この発明の第 1の面においては、 例えば、 テストパターンの遷移の回 数など、 入力テストパターンの構造や統計的性質に着目してテストパターンを関 連するプロヅクに分割し、 それそれのプロックに対して適切な圧縮方法を適用す ることにより、 効率のよい圧縮率を得ることができるようにしたものである。 図 1は I Cに印加されるテストパターンの一例を示す。 図 1において、 横方向 (左右方向) が I Cのビンの配列方向であり、 縦方向 (上下方向) がテストパ夕 —ンのシーケンス方向である。 即ち、 図 1の例では、 まず、 パターン 1が I Cの ビン 1からピン 6に印加され、 次に、 パターン 2、 パターン 3の順でテストパ夕 ーンが I Cに印加される。 また、 テストパターンは 1、 0、 Xの三つの記号で表 わされ、 1はハイ (高) レベルの信号、 0は口一 (低) レベルの信号を示し、 X はドントケア (d'not care) を示す。 即ち、 Xはハイレベル信号又はローレベル 信号のどちらでもよく、 I Cの試験に影響を与えない信号であることを示す。 ブロック分割にランレングス圧縮法を用いた場合には、 まず初めに、 圧縮後の データサイズを見積もることによって、 テストパターン遷移回数のしきい値を計 算する。 次に、 それそれのピンに対するテストパターンの遷移回路を計数する。 そして、 この実際の遷移回数をしきい値と比較することによって、 テス卜パター ンを、 その遷移回数がしきい値に対して小のプロヅクと大のブ口ックに分割して、 遷移回数が小のプロヅクにはランレングス圧縮法を適用し、 他のプロヅクにはそ れそれ他の適切な圧縮法を適用する。 これによつて、 効率のよい圧縮を行なうこ とができるようにしたものである。 ランレングス圧縮法を用いた遷移回数のしきい値 0maxの見積もり計算には許 容できる圧縮率の下限値ひを与え、 次式を満たす最大の 0maxを求める。
II log2 I A | || . M/a≥0max II log2 { ( I A I— 1 ) · M} ||
+ II log2 U 2 ) II ( 1 ) ここで、 Mは遷移回数を計算するテストパターンのシーケンスの長さ、 I A Iは テストパターンに出現する記号の集合の大きさである。
例えば、 ' 0, ローレベル (Low Level) 信号、 ' 1, ハイレベル (High Level) 信号、 ' Χ, ドントケア (Don't Care) の 3つの信号で構成された、 1 0 0ビン、 1 0 0 0 0シーケンスのテストパターンの場合には、 M = 1 0 0 0 0、 I A I = 3となる。 また、 記号 || x IIは X以上の整数であり、 かつ最小の整数で あることを意味する。 上記の方法で求められたしきい値と実際の遷移回数とを比 較することによって、 遷移回数の異なる複数のプロヅクを得ることができる。 また、 入力デ一夕のエントロピ一に着目した場合には、 まず初めに、 デ一夕中 に現れる記号の出現確率 Pi ( i = l、 · · ·、 N ) を計測し、 次式を用いて入力 デ一夕のェントロピー Hを計算する。
H = -∑i=iN Pi log2Pi ( 2 )
次に、 圧縮後の圧縮率を見積もることによって、 エントロピ一のしきい値を計 算する。 例えば、 しきい値の計算に Huffmanのアルゴリズムを用いる場合には、 エントロピ一のしきい値 Hmaxは許容できる最少の圧縮率ひを与え、 次式を満た す最大の Hmaxを求める。
Hmax≤ II log2 I A I 11 /ひ ( 3 )
このしきい値を実際のエントロピ一と比較することによって、 テストパ夕一ン を、 エントロピ一がしきい値に対して小のブロックと大のブロックに分割し、 ェ ントロピーが小のプロックには Huffinan圧縮法或いは算術符号化圧縮法を適用し、 他のブロックにはそれそれ他の適切な圧縮法を適用する。 これによつて、 効率の よい圧縮を得ることができるようにしたものである。
また、 この発明の第 2の面においては、 テストパ夕一ンを各ピンに対するテス トシーケンス毎に分割し、 パ夕一ンデ一夕の遷移の回数など、 入力テストパター ンデ一夕の構造や統計的性質に着目して、 それそれのテストシーケンスに対して 最適な圧縮方法を適用する。 これによつて、 効率のよい圧縮率を得ることができ るようにしたものである。
なお、 図 1に示すテストパターンにおいて、 テストパターンの横一列をテスト べクトルと呼び、 縦一列をあるビンに対するテストシーケンスと呼ぶ。
テストシーケンスに対して適用する最適な圧縮手法を決定するとき、 テストシ —ケンスをある指定された回数 n = Nだけ BW変換し、 0回から N回 BW変換さ れたデ一夕の遷移回数 0i ( i = 0、 1、 · · ·、 N) をそれぞれ計測する。 B W 変換については、 例えば Burrows M. and Wheeler D. "A Block-sorting Lossless, Data Compression Algorithm, SRC Research Report 124 Digital Systems Research Center, Palo Alto, CA, May, 1994に記載されている。
ここで遷移回数は、 データ列において、 隣り合う 2つのデータが 0から 1、 1 から Xなどと変化する回数を表す。 次に、 BW変換されたデ一夕をランレングス 圧縮方法により圧縮したときの圧縮率を、 データの遷移回数 0iから計算するこ とによって、 圧縮率の最大値 Rmaxと圧縮率が最大となるときの B W変換の適用 回数 mを取得する。
次に、 得られた圧縮率の最大値 Rmaxを経験的に設定した圧縮率のしきい値 Rth と比較し、 圧縮率の最大値がしきい値以上であればテストシ一ケンスに対して m 回 B W変換した後、 ランレングス圧縮手法を適用して圧縮する。 ここで、 B W変 換の適用回数 mが 0である場合には、 テストシーケンスに対して BW変換せず、 ランレングス圧縮手法のみを適用して圧縮を行なう。 圧縮率の最大値 Rmaxがし きい値 Rthより小さい場合には、 テストシーケンスに対して L Z圧縮方法のみを 適用して圧縮する。 このように、 テストシーケンスに対して最適な圧縮方法を適 用することによって、 効率のよい圧縮を行なうことができる。
また、 この発明においては、 テストパターンを各ピンのテストシーケンスに分 割するため、 テストシーケンス毎の圧縮が可能となり、 従って、 各ビンに対して 伸張装置を 1つ用いることによってリアルタイムでテストパターンを伸張するこ とができる。
デ一夕の遷移回数を用いて i回 BW変換したデ一夕をランレングス圧縮したと きの圧縮率 Riを計算するには、 遷移回数 及び BW変換の回数 iを用いて、 次 式から圧縮率 Riを求める。
Ri = log2 I A I · L/ Ci · (log2L)+^i · [log2 {( I A I - 1) · L)} ] +
log2(L- l)+log2 I A I〕 (4) ここで、 Lはテストシーケンスの長さ、 I A Iはテストパターンに出現する記号 の集合の大きさである。
例えば、 '0, 口一レベル (Low Level) 信号、 '1, ハイレベル (High Level) 信号、 'Χ, ドントケア (Don'tCare) の 3つの信号で構成された 100 00シーケンスのテストシーケンスの場合には、 L=10000、 | A | =3と なる。 また、 記号 [X] は X以上の最小の整数であることを意味する。
上記の方法で求められた圧縮率 Ri (i = 0、 1、 · · ·、 N) から最大の圧縮 率 Rmaxと圧縮率が最大となる BW変換の回数 mを取得し、 Rmaxとしきい値 Rth を比較することによって、 最適な圧縮手法を決定することができる。
以上のように各テストシーケンスに対し、 最適な圧縮手法で圧縮を行なうこと ができるため、 テストパターン全体を効率よく圧縮することができる。 従って、 この発明による圧縮方法を用いてテストパターンのデ一夕をより小さいデータに 圧縮することにより、 データの転送時間を短縮することができ、 その結果、 テス トパターンのダウンロード時間を短縮することが可能となる。
上記ブロック分割方法のテストパターンへの適用例について、 以下、 具体例を 示して詳細に説明する。
図 2はこの発明の第 1の実施例において使用されるテストパターン圧縮装置の 機能構成の一例を示すブロック図である。 このテストパターン圧縮装置 21は、 入力されたテストパターンのデ一夕の構造或いは統計的性質に応じてこのテスト パターンを複数のブロックに分割するテストパターン分割手段 22と、 分割され たデータを圧縮する複数のデ一夕圧縮手段 A 23、 B24、 C25、 · · ' とに よって構成されている。
次に、 このテストパターン圧縮装置 21を使用してテストパターンの圧縮を行 なう場合の動作を説明する。
図 3はこの発明の第 1の実施例によるテストパ夕一ン圧縮方法を説明するため のフローチャートである。 図 2のテストパターン圧縮装置 21中のテストパ夕一 ン分割手段 2 2は、 ステップ 3 1において各ピン毎のテストパ夕一ンをデ一夕の 構造或いは統計的性質に応じて複数のブロックの何れかに所属させることにより 分割する。
分割された各ブロックのデータパターンは、 ステップ 3 2において、 それそれ のプロヅクに対し、 最適な圧縮アルゴリズムをもつ複数のデータ圧縮手段 A 2 3、 B 2 4、 C 2 5、 · · ·にスィヅチ S 1を通じて送信される。 そして、 ステップ 3 3 a、 3 3 b、 3 3 cにおいて各デ一夕パターンがデータ圧縮手段によって圧 縮され、 最後に、 ステップ 3 4で各圧縮データがスイッチ S 2を通じて出力され この場合デ一夕圧縮手段 A 2 3の圧縮デ一夕の先頭にその圧縮法を示すフラグ 1を、 圧縮手段 A 2 3、 B 2 4の各圧縮データの先頭にそれそれその圧縮法を示 すフラグ 2、 3を付ける。 また、 各ピン対応のテストパターンが何れのピンに対 応するかを示す、 例えばビン番号をそれそれ付けておく。
図 4はこの発明の第 1の実施例において使用されるテストパターン伸張装置の 機能構成の一例を示すブロック図である。 このテストパターン伸張装置 4 1は、 伸張の対象となる圧縮デ一夕に対して圧縮手法の異なるデ一夕に分類する圧縮デ —夕分割手段 4 2と、 分類された圧縮データを情報損失なく、 元のテストパ夕一 ンに伸張する複数のデータ伸張手段 A 4 3、 B 4 4、 C 4 5、 · · 'とによって 構成されている。 ここで、 デ一夕伸張手段 4 3、 4 4、 4 5、 ■ · 'はそれそれ テストパターン圧縮装置 2 1内にある圧縮手段 2 3、 2 4、 2 5、 · · ·と 1対 1で対応している。
次に、 このテストパターン伸張装置 4 1を使用して圧縮データの伸張を行なう 場合の動作を説明する。 図 5はこの発明の第 1の実施例のテストパ夕一ン伸張方 法を説明するためのフローチャートである。
まず、 ステップ 5 1において、 圧縮デ一夕分割手段 4 2が伸張対象の圧縮デー 夕を圧縮方法の異なるデータに分割する。 この分割は例えば圧縮法を示すフラグ 1、 2、 3によって行う。 分割された圧縮データは、 ステップ 5 2においてそれ それ適切なデ一夕伸張手段 A 4 3、 B 4 4、 C 4 5、 · · 'にスィッチ S 3を通 じて送信される。 つまり、 フラグ 1の圧縮データはデ一夕伸張手段 4 3へ送られ、 フラグ 2、 3の圧縮デ一夕はデータ伸張手段 4 4、 4 5にそれそれ送られる。 送 信されたデ一夕は、 ステップ 5 3で各データ伸張手段によって情報損失なく、 元 のブロックに伸張される。 最後に、 ステップ 5 4において、 伸張された各ピン毎 のテストパターンがスィツチ S 4を通じて出力される。
図 6はこの発明の第 1の実施例において使用されるテストパターン分割手段 2 2の具体的機能構成の一例を示すブロック図である。 このテストパターン分割手 段 2 2は、 ブロック分割のための環境パラメ一夕を入力するパラメ一夕入力手段 6 2と、 入力された環境パラメ一夕を格納するパラメ一夕記憶手段 6 3と、 パラ メ一夕記憶手段 6 3に格納された璟境パラメ一夕を用いてテストパ夕一ンをブ口 ヅク分割するためのデ一夕遷移回数のしきい値を計算するしきい値計算手段 6 4 と、 入力されたテストパターンの遷移回数を計数する遷移回数計数手段 6 5と、 デ一夕遷移回数のしきい値と実際の遷移回数を比較する遷移回数比較手段 6 6と、 比較手段 6 6の比較結果に応じて入力テストパターンを複数のブロックに分割す るブロック分割手段 6 7とによって構成されている。
次に、 このテストパターン分割手段 2 2を使用してテストパターンのブロヅク 分割を行なう場合の動作を説明する。 図 7はこの発明の第 1の実施例のテストパ 夕一ン分割方法を説明するためのフローチャートである。 また、 図 8は、 このブ ロック分割方法をテストパターンに対して適用した例を示し、 同図 (a ) は以下 の説明で用いられる入力テストパターン例である。 ここで図 8 ( a ) に示すテス トパターンにおいて、 横方向 (図において左右方向) が集積回路のピンの方向で あり、 縦方向 (図において上下方向) がパターンのシーケンスの方向である。 まず、 パラメ一夕入力手段 6 2を用いてブロック分割のしきい値を計算するた めの環境パラメ一夕、 つまり、 遷移回数を計算するテストパターンのシーケンス の長さ M、 テストパターンに出現する記号の集合の大きさ I A I、 許容できる圧 縮率の下限値ひを入力する。 入力されたパラメ一夕は、 パラメ一夕記憶手段 6 3 に格納される。
次に、 ステップ 7 2において、 しきい値計算手段 6 4がパラメ一夕記憶手段 6 3に格納されたパラメ一夕を用いて入力テストパ夕一ンを複数のブロックに分割 するためのパターンの遷移回数のしきい値を計算する。 この計算には式 ( 1 ) が 用いられ、 図 8の例では、 ひ = 1とすると M = 6 , | A | = 3より、 同図 (b ) のようにしきい値 0maxは 0max = 2と求められる。
次に、 ステップ 7 3で、 遷移回数計数手段 6 5が入力されたテストパターンの 各ビンに対するテストパターンの遷移回数を計数する。 図 8の例では、 例えば、 ビン 1のパターン遷移は 0回であり、 ビン 2のパターンは 0から Xに 1回遷移す るというように、 同図 (c ) に示すように遷移回数は [ 0 1 3 2 0 5 ] と得 られる。 しきい値計算手段 6 4で計算されたしきい値 0maxと遷移回数計数手段 6 5で得られた遷移回数 0は遷移回数比較手段 6 6に送られ、 ステップ 7 4にお いて比較される。 この比較の結果はブロック分割手段 6 7に送られる。
次に、 ステップ 7 5、 7 6において、 ブロック分割手段 6 7が各ビンのテスト パターンデ一夕をそれそれの遷移回数に応じて複数のブロックに分割する、 つま り、 複数ブロックの何れかに分配所属させる。 図 8の例では、 同図 (d ) のよう に、 しきい値 0maxに対して遷移回数が 0max以下のブロックと 0maxより大きい ブロックに分割される。 最後に、 ブロック分割手段 6 7は、 ステップ 7 7で分割
(分配) された各ブロックのデータ (パターン) を複数の圧縮手段の対応するも のに送る。
図 9はこの発明の第 1の実施例において使用されるテストパ夕一ン分割手段 2 2の他の具体的機能構成の一例を示すブロック図である。 このテストパターン分 割手段 2 2は、 ブロック分割するための環境パラメ一夕を入力するパラメ一夕入 力手段 9 2と、 入力された環境パラメ一夕を格納するパラメ一夕記憶手段 9 3と、 このパラメ一夕記憶手段 9 3に格納された環境パラメ一夕を用いて、 テストパ夕 ーンを分割するためのエントロピ一のしきい値を計算するしきい値計算手段 9 4 と、 入力デ一夕における記号の出現確率を計測し、 その記号の出現確率からデー 夕のエントロピ一を計算するエントロピ一計測手段 9 5と、 エントロピ一のしき い値と実際のデ一夕のエントロピ一とを比較するェントロビー比較手段 9 6と、 この比較手段 9 6の比較結果に応じて入力テストパターンを分割するプロック分 割手段 9 7とによって構成されている。
次に、 このテストパ夕一ン分割手段 2 2を使用してテストパターンのプロヅク 分割を行なう場合の動作を説明する。 図 1 0はこの発明の第 1の実施例のテスト パターン分割方法を説明するためのフローチャートである。 また、 図 11は、 こ のブロック分割方法をテストパターンに対して適用した例を示し、 同図 (a) は 以下の説明で用いられる入力テストパターン例である。 ここで図 11 (a) のテ ストパターンにおいて、 横方向 (図において左右方向) が I Cのピンの方向であ り、 縦方向 (図において上下方向) がパターンのシーケンスの方向である。 まず、 ステップ 101において、 パラメ一夕入力手段 92を用いてブロック分 割のしきい値を計算するためのパラメ一夕を入力し、 パラメ一夕記憶手段 93に 格納する。 次に、 ステップ 102において、 しきい値計算手段 94が入力された テストパターンを複数のブロックに分割するためのエントロピーのしきい値を計 算する。 しきい値の計算には式 (3) が用いられ、 図 11の例では、 ひ =2とす ると、 I A I =3より、 同図 (b) のようにしきい値 Hmaxは Hmax= 1と求め られる。
次に、 ステップ 103で、 入力されたテストパターンにおける記号の出現確率 を計測する。 また、 ステップ 104においては、 ステップ 103で得られた確率 から式 (2) を用いて入力テストパターンのエントロピ一を計算する。 以上のス テヅプ 103、 104はエントロピー計数手段 95において行なわれる。 図 11 の例では、 例えば、 ビン 1の記号の出現確率 pは p (0) =1、 p (1) =0、 P (X) =0であるため、 エントロピ一は式 (2) より 0と求められる。 また、 ピン 2については、 p (0) =1/3、 p (1) =0、 p (X) =2/3であり、 エントロピ一は 0. 92と求められる。
同様に各ピンに対するエントロピー Hを計算すると、 図 11 (c) のように H = [0.0 0.92 1.46 0.92 0.0 1.46] と求めることができる。 しきい値計算手 段 94で計算されたしきい値 Hmaxとエントロピ一計数手段 95で得られたェン トロピ一 Hはエントロピ一比較手段 96に送られ、 ステップ 105において比較 される。
比較の結果はブロック分割手段 97に送信される。 次に、 ステップ 106、 1 07において、 ブロック分割手段 97が各ピンのテストパ夕一ンデ一夕をそれそ れのエントロピーに応じて複数のブロックに分割する。 図 11の例では、 同図
(d) のように、 しきい値 Hmaxに対してエントロピーが Hmax以下のブロック と H maxより大きいブロックとに分割される。 最後にブロック分割手段 9 7は、 ステップ 1 0 8で分割された各ブロックのデータを複数の圧縮手段の対応するも のに送信する。
次に、 この発明によるテストパターン圧縮及び伸張装置、 並びにテストパ夕一 ン分割手段 2 2の変形例について説明する。
図 1 2はこの発明の第 1の実施例において、 図 2に示すテストパターン圧縮装 置中のデータ圧縮手段の 1つがランレングス圧縮手段である場合のテストパター ン圧縮装置 2 1の機能構成の一例を示すブロック図である。 このテストパターン 圧縮装置 2 1は、 入力されたテストパターンデータの遷移回数を計数し、 デ一夕 の遷移回数に応じて入力デ一夕のブロック分割を行なうテストパターン分割手段 1 2 2と、 遷移回数が小である、 つまり、 しきい値以下のブロックに対してラン レングス圧縮法を適用するランレングス圧縮手段 1 2 3と、 他のブロックに対し てその他の手法、 例えば L Z圧縮法、 Huffman圧縮法などでデータを圧縮する少 なくとも一つのデータ圧縮手段 1 2 4、 1 2 5、 · · ·とによって構成されてい る o
各圧縮手段 1 2 3、 1 2 4、 · · 'でそれぞれ圧縮されたデータの最初にその 圧縮法を示すフラグが付けられる。
次に、 ランレングス圧縮手段 1 2 3を用いてで一たの圧縮を行なう場合の動作 について説明する。 図 1 3はランレングス圧縮方法の処理手順を説明するための フローチャートであり、 変形例 1のランレングス圧縮方法を示している。
まず、 ステップ 1 3 1において、 ランレングス符号を生成するための初期値と カウン夕の設定を行なう。 次に、 ステップ 1 3 2で入力データから 1文字取得し、 ステップ 1 3 3で文字数をカウントする。 ステップ 1 3 4では取得した文字と初 期値とを比較し、 文字が初期値と等しければ、 ステップ 1 3 2、 1 3 3を繰り返 し、 文字が初期値と異なっていれば、 ステツテプ 1 3 5においてこれまでのカウ ント数を初期値が連続した長さとして符号化する。 ステップ 1 3 6では入力デ一 夕の残りを確認し、 入力デ一夕が残っていれば、 これまでのステップを繰り返し、 入力デ一夕が残っていなければ、 ステップ 1 3 7で圧縮デ一夕を出力し、 処理を 終了する。 図 1 4はこの発明の第 1の実施例において、 データ伸張手段の一つがランレン グス伸張手段である場合のテストパターン伸張装置 4 1の構成の一例を示すプロ ック図である。 このテストパターン伸張装置 4 1は、 伸張の対象となる圧縮デ一 夕を、 ランレングス圧縮法で圧縮されたデータ及びその他複数の圧縮法で圧縮さ れたデ一夕とに、 それそれ圧縮法を示すフラグにより分割する圧縮データ分割手 段 1 4 2と、 それそれ分割された圧縮データを情報損失なく、 元のテストパ夕一 ンに伸張するランレングス伸張手段 1 4 3と、 少なくとも一つの他の手法、 例え ば L Z伸張法、 Huffman伸張法などのデ一夕伸張手段 1 4 4、 1 4 5、 · · ·と によって構成されている。
次に、 ランレングス伸張手段 1 4 3を用いて伸張を行なう場合の動作について 説明する。 図 1 5はランレングス伸張方法の処理手順を説明するためのフローチ ャ一卜であり、 この発明の変形例 1のランレングス伸張方法を示している。 まず、 ステップ 1 5 1において圧縮デ一夕を 1つ取得し、 ステップ 1 5 2にお いて圧縮デ一夕から初期値と文字の連続回数を取得する。 次に、 ステップ 1 5 3 において初期値を連続回数だけコピーする。 ステップ 1 5 4において圧縮デ一夕 が残っているか否かを確認し、 残っていればステップ 1 5 1、 1 5 2、 1 5 3を 繰り返す。 圧縮デ一夕が残っていなれけば、 ステヅプ 1 5 5で伸張されたデータ を出力し、 処理を終了する。
図 1 6はこの発明の第 1の実施例において、 デ一夕圧縮手段の一つがランレン グス圧縮手段であり、 ランレングス圧縮手段の前段に BW変換手段を持つ場合の テストパターン圧縮装置 2 1の構成の一例を示すブロック図である。 このテスト パターン圧縮装置 2 1は、 入力されたテストパターンデータの構造或いは統計的 な性質に応じて入力デ一夕のブロック分割を行なうテストパターン分割手段 1 6 2と、 デ一夕の周期性が大である、 つまり、 データの遷移回数がしきい値より大 であり、 かつデ一夕のェントロピーがしきい値以下であるプロヅクに対して B W 変換を行なう BW変換手段 1 6 3と、 BW変換されたデ一夕に対してランレング ス圧縮法を適用するランレングス圧縮手段 1 6 4と、 他のブロックに対して他の 手法でデ一夕を圧縮する少なくとも一つのデータ圧縮手段 1 6 5、 1 6 6とによ つて構成されている。 次に、 BW変換手段 1 6 3を用いて変換を行なう場合の動作について説明する。 図 1 7は BW変換方法の処理手順を説明するためのフローチャートであり、 この 発明の第 1の実施例の変形例 2中の B W変換方法を示している。
まず、 ステップ 1 7 1において、 n文字の文字列 Sを取得する。 次に、 ステヅ プ 1 7 2において、 取得した文字列 Sの n個の循環文字列 (サイクリックにシフ トした文字列) を生成し、 ステップ 1 7 3においてそれらの循環文字列をソート (分類) して行列 Mを作成する。 ステップ 1 7 4、 1 7 5においては、 作成され た行列 Mから、 行列 Mの最後列から得られる文字列 Lと、 入力文字列 Sに等しい 行の番号 Iを取得する。 最後に、 ステップ 1 7 6で入力データの残りを確認し、 入力デ一夕が残っていれば、 これまでのステップ 1 7 1、 1 7 2、 1 7 3、 1 7 4、 1 7 5を繰り返し、 入力デ一夕がなければ、 ステップ 1 7 7で変換されたデ 一夕を出力し、 処理を終了する。
図 1 8はこの発明の第 1の実施例において、 デ一夕伸張手段の一つがランレン グス伸張手段であり、 ランレングス圧縮手段の後段に B W変換手段をもつ場合の テストパターン伸張装置の構成の一例を示すプロック図である。 このテストパ夕 ーン伸張装置 4 1は、 伸張の対象となる圧縮デ一夕を、 BW変換の後にランレン グス圧縮法で圧縮されたデ一夕、 及びその他複数の圧縮法で圧縮されたデータと にそれそれ分割する圧縮データ分割手段 1 8 2と、 それそれ分割された圧縮デ一 夕を情報損失なく、 元のテス卜パターンに伸張するためのランレングス伸張手段 1 8 3と、 ランレングス伸張手段で伸張されたデータに対し BW逆変換を行なう BW逆変換手段 1 8 4と、 その他のデータに対し、 他の手法で伸張を行なう少な くとも 1つのデ一夕伸張手段 1 8 5、 1 8 6とによって構成されている。
次に、 BW逆変換手段 1 8 4を用いて逆変換を行なう場合の動作について説明 する。 図 1 9は BW逆変換方法の処理手順を説明するためのフローチャートであ り、 この発明の第 1の実施例の変形例 2の B W逆変換方法を示している。
まず、 ステップ 1 9 1において、 n文字の文字列 Lと番号 Iを取得する。 次に、 ステップ 1 9 2において、 取得した文字列 Lの文字をソートし、 文字列 Fを生成 する。 ステップ 1 9 3においては、 文字列 Lと Fの各文字の対応を示す行列 Tを 作成する。 そして、 ステップ 1 9 4において、 文字列 L、 番号 I、 行列 Tから元 の文字列 Sを復元する。 最後に、 ステップ 1 9 5でデータの残りを確認し、 デ一 夕が残っていれば、 これまでのステップ 1 9 1、 1 9 2、 1 9 3、 1 9 4を繰り 返し、 入力デ一夕がなければ、 ステップ 1 9 6で逆変換されたデ一夕を出力し、 処理を終了する。
図 2 0はこの発明の第 1の実施例において、 デ一夕圧縮手段の 1つが Huffman 圧縮手段である場合のテストパターン圧縮装置 2 1の構成の一例を示すブロック 図である。 このテストパターン圧縮装置 2 1は、 入力されたテストパターンデー 夕の統計的な性質に応じて入力データのブロック分割を行なうテストパターン分 割手段 2 0 2と、 エントロピーが小、 つまり、 しきい値以下であるブロックに対 して Huffman圧縮法を適用する Huffman圧縮手段 2 0 3と、 他のブロックに対し てデータを他の手法、 例えば L Z圧縮法、 算術符号化圧縮法などで圧縮する少な くとも 1つのデ一夕圧縮手段 2 0 4、 2 0 5とによって構成されている。
次に、 Huffman圧縮手段 2 0 3を用いて圧縮を行なう場合の動作について説明 する。 図 2 1は Huffman圧縮方法の処理手順を説明するためのフローチャートで あり、 この発明の第 1の実施例の変形例 3の Huffman圧縮方法を示している。 まず、 ステップ 2 1 1において、 入力データに出現する文字の出現確率を計測 する。 次に、 ステップ 2 1 2において取得した出現確率から Huffman符号を作成 するための 2進木 (binary tree) を作成し、 ステップ 2 1 3において Huffmanの 2進木に基づいてそれそれの文字に符号を割り当てる。 その後、 ステップ 2 1 4 において入力デ一夕から 1文字取得し、 ステップ 2 1 5において取得した文字を 割り当てられた符号に変換する。 最後に、 ステップ 2 1 6で入力デ一夕の残りを 確認し、 入力デ一夕が残っていれば、 ステヅプ 2 1 4、 2 1 5を繰り返し、 入力 デ一夕がなければ、 ステップ 2 1 7で圧縮データを出力し、 処理を終了する。 図 2 2はこの発明の第 1の実施例において、 デ一夕伸張手段の一つが Huffman 伸張手段である場合のテストパ夕一ン伸張装置 4 1の構成の一例を示すブロック 図である。 このテストパターン伸張装置 4 1は、 伸張の対象となる圧縮データを、 Huffman圧縮法で圧縮されたデータ、 及びその他複数の圧縮法で圧縮されたデー 夕とに分割する圧縮データ分割手段 2 2 2と、 それそれ分割された圧縮データを 情報損失なく、 元のテストパターンに伸張する Huffman伸張手段 2 2 3と、 少な くとも 1つのデ一夕伸張手段 2 2 4、 2 2 5とによって構成されている。
次に、 Huffman伸張手段 2 2 3を用いて伸張を行なう場合の動作について説明 する。 図 2 3は Huffman伸張方法の処理手順を説明するためのフローチャートで あり、 この発明の第 1の実施例の変形例 3の Huffman伸張方法を示している。 まず、 ステップ 2 3 1において、 圧縮において用いた 2進木を圧縮データから 取得する。 2進符号から元の文字を得るには Huffmanの 2進木をたどる必要があ るため、 ステップ 2 3 2において 2進木の根のノードに移動する。 次に、 ステツ プ 2 3 3において圧縮データから 2進符号を 1つ取得し、 ステップ 2 3 4におい て取得した 2進符号に基づいて Huffmanの 2進木をたどる。 そして、 ステップ 2 3 5で現在のノードが 2進木の葉のノードであるか否かを調べ、 葉のノードでな ければ、 葉のノードに到達するまでステップ 2 3 3、 2 3 4を繰り返し、 葉のノ —ドであれば、 ステヅプ 2 3 6において葉のノードに割り当てられた文字を出力 する。 最後に、 ステップ 2 3 7で 2進符号の残りを確認し、 2進符号が残ってい れば、 これまでのステップ 2 3 1、 2 3 2、 2 3 3、 2 3 4、 2 3 5、 2 3 6を 繰り返し、 入力デ一夕がなければ、 ステップ 2 3 8で伸張されたデ一夕を出力し、 処理を終了する。
図 2 4はこの発明の第 1の実施例において、 デ一夕圧縮手段の 1つが L Z圧縮 手段である場合のテストパターン圧縮装置 2 1の構成の一例を示すブロック図で ある。 このテストパターン圧縮装置 2 1は、 入力されたテストパターンデ一夕の 統計的な性質に応じて入力デ一夕のブロック分割を行なうテストパターン分割手 段 2 4 2と、 エントロピーが小、 つまり、 しきい値以下であるブロックに対して L Z圧縮法を適用する L Z圧縮手段 2 4 3と、 他のブロックに対してデータを他 の手法、 例えば Huffman圧縮法、 算術符号化圧縮法などで圧縮する少なくとも 1 つのデ一夕圧縮手段 2 4 4、 2 4 5とによって構成されている。
次に、 L Z圧縮手段 2 4 3を用いて圧縮を行なう場合の動作について説明する。 図 2 5は L Z圧縮方法の処理手順を説明するためのフローチャートであり、 この 発明の第 1の実施例の変形例 4の L Z圧縮方法を示している。
まず、 ステップ 2 5 1において、 圧縮に用いられる辞書の初期化を行なう。 次 に、 ステップ 2 5 2において入力デ一夕を取得し、 ステップ 2 5 3において取得 した文字列と辞書のマッチングを行なう。 ステップ 2 5 4では、 他により長くマ ヅチングする文字列があるか否かを確認し、 その可能性があればステップ 2 5 3 のマッチングを繰り返す。 他により長くマッチングする文字列がなければ、 ステ ップ 2 5 5においてマッチした文字列とマッチしなかった最初の文字を符号ィ匕し、 ステップ 2 5 6においてこの新しい文字列を辞書に登録する。 最後に、 ステップ 2 5 7で入力デ一夕の残りを確認し、 入力デ一夕が残っていれば、 ステップ 2 5 2、 2 5 3、 2 5 4、 2 5 5、 2 5 6を繰り返し、 入力デ一夕がなければ、 ステ ップ 2 5 8で圧縮データを出力し、 処理を終了する。
図 2 6はこの発明の第 1の実施例において、 デ一夕伸張手段の 1つが L Z伸張 手段である場合のテストパターン伸張装置 4 1の構成の一例を示すブロック図で ある。 このテストパターン伸張装置 4 1は、 伸張の対象となる圧縮デ一夕を、 L Z圧縮法で圧縮されたデータ、 及びその他複数の圧縮法で圧縮されたデータとに 分割する圧縮データ分割手段 2 6 2と、 それそれ分割された圧縮データを情報損 失なく、 元のテストパターンに伸張する L Z伸張手段 2 6 3と、 少なくとも 1つ の他の手法のデータ伸張手段 2 6 4、 2 6 5とによって構成されている。
次に、 L Z伸張手段 2 6 3を用いて伸張を行なう場合の動作について説明する。 図 2 7は L Z伸張方法の処理手順を説明するためのフローチャートであり、 この 発明の第 1の実施例の変形例 4の L Z伸張方法を示している。
まず、 ステップ 2 7 1において、 伸張に用いられる辞書の初期化を行なう。 次 に、 ステップ 2 7 2において入力圧縮デ一夕から符号を 1つ取得し、 ステップ 2 7 3において取得した符号で辞書の検索を行なう。 さらに、 ステップ 2 7 4で符 号を文字列に変換し、 ステップ 2 7 5において新しく生成された文字列を辞書に 登録する。 最後に、 ステップ 2 7 6で圧縮されたデ一夕の残りを確認し、 圧縮デ 一夕が残っていれば、 ステップ 2 7 2、 2 7 3、 2 7 4、 2 7 5を繰り返し、 圧 縮デ一夕がなければ、 ステップ 2 7 7で伸張されたデ一夕を出力し、 処理を終了 する。
図 2 8はこの発明の第 1の実施例において、 デ一夕圧縮手段の一つが算術符号 化圧縮手段である場合のテストパターン圧縮装置 2 1の構成の一例を示すブロッ ク図である。 このテストパターン圧縮装置 2 1は、 入力されたテストパターンデ 一夕の統計的な性質に応じて入力デ一夕のブロック分割を行なうテストパターン 分割手段 2 8 2と、 エントロピ一が小である、 つまり、 しきい値以下であるプロ ックに対して算術符号化を適用する算術符号化圧縮手段 2 8 3と、 他のブロック に対してデータを他の手法、 例えば L Z圧縮法、 Huffman圧縮法などで圧縮する 少なくとも 1つのデータ圧縮手段 2 8 4、 2 8 5とによって構成されている。 次に、 算術符号化圧縮手段 2 8 3を用いて圧縮を行なう場合の動作について説 明する。 図 2 9は算術符号化圧縮方法の処理手順を説明するためのフローチヤ一 トであり、 この発明の第 1の実施例の変形例 5の算術符号化圧縮方法を示してい る
まず、 ステヅプ 2 9 1において、 入力デ一夕中のそれそれの文字の出現確率を 計測し、 ステップ 2 9 2においてそれそれの文字に 0から 1までの数直線上の区 間を割り当てる。 次に、 ステップ 2 9 3において入力データから 1文字取得し、 ステップ 2 9 4において取得した文字を数直線上の区間に変換する。 最後に、 ス テヅプ 2 9 5で入力データの残りを確認し、 入力デ一夕が残っていれば、 ステツ プ 2 9 3、 2 9 4を繰り返して数直線上の区間をさらに狭めていき、 入力デ一夕 がなければ、 ステップ 2 9 6でこれまでに得られた区間の下限値を取得し、 ステ ヅプ 2 9 7において圧縮デ一夕を出力し、 処理を終了する。
図 3 0はこの発明の第 1の実施例において、 データ伸張手段の一つが算術符号 化伸張手段である場合のテストパターン伸張装置 4 1の構成の一例を示すブロッ ク図である。 このテストパターン伸張装置 4 1は、 伸張の対象となる圧縮デ一夕 を、 算術符号化圧縮法で圧縮されたデータ、 及びその他複数の圧縮法で圧縮され たデ一夕とに分割する圧縮データ分割手段 3 0 2と、 それそれ分割された圧縮デ 一夕を情報損失なく、 元のテストパターンに伸張する算術符号化伸張手段 3 0 3 と、 少なくとも 1つの他の手法のデ一夕伸張手段 3 0 4、 3 0 5とによって構成 されている。
次に、 算術符号化伸張手段 3 0 3を用いて伸張を行なう場合の動作について説 明する。 図 3 1は算術符号化伸張方法の処理手順を説明するためのフローチヤ一 トであり、 この発明の第 1の実施例の変形例 5の算術符号化伸張方法を示してい まず、 ステップ 3 1 1において、 圧縮デ一夕からそれそれの文字の出現確率につ いての情報を取得し、 圧縮の場合とまったく同様に、 それそれの文字への数直線 上の区間を割り当てる。 次に、 ステップ 3 1 2において圧縮データから実数値符 号を取得し、 ステップ 3 1 3において実数値が含まれる区間に割り当てられた文 字を出力する。 そして、 ステップ 3 1 4、 3 1 5において、 実数値から区間の下 限値を引き、 さらに、 その実数値を区間の幅で割る。 最後に、 ステップ 3 1 6で 実数値が 0に等しいか否かを確認し、 実数値が 0でなければ、 実数値が 0になる までステヅプ 3 1 3、 3 1 4、 3 1 5を繰り返す。 実数値が 0になったならば、 ステップ 3 1 7において伸張されたデ一夕を出力し、 処理を終了する。
図 3 2はこの発明の第 1の実施例において使用されるテストパターン分割手段
2 2の内部構成の一例を示すブロック図である。 このテストパターン分割手段 2 2は、 あらかじめ決められたしきい値を格納するしきい値記憶手段 3 2 2と、 入 力されたデータの遷移回数を計数する遷移回数計数手段 3 2 3と、 しきい値と実 際のデ一夕の遷移回数とを比較する遷移回数比較手段 3 2 4と、 比較の結果に応 じて複数のブロックに分割するブロック分割手段 3 2 5とによって構成されてい ο
次に、 このテストパターン分割手段 2 2を使用してテストパ夕一ンのブ口ック 分割を行なう場合の動作について説明する。 図 3 3は図 3 2に示すテストパ夕一 ン分割手段 2 2の処理手順を説明するためのフローチャートであり、 この発明の 第 1の実施例のテストパターン分割方法を示している。
まず、 ステップ 3 3 1において、 遷移回数計数手段 3 2 3が入力されたテスト パターンの各ピンに対するテストパターンの遷移回数を計数する。 しきい値記憶 手段 3 2 2に格納されているしきい値と遷移回数計数手段 3 2 5で得られた遷移 回数が遷移回数比較手段 3 2 4に送られ、 ステップ 3 3 2において比較される。 比較の結果はプロック分割手段 3 2 5に送信される。 次に、 ステップ 3 3 3、 3
3 4において、 ブロック分割手段 3 2 5がテストパターンデータをそれそれの遷 移回数に応じて複数のブロックに分割する。 最後に、 ブロック分割手段 3 2 5は、 ステップ 3 3 5で分割された各ブロックのデ一夕を複数の圧縮手段の対応するも のに送信する。 図 3 4はこの発明の第 1の実施例において使用されるテストパターン分割手段
2 2の内部構成の他の一例を示すブロック図である。 このテストパターン分割手 段 2 2は、 あらかじめ決められたしきい値を格納しているしきい値記憶手段 3 4
2と、 入力デ一夕における記号の出現確率を計測し、 記号の出現確率からデータ のエントロピ一を計算するエントロピ一計測手段 3 4 3と、 しきい値と実際のデ —夕のエントロピ一とを比較するエントロピ一比較手段 3 4 4と、 比較の結果に 応じて複数のプロヅクに分割するブロック分割手段 3 4 5とによって構成されて いる。
次に、 このテストパターン分割手段 2 2を使用してテストパターンのプロック 分割を行なう場合の動作について説明する。 図 3 5は図 3 4に示すテストパター ン分割手段 2 2の処理手順を説明するためのフローチャートであり、 この発明の 第 1の実施例のテストパターン分割方法を示している。
まず、 ステップ 3 5 1において、 入力されたテストパターンにおける記号の出 現確率を計測する。 また、 ステップ 3 5 2において、 ステップ 3 5 1で得られた 確率から入力デ一夕のエントロピ一を計算する。 以上のステップ 3 5 1、 3 5 2 はェントロピ一計測手段 3 4 3において行なわれる。
しきい値記憶手段 3 4 2に格納されているしきい値とェントロピー計測手段 3 4 3で得られたエントロピ一がェントロピー比較手段 3 4 4に送られ、 ステップ
3 5 3において比較される。 比較の結果はブロック分割手段 3 4 5に送られる。 次に、 ステップ 3 5 4、 3 5 5において、 ブロック分割手段 3 4 5がテストパ夕 —ンデ一夕をそれそれのエントロピ一に応じて複数のブロックに分割する。 最後 に、 プロヅク分割手段 3 4 5は、 ステップ 3 5 6で分割ざれた各プロヅクのデ一 夕を複数の圧縮手段の対応するものに送信する。
図 3 6はこの発明の第 1の実施例において使用されるテストパターン分割手段
2 2の内部構成の他の一例を示すブロック図である。 このテストパターン分割手 段 2 2は、 ブロック分割のためのデータ遷移回数のしきい値を計算するしきい値 計算手段 3 6 2と、 しきい値計算手段 3 6 2で計算されたしきい値を用いて圧縮 率を見積もり、 圧縮率が最大となるようにしきい値の最適ィ匕を行なう最適化手段
3 6 3と、 デ一夕の遷移回数を計数する遷移回数計数手段 3 6 4と、 最適化され たしきい値と実際のデ一夕の遷移回数とを比較する遷移回数比較手段 3 6 5と、 比較の結果に応じて複数のブロックに分割するブロック分割手段 3 6 6とによつ て構成されている。
次に、 このテストパターン分割手段 2 2を使用してテストパターンのブロック 分割を行なう場合の動作について説明する。 図 3 7は図 3 6に示すテストパター ン分割手段 2 2の処理手順を説明するためのフローチャートであり、 この発明の 第 1の実施例のテストパターン分割方法を示している。
まず、 ステップ 3 7 1において、 起り得る可能性のあるケースをすベて列挙す る。 次に、 ステップ 3 7 2において、 しきい値計算手段 3 6 2が、 ステップ 3 7 1で列挙したケースのうちのひとつを選択し、 入力テストパ夕一ンを複数のプロ ックに分割するためのパターンの遷移回数のしきい値を計算する。 次に、 ステツ プ 3 7 3において、 ブロック分割最適化手段 3 6 3がステップ 3 7 2で得られた しきい値を用いてブロック分割及び圧縮を行ない、 圧縮率の計算を行なう。 次に、 ステップ 3 7 4において圧縮率を以前の結果と比較し、 圧縮率が高けれ ば、 ステヅプ 3 7 5においてしきい値を新しい値に変更し、 圧縮率が低ければ、 次のステップ 3 7 6に進む。 ステップ 3 7 6では、 検証していない他のケースが 存在するか否かを確認し、 他のケースがあれば、 ステップ 3 7 2、 3 7 3、 3 7 4 , 3 7 5を繰り返す。 他に検証すべきケースがなければ、 ステップ 3 7 7へ移 る。 ステップ 3 7 7では、 遷移回数計数手段 3 6 4が入力されたテストパターン の各ピンに対するテストパターンの遷移回数を計数する。 最適化されたしきい値 と遷移回数計数手段 3 6 4で得られた遷移回数は遷移回数比較手段 3 6 5に送ら れ、 ステップ 3 7 8において比較される。 比較の結果はブロック分割手段 3 6 6 に送信される。
次に、 ステップ 3 7 9、 3 7 1 0において、 ブロック分割手段 3 6 6がテスト パターンデ一夕をそれそれの遷移回数に応じて複数のブロックに分割する。 最後 に、 ブロック分割手段 3 6 6は、 ステップ 3 7 1 1で分割された各ブロックのデ 一夕を複数の圧縮手段の対応するものに送信する。
図 3 8はこの発明の第 1の実施例において使用されるテストパ夕一ン分割手段 2 2の内部構成のさらに他の例を示すブロック図である。 このテストパ夕一ン分 割手段 2 2は、 ブロック分割のためのエントロピ一のしきい値を計算するしきい 値計算手段 3 8 2と、 しきい値計算手段 3 8 2で計算されたしきい値を用いて圧 縮率を見積もり、 圧縮率が最大となるようにしきい値の最適化を行なう最適化手 段 3 8 3と、 入力デ一夕における記号の出現確率を計測し、 その記号の出現確率 からデ一夕のエントロピーを計算するエントロピ一計測手段 3 8 4と、 最適化さ れたしきい値と実際のデータのェント口ピーとを比較するェント口ピー比較手段 3 8 5と、 比較の結果に応じて複数のブロックに分割するブロック分割手段 3 8 6とによって構成されている。
次に、 このテストパ夕一ン分割手段 2 2を使用してテストパターンのブロヅク 分割を行なう場合の動作について説明する。 図 3 9は図 3 8に示すテストパター ン分割手段の処理手順を説明するためのフローチャートであり、 この発明の第 1 の実施例のテストパターン分割方法を示している。
まず、 ステップ 3 9 1において、 生じ得る可能性のあるケースをすベて列挙す る。 次に、 ステップ 3 9 2において、 しきい値計算手段 3 8 2が、 ステップ 3 9 1で列挙したケースのうちの 1つを選択し、 入力テストパ夕一ンを複数のブロッ クに分割するためのエントロピ一のしきい値を計算する。 次に、 ステップ 3 9 3 において、 ブロック分割最適化手段 3 8 3がステップ 3 9 2で得られたしきい値 を用いてブロック分割及び圧縮を行ない、 圧縮率の計算を行なう。 次に、 ステツ プ 3 9 4において圧縮率を以前の結果と比較し、 圧縮率が高ければ、 ステップ 3 9 5においてしきい値を新しい値に変更し、 圧縮率が低ければ、 次のステップ 3 9 6に進む。
ステップ 3 9 6では、 検証していない他のケースが存在するか否かを確認し、 他のケースが存在すれば、 ステップ 3 9 2、 3 9 3、 3 9 4、 3 9 5を繰り返す。 他に検証すべきケースがなければ、 ステップ 3 9 7へ移る。 ステップ 3 9 7では、 入力されたテストパターンにおける記号の出現確率を計測する。 また、 ステップ 3 9 8においては、 ステップ 3 9 7で得られた確率から入力デ一夕のェントロ ピーを計算する。 以上のステップ 3 9 7、 3 9 8はエントロピー計測手段 3 8 4 において行なわれる。 最適化されたしきい値とエントロピー計測手段 3 8 4で得 られたエントロピ一はエントロピ一比較手段 3 8 5に送られ、 ステップ 3 9 9に おいて比較される。 比較の結果はブロック分割手段 3 8 6に送信される。
次に、 ステップ 3 9 1 0、 3 9 1 1において、 ブロック分割手段 3 8 6がテス トパターンデータをそれそれのエントロピ一に応じて複数のブロックに分割する。 最後に、 ブロック分割手段 3 8 6は、 ステヅプ 3 9 9で分割された各ブロックの デ一夕を複数の圧縮手段の対応するものに送信する。
図 4 0はこの発明の第 1の実施例において、 ラン ' レングス圧縮手段、 BW変 換手段、 L Z圧縮手段を持つ場合のテストパターン圧縮装置の構成の一例を示す ブロック図である。 このテストパターン圧縮装置 2 1は、 入力されたテストパ夕 一ンデ一夕の構造或いは統計的な性質に応じて入力データのブロック分割を行な うテストパターン分割手段 4 0 2と、 データの遷移回数がしきい値以下であるブ ロックに対してラン · レングス圧縮を行なうランレングス圧縮手段 4 0 3と、 デ —夕の遷移回数がしきい値より大であり、 かつデ一夕のエントロピ一がしきい値 以下であるブロックに対して B W変換を行なう BW変換手段 4 0 4と、 B W変換 手段で BW変換されたデ一夕に対してラン · レングス圧縮法を適用するもう 1つ のラン · レングス圧縮手段 4 0 5と、 デ一夕の遷移回数がしきい値より大であり、 かつデ一夕のェントロビーがしきい値より大であるプロックに対して L Z圧縮を 行なう L Z圧縮手段 4 0 6とによって構成されている。
次に、 このテストパターン圧縮装置 2 1を使用してテストパターンの圧縮を行 なう場合の動作について説明する。 図 4 1は図 4 0に示すテストパターン圧縮装 置 2 1の処理手順を説明するためのフローチヤ一トであり、 この発明の第 1の実 施例のテストパターン圧縮方法を示している。
テストパターン分割手段 4 0 2は、 ステップ 4 1 1においてテストパターンデ —夕をデ一夕の構造或いは統計的性質に応じて複数のブロックに分割する。 分割 された各ブロヅクのデ一夕はステップ 4 1 2において、 それそれのブロックに対 し最適な圧縮アルゴリズムを持つランレングス圧縮手段 4 0 3、 B W変換手段 4 0 4、 L Z圧縮手段 4 0 6にスィッチを通じて送くられる。 そして、 ステップ 4 1 3、 4 1 4、 4 1 5、 4 1 6において各デ一夕がそれそれラン ' レングス圧縮 手段 4 0 3、 BW変換手段 4 0 4、 ランレングス圧縮手段 4 0 5、 L Z圧縮手段 4 0 6によって圧縮され、 最後に、 ステップ 4 1 7で圧縮データがスイッチを通 じて出力される。
図 4 2はこの発明の第 1の実施例において、 ランレングス伸張手段、 BW逆変 換手段、 L Z伸張手段を持つ場合のテストパターン伸張装置の構成の一例を示す プロヅク図である。 このテストパターン伸張装置 4 1は、 伸張の対象となる圧縮 デ一夕を、 ランレングス圧縮法で圧縮されたデ一夕、 BW変換の後にランレング ス圧縮法で圧縮されたデータ、 及び L Z圧縮法で圧縮されたデ一夕に、 例えばフ ラグによりそれそれ分割する圧縮デ一夕分割手段 4 2 2と、 それそれ分割された デ一夕を情報損失なく元のテストパターンに伸張するためのランレングス伸張手 段 4 2 3、 4 2 4及び L Z伸張手段 4 2 6と、 BW変換されているテストパター ンデ一夕に対し BW逆変換を行なう B W逆変換手段 4 2 5とによって構成されて いる。
次に、 このテストパターン伸張装置 4 1を使用して圧縮データの伸張を行なう 場合の動作について説明する。 図 4 3は図 4 2に示すテストパターン伸張装置の 処理手順を説明するためのフローチャートであり、 この発明の第 1の実施例のテ ストパターン伸張方法を示している。
まず、 ステップ 4 3 1において、 圧縮データ分割手段 4 2 2が伸張対象の圧縮 データをランレングス圧縮法で圧縮されたデ一夕、 B W変換の後にランレングス 圧縮法で圧縮されたデ一夕、 及び L Z圧縮法で圧縮されたデータにそれそれ分割 する。 分割された各圧縮デ一夕は、 ステップ 4 3 2においてそれそれランレング ス伸張手段 4 2 3、 4 2 4、 及び L Z伸張手段 4 2 6にスィツチを通じて送られ る。 送信されたデータは、 ステップ 4 3 3、 4 3 4、 4 3 6で各デ一夕伸張手段 によって情報損失なく元のデ一夕に伸張される。 さらに、 BW変換されているデ —夕はステップ 4 3 5において元のデータに B W逆変換される。 最後に、 ステツ プ 4 3 7において、 伸張されたテストパターンがスィツチを通じて出力される。 図 4 4はこの発明の第 1の実施例において使用されるテストパターン分割手段 4 2 2の機能構成の一例を示すブロック図である。 このテストパターン分割手段 4 2 2は、 ブロック分割のための環境パラメ一夕を入力するパラメ一夕入力手段 4 4 2と、 入力された環境パラメ一夕を格納するパラメ一夕記憶手段 4 4 3と、 パラメ一夕記憶手段 4 4 3に格納された環境パラメ一夕を用いてブロック分割の ためのデータ遷移回数のしきい値を計算する遷移回数しきい値計算手段 4 4 4と、 入力されたデ一夕の遷移回数を計数する遷移回数計数手段 4 4 5と、 遷移回数し きい値と実際のデ一夕の遷移回数とを比較する遷移回数比較手段 4 4 6と、 パラ メータ記憶手段 4 4 3に格納された環境パラメ一夕を用いてブロック分割のため のェントロピーのしきい値を計算するェント口ピ一しきい値計算手段 4 4 7と、 入力されたデータのェント口ピーを計測するェント口ビー計測手段 4 4 8と、 ェ ントロピ一しきい値と実際のデ一夕のエントロピ一とを比較するエントロピ一比 較手段 4 4 9と、 遷移回数比較手段 4 4 6及びエントロピー比較手段 4 4 9で得 られた比較の結果に応じてデ一夕を複数のブロックに分割するブロック分割手段 4 4 0とによって構成されている。
次に、 このテストパターン分割手段 4 2 2を使用してテストパターンのプロヅ ク分割を行なう場合の動作について説明する。 図 4 5は図 4 4に示すテストパ夕 —ン分割手段 4 2 2の処理手順を説明するためのフローチャートであり、 この発 明の第 1の実施例のテストパターン分割方法を示している。
まず、 ステップ 4 5 1において、 パラメ一夕入力手段 4 4 2を用いてブロック 分割のしきい値を計算するためのパラメ一夕を入力する。 入力されたパラメ一夕 は、 パラメ一夕記憶手段 4 4 3に格納される。 次に、 ステップ 4 5 2において、 遷移回数しきい値計算手段 4 4 4がパラメ一夕記憶手段 4 4 3に格納されたパラ メータを用いて、 入力テストパ夕一ンを複数のプロックに分割するためのパ夕一 ンの遷移回数のしきい値を計算する。 次に、 ステップ 4 5 3で、 遷移回数計数手 段 4 4 5が入力されたテストパターンの各ビンに対するテストパターンの遷移回 数を計数する。
遷移回数しき 、値計算手段 4 4 4で計算された遷移回数しきい値と遷移回数計 数手段 4 4 5で得られた遷移回数は遷移回数比較手段 4 4 6に送られ、 ステップ 4 5 4において比較される。 これと同時に、 ステップ 4 5 5において、 ェントロ ピ一しき 、値計算手段 4 4 7が入力テストパターンを複数のブロックに分割する ためのエントロピ一のしきい値を計算する。 次に、 ステップ 4 5 6で、 入力され たテストパターンにおける記号の出現確率を計測する。 また、 ステップ 4 5 7に おいては、 ステップ 4 5 6で得られた確率から入力デ一夕のエントロピ一を計算 する。 以上のステップ 4 5 6、 4 5 7はエントロピ一計測手段 4 4 8において行 われる。 エントロピ一しきい値計算手段 4 4 7で計算されたしきい値とェントロ ピー計測手段 4 4 8で得られたエントロピ一はエントロピ一比較手段 4 4 9に送 られ、 ステップ 4 5 8において比較される。 ここで、 ステップ 4 5 2から 4 5 4、 及びステップ 4 5 5から 4 5 8は、 並列に処理することができる。
ステップ 4 5 4及びステツプ 4 5 8で得られた比較の結果はプロック分割手段 4 4 0に送信される。 プロヅク分割手段 4 4 0では、 まず初めに、 ステップ 4 5 9において、 各ビンに対するテストパターンの遷移回数がしきい値以下であるか 否かを判定し、 遷移回数がしきい値以下であるテストパターンをステップ 4 5 1 0においてブロック 1に分類する。 また、 遷移回数がしきい値より大であるテス トパターンに対しては、 次に、 ステップ 4 5 1 1においてエントロピ一がしきい 値以下であるか否かを判定し、 テストパターンのエントロピ一がしきい値以下で ある場合には、 ステップ 4 5 1 2においてテストパターンをブロック 2に分類す る。 ステップ 4 5 1 1においてエントロピ一がしきい値より大であるテストパ夕 ーンはステップ 4 5 1 3においてブロック 3に分類する。 最後に、 ブロック分割 手段 4 4 0は、 ステップ 4 5 1 4において、 分割された各ブロックのデ一夕を複 数の圧縮手段に送信する。
図 4 6はこの発明の第 1の実施例において使用されるテストパターン分割手段 4 2 2の機能構成の他の一例を示すブロック図である。 このテストパターン分割 手段 4 2 2は、 ブロック分割のための環境パラメ一夕を入力するパラメ一夕入力 手段 4 6 2と、 入力された環境パラメ一夕を格納するパラメ一夕記憶手段 4 6 3 と、 遷移回数に応じてブロック分割を行なう遷移回数分割手段 4 6 4と、 ェント 口ピーに応じてブロック分割を行なぅェントロビ一分割手段 4 6 5とによって構 成されている。
さらに、 遷移回数分割手段 4 6 4は、 パラメ一夕記憶手段 4 6 3に格納された 環境パラメ一夕を用いてブロック分割のためのデ一夕遷移回数のしきい値を計算 する遷移回数しきい値計算手段 4 6 6と、 入力されたデータの遷移回数を計数す る遷移回数計数手段 4 6 7と、 遷移回数しきい値と実際のデータの遷移回数とを 比較する遷移回数比較手段 4 6 8と、 遷移回数比較手段 4 6 8で得られた比較の 結果に応じて複数のブロックに分割するブロック分割手段 4 6 9とによって構成 され、 エントロピ一分割手段 4 6 5は、 パラメ一夕記憶手段 4 6 3に格納された 環境パラメ一夕を用いてプロヅク分割のためのエントロピ一のしきい値を計算す るエントロピ一しきい値計算手段 4 6 1 0と、 入力されたデ一夕のエントロピ一 を計測するエントロピ一計測手段 4 6 1 1と、 エントロピーしきい値と実際のデ 一夕のエントロピ一とを比較するエントロピ一比較手段 4 6 1 2と、 エントロピ —比較手段 4 6 1 2で得られた比較の結果に応じてデータを複数のブロックに分 割するブロック分割手段 4 6 1 3とによって構成されている。
次に、 このテストパターン分割手段 4 6 1を使用してテストパターンのブロッ ク分割を行なう場合の動作について説明する。 図 4 7は図 4 6に示すテストパ夕 —ン分割手段の処理手順を説明するためのフローチャートであり、 この発明の第 1の実施例のテストパターン分割方法を示している。
まず、 ステップ 4 7 1において、 パラメ一夕入力手段 4 6 2を用いてブロック 分割のしきい値を計算するためのパラメータを入力する。 入力されたパラメ一夕 は、 パラメ一夕記憶手段 4 6 3に格納される。 次に、 ステップ 4 7 2において、 パラメ一夕記憶手段 4 6 3に格納されたパラメ一夕を用いて、 遷移回数分割手段 4 6 4の遷移回数しきい値計算手段 4 6 6が入力テストパターンを複数のブロッ クに分割するためのパターンの遷移回数のしきい値を計算する。 次に、 ステップ 4 7 3で、 遷移回数計数手段 4 6 7が入力されたテストパターンの各ピンに対す るテストパターンの遷移回数を計数する。
遷移回数しきい値計算手段 4 6 6で計算された遷移回数しきい値と遷移回数計 数手段 4 6 7で得られた遷移回数は遷移回数比較手段 4 6 8に送られ、 ステップ 4 7 4において比較される。 ステップ 4 7 4で得られた比較の結果はブロック分 割手段 4 6 9に送信される。 次に、 ステップ 4 7 5において、 ブロック分割手段 4 6 9が各ビンに対するテストパ夕一ンの遷移回数がしきい値以下であるか否を 判定し、 遷移回数がしきい値以下であるテストパターンをステップ 4 7 6におい てブロック Aに分類する。 分割されたブロック Aは、 ステップ 4 7 7でスィッチ を通じて出力される。
遷移回数がしきい値より大であるテストパターンはステップ 4 7 8でプロヅク Bに分類し、 ステップ 4 7 9において分割されたブロック Bをエントロピー分割 手段 4 6 5に送信する。 次に、 ステップ 4 7 1 0において、 エントロピーしきい 値計算手段 4 6 1 0が入力テストパターンを複数のブロックに分割するためのェ ントロビーのしきい値を計算する。 ステップ 4 7 1 1で、 入力されたテストパ夕 —ンにおける記号の出現確率を計測する。 また、 ステップ 4 7 1 2においては、 ステップ 4 7 1 1で得られた確率から入力データのエントロピーを計算する。 以 上のステップ 4 7 1 1、 4 7 1 2はエントロピー計測手段 4 6 1 1において行な われる。
エントロピ一しきい値計算手段 4 6 1 0で計算されたしきい値とエントロピ一 計測手段 4 6 1 1で得られたエントロピ一はエントロピ一比較手段 4 6 1 2に送 られ、 ステップ 4 7 1 3において比較される。 ここで、 ステップ 4 7 2と 4 7 1 0はそれそれ独立しており、 並列に処理することも可能である。
ステップ 4 7 1 3で得られた比較の結果はブロック分割手段 4 6 1 3に送信さ れる。 ブロック分割手段 4 6 1 3では、 ステップ 4 7 1 4において、 各ビンに対 するテストパターンのエントロピ一がしきい値以下であるか否かを判定し、 テス トパターンのエントロピ一がしきい値以下である場合には、 ステップ 4 7 1 5に おいてテストパターンをブロヅク B 1に分類する。 ステップ 4 7 1 4においてェ ントロビーがしきい値より大であるテストパターンはステップ 4 7 1 6において ブロック B 2に分類する。 最後に、 ブロック分割手段 4 6 1 3は、 エントロピー 分割手段 4 6 5で分割された各ブロックのデータを、 ステップ 4 7 1 7において スィツチを通じて出力する。
図 4 8はこの発明の第 1の実施例において使用されるテストパターン圧縮装置 2 1の機能構成のさらに他の一例を示すブロック図である。 このテストパターン 圧縮装置は、 入力されたテストパターンに対して適応する最適な圧縮手法を決定 する圧縮手法決定手段 1 2 4と、 入力テストパターンに対してランレグス圧縮方 法を用いて圧縮を行なうランレングス圧縮手段 1 2 5と、 入力テストパターンに 対して BW変換を 1回以上適用する繰り返し BW変換手段 1 2 6と、 入力テスト パターンに対して L Z圧縮手法を用いて圧縮を行なう L Z圧縮手段 1 2 7と、 圧 縮手法決定手段 1 2 4で得られた圧縮手法に従ってテストパターンの経路を選択 する 3つのスィッチ 128、 129、 131とによって構成されている。
次に、 このテストパターン圧縮装置を使用してテストパターンの圧縮を行なう 場合の動作について説明する。 図 49は図 48に示すテストパターン圧縮装置の 処理手順を説明するためのフローチャートであり、 この発明の第 1の実施例のテ ストパ夕一ン圧縮方法を示している。
まず、 ステップ S 1において、 圧縮手法決定手段 124が入力されたテストパ 夕一ンに対して適応する最適な圧縮手法を決定し、 圧縮手法を一意に決定できる フラグ (flag) を kindに設定する。 ここで、 フラグは、 ランレングス圧縮手 法については 0、 BWTランレングス圧縮手法については BW変換の適用回数 m (m=l、 2、 · · ·、 N、 ただし、 Nは BW変換の最大適用回数を示す固定値 であり、 例えば、 N=5である) 、 LZ圧縮手法については N+ 1の値を取る。 また、 テストパターンに適用する最適な圧縮手法を決定するために、 経験的に決 められたしきい値入力が用いられる。
次に、 ステップ S2a、 S2b、 S 2 cにおいて、 決定された圧縮手法がラン レングス圧縮手法 (即ち、 kind = 0) である場合には、 テストパターン圧縮 手段のスィッチ 128、 129、 131はそれそれ、 それらの端子 1、 端子 1、 端子 1に接続され、 ステヅプ S 3においてテストパターンをランレングス圧縮手 段 125に送信する。 次に、 ステップ S 4においてランレングス圧縮手段 125 がランレングス圧縮方法を用いて圧縮する。
ステップ S 2 bにおいて、 決定された圧縮方法が BWTランレングス圧縮方法 (即ち、 0<knid<N+l) である場合には、 テストパターン圧縮装置のス イッチ 128、 129、 131はそれそれ、 それらの端子 2、 端子 2、 端子 1に 接続され、 ステップ S 5においてテストパターンと BW変換の適用回数 M (= kind) を BW変換手段 126に送信する。 次に、 ステップ S 6において、 繰 り返し BW変換手段 126が、 テストパターンを M回 BW変換する。 さらに、 ス テヅプ S 7において BW変換されたデータをランレグス圧縮手段 125に送信し、 ステップ S 8においてランレグス圧縮手段 125がデータを圧縮する。
ステップ S2 cにおいて、 決定された圧縮方法が LZ圧縮方法 (即ち、 k ind = N+ 1)である場合には、 テストパターン圧縮装置のスィヅチ 128、 131はそれそれ端子 3、 端子 2に接続され、 ステップ S 9においてテストパ夕 —ンを LZ圧縮手段 127に送信する。 次に、 ステップ S 10において LZ圧縮 手段 127がテストパターンを LZ圧縮方法を用いて圧縮する。 最後に、 ステツ プ S 11において圧縮されたデ一夕と圧縮に用いた方法を一意的に示すフラグ kindを出力し、 処理を終了する。
図 50は図 48に示すテストパターン圧縮装置中の繰り返し BW変換手段 12 6の機能構成の一例を示すブロック図である。 この繰り返し BW変換手段は、 入 力されたテストパターンに対して BW変換を行なう BW変換手段 133と、 BW 変換の適用回数をカウントするカウン夕 134と、 データの経路を選択する 2つ のスィヅチ 135、 136とによって構成されている。
次に、 この繰り返し BW変換手段 126を使用してデータの BW変換を行なう 場合の動作について説明する。 図 51は図 50に示す繰り返し BW変換手段 12 6の処理手順を説明するためのフローチャートである。
まず、 ステップ S 1において、 入力されたテストパターンを BW変換手段 13 3に送信し、 BW変換の適用回数 Mをカウン夕 134に送信する。 次に、 ステツ プ S 2において、 BW変換の適用回数 mを m = Mにセットし、 カウン夕 iを i = 0にリセットする。 ステヅプ S3において、 テストパターンを BW変換し、 BW 変換の終了信号によってカウン夕 134は iに 1を加算する。 ステップ S 4にお いて BW変換が m回行なわれたか否か、 即ち、 i=mを確認し、 適用回数が i = mでなければスィツチ 135をオープンし、 かつスィツチ 136を端子 1に接続 して、 ステップ S 3の BW変換を繰り返す。
適用回数が i=mとなれば、 スィッチ 135をクローズし、 スイッチ 136を 端子 2に接続して、 次のステップ S 5において、 BW変換されたデータを出力し 処理を終了する。
次に、 BW変換手段 133を用いて変換を行なう場合の動作について説明する。 図 52は図 50に示す繰り返し BW変換手段の処理手順を説明するためのフロー チャートであり、 BW変換方法を示している。
まず、 ステップ S 1において、 n文字の文字列 Sを取得する。 ここでは、 例と して n=6文字の文字列 S= cab r a c a' を用いて説明する。 次に、 ステツ プ S 2において取得した文字列 Sの n個の循環文字列 (サイクリヅクにシフトし た文字列) を生成する。 循環文字列とは、 文字列の最初の文字をサイクリックに 文字列の最後に移動した文字列 (図 53 (a) に示す) であり、 ここで用いた S = 'abraca, の例では、 図 53 (b) に示すように 6つの循環文字列が得 らォし 。
次に、 ステップ S3において、 ステップ S 2で得られた循環文字列を辞書に登 録する順番にソートして行列 Mを作成する。 S= 'abraca' の例では、 初 めに aa、 次に、 ab、 続いて a cというように、 この例ではアルファベットの 順に図 54に示すようにソートされる。 ステップ S 4、 S 5においては、 作成さ れた行列 Mから、 行列 Mの最後列から得られる文字列 Lと、 入力文字列 Sに等し い行の番号 Iを取得する。 S= 'abraca' の例では、 図 55に示すように、 L = ' c a r a a b ' 、 I = 2が得られる。
以上のように、 S= 'abraca' という文字列は文字列 L二 ' c a r a a b' と、 行番号 I = 2というデ一夕に変換される。 最後に、 ステップ S 6で入力 デ一夕の残りを確認し、 入力データが残っていれば、 これまでのステップ S l~ S 5を繰り返し、 入力データがなければ、 ステップ S 7で BW変換されたデ一夕 を出力し、 処理を終了する。
図 56はこの発明の第 1の実施例において使用されるテストパターン伸張装置 の機能構成の一例を示すブロック図である。 このテストパターン伸張装置は、 圧 縮データがランレングス圧縮手法で圧縮されたデ一夕であるか、 B W Tランレン グス圧縮手法で圧縮されたデ一夕であるか、 L Z圧縮手法で圧縮されたデ一夕で あるかを判定する圧縮手法判定手段 147と、 圧縮データに対してランレングス 伸張方法を用いて伸張を行なうランレングス伸張手段 142と、 ランレングス伸 張されたデ一夕に対して逆 BW変換を 1回以上適用する繰り返し逆 BW変換手段 43と、 圧縮デ一夕に対して LZ伸張方法を用いて伸張を行なう LZ伸張手段 1 44と、 圧縮手法判定手段 41で得られた圧縮手法に従って圧縮デ一夕の経路を 選択する 3つのスィッチ 145、 146、 147とによって構成されている。 次に、 このテストパターン伸張装置を使用してテストパターンの伸張を行なう 場合の動作について説明する。 図 57は図 56に示すテストパターン伸張装置の 処理手順を説明するためのフローチャートであり、 この発明によるテストパ夕一 ン伸張方法の第 1の実施例を示している。
まず、 ステップ S 1において、 圧縮手法判定手段 141が、 テストパターン圧 縮手段から圧縮デ一夕とともに出力された圧縮手法を一意的に示すフラグを取得 し、 このフラグを k i ndに k i nd = f 1 agとセットする。 ここで、 f la gは、 ランレングス圧縮手法については 0、 BWTランレングス圧縮手法につい ては BW変換の適用回数 m (m=l、 2、 · · ·、 N、 ただし、 Nは BW変換の 最大適用回数を示す固定値であり、 例えば、 N=5である) 、 LZ圧縮手法につ いては N+ 1の値を取るように、 決められている。
次に、 ステップ S 2 a〜S 2 cにおいて、 圧縮手法 k i ndに応じて場合分け を行ない、 判定された圧縮手法がランレングス圧縮方法 (kind = 0) の場合 には、 テストパターン伸張装置のスィツチ 145、 146、 147はそれそれ端 子 1、 端子 1、 端子 1に接続され、 ステップ 153において圧縮デ一夕をランレ ングス伸張手段 142に送信し、 ステップ S 4においてランレングス伸張手段 1 42がランレングス伸張方法を用いて伸張する。 ステップ S 2において、 判定さ れた圧縮手法が BWTランレングス伸張方法 (0<kind<N+l) の場合に は、 テストパターン伸張装置のスィッチ 145、 146、 147はそれそれ端子 1、 端子 2、 端子 2に接続され、 ステップ S 5において圧縮データをランレング ス伸張手段 142に送信し、 ステップ S 6においてランレングス伸張手段 142 が圧縮デ一夕を伸張する。
次に、 ステップ S 7において伸張されたデータと、 逆 BW変換の適用回数 M ( = kind) を繰り返し逆 BW変換手段 143に送信し、 ステヅプ S8におい て繰り返し逆 BW変換手段 143がデ一夕を M回逆 BW変換する。 ステップ S 2 において、 判定された圧縮手法が LZ圧縮方法 (kind = N+l) の場合には、 テストパターン伸張装置のスイッチ 145、 147はそれぞれ端子 2、 端子 3に 接続され、 ステップ S 9において圧縮デ一夕を LZ伸張手段 144に送信し、 ス テツプ S 10において LZ伸張手段 144が圧縮データを L Z伸張方法を用いて 伸張する。 最後に、 ステップ S 11において伸張されたテストパターンを出力し、 処理を終了する。 図 58は図 56に示すテストパターン伸張装置中の繰り返し逆 BW変換手段 1 43の構成の一例を示すブロック図である。 この繰り返し逆 BW変換手段 143 は、 入力されたデ一夕に対して逆 BW変換を行なう逆 BW変換手段 148と、 逆 BW変換の適用回数をカウントするカウン夕 149と、 デ一夕の経路を選択する 2つのスイッチ 151、 152とによって構成されている。
次に、 この繰り返し逆 BW変換手段 143を使用してデータの逆 BW変換を行 なう場合の動作について説明する。 図 59は図 58に示す繰り返し BW変換手段 143の処理手順を説明するためのフローチャートであり、 繰り返し BW変換手 段 143でデ一夕を BW変換するときの動作を示している。
まず、 ステップ S 1において、 入力されたデ一夕を逆 BW変換手段 148に送 信し、 逆 BW変換の適用回数 Mをカウン夕 149に送信する。 次に、 ステップ S 2において、 逆 BW変換の適用回数 mを m = Mにセットし、 カウン夕 149を i =0にリセットする。 ステップ S3において、 テストパターンを逆 BW変換し、 逆 BW変換の終了信号によってカウン夕 149は iに 1を加算する。 ステップ S 4において逆 BW変換が m回行なわれたか否か、 即ち、 i=mを確認し、 適用回 数が i=mでなければ、 スィッチ 51をオープンし、 スィッチ 152を端子 1に 接続して、 ステップ S 3の逆 BW変換を繰り返す。 適用回数が i =mとなれば、 スイッチ 151をクローズし、 スイッチ 152を端子 2に接続して、 次のステツ プ S 5において、 逆 BW変換されたデータを出力し、 処理を終了する。
上記逆 BW変換手段 143を用いて逆変換を行なう場合の他の動作についてさ らに説明する。 図 60は図 56に示すテストパターン伸張装置中の逆 BW変換手 段の処理手順を説明するためのフローチャートであり、 逆 BW変換方法を示して いる。 ここでは、 BW変換の説明で用いた L= ' c a r a ab' 、 I = 2の例を 用いて説明する。
まず、 ステップ S 1において変換データを 1つ取得し、 ステップ S 2において 変換データから得られる文字列 Lと番号 I、 文字列の長さ nをセットする。 この 例では、 L= 'caraab' 、 1 = 2、 n=6である。
次に、 ステップ S3において、 取得した文字列 Lの文字をアルファベット順に ソートし、 文字列 Fを生成する。 L= ' c a r a ab5 の例では図 61に示すよ うに F= 'aaabcr' である。 ステップ S 4においては、 文字列 Lと Fの各 文字 L [i]、 F [i]の対応を示す行列 Tを作成する。 ここで、 Τは L [Τ [i] ] =F [i] を満たす行列である。 また、 もし文字列 Lの中で同じ文字 c hが使われているときには、 文字列 Lにおける c hが文字列 Fにおける c hと 同じ順序となるようにそれぞれを対応させる。 従って、 L= 'caraab' 、 F= 'aaabcr' の例では、 図 61に示すように、 T= [245613] 力 s 得られる。
次に、 ステヅプ S 5において、 カウン夕 149を i = 0にリセッ卜する。 ステ ップ S 6においてカウン夕 149に 1を加算し、 ステップ S 7において文字列 F、 番号 I、 行列 Tから元の文字列 Sの i番めの文字 S [i] を復元する。 ここで、
S [i] は S [i] =F 1 [I] ]、 T0 [I] =1、 Ti + 1 [I] =
T [T 1 [I] ] で表される。 ステップ S 8において、 文字 S [i] を出力する。 つまり、 まず i=lとすると、 F [T° [I] ] となり、 前記の通り T0 [I] =1であり、 この例では 1 = 2であるから F [2] となり、 Fの 2番目 aが S
[I] =aとなり、 次に、 i = 2とすると、 F [T 1 [I] ] となり、 T1
[I] =T [T° [I] ] =T [2] となり、 Τの 2番目は Τ = 4であるから F [4] となり、 Fの 4番目は bであるから S [2] 二 bとなり、 i = 3では F
CT2 [I] ] であり、 T2 [I] =T [Τ 1 [I] ] =Τ [4] となり、 丁の 4番目は 6であるから、 F [6] となり、 Fの 6番目は rであるから S [3] = rとなる。 以下同様にして、 逆 BW変換される。
次に、 ステップ S 9において、 文字列 Sの復元されていない文字があるか否か、 即ち、 i<nを確認し、 復元されていない文字が残っていれば (i<nであれば) ステップ S 6〜S 8を繰り返し、 最後の文字まで復元されていれば (i = nであ れば) 、 ステップ S 10に進む。
ここで用いた例では、 図 62に示すように、 S [1] =a、 S [2] =b、 S
[3] =r、 S [4] =a、 S [5] =c、 S [6] =aとなる。 従って、 元の 文字列 S= 'abraca' が復元されたことになる。 最後に、 ステップ S 10 でデータの残りを確認し、 デ一夕が残っていれば、 これまでのステヅプ S 1から S 9を繰り返し、 入力データがなければ、 処理を終了する。 図 63は図 48に示すテストパターン圧縮装置中の圧縮手法決定手段 124の 機能構成の一例を示すブロック図である。 この圧縮手法決定手段は、 テストパ夕 ーンに対し BW変換を適用する場合の最適な適用回数を計算する BW変換最適化 手段 154と、 圧縮率のしきい値を格納するしきい値記憶手段 155と、 BW変 換最適化手段 154から得られた圧縮率の最大値としきい値記憶手段 155のし きい値とを比較する圧縮率比較手段 156と、 圧縮率比較手段 156から得られ た比較の結果及び BW変換最適化手段 154から得られた BW変換の最適な適用 回数に応じてランレングス圧縮方法で圧縮するか、 或いは B W Tランレングス圧 縮方法で圧縮するか或いは、 L Z圧縮方法で圧縮するかを選択する圧縮手法選択 手段 157とによって構成されている。
次に、 この圧縮手法決定手段 124を使用してテス卜パターンに適用する最適 な圧縮方法を決定する場合の動作について説明する。 図 64は図 63に示す圧縮 手法決定手段 124の処理手順を説明するためのフローチャートであり、 この圧 縮手法決定方法の動作を示している。
まず、 ステップ S 1において、 初期化 BW変換の最大適用回数 nを n = N (例 えば、 N=5) にセットし、 圧縮率のしきい値 Rthを外部からある値 (例えば、 Rth = 10 ) にセットし、 カウン夕 i、 圧縮率の最大値 Rmax、 BW変換の適用 回数 nを 0にリセットし、 環境変数の初期化を行なう。 ステップ S2では、 入力 されたテストパターンを BW変換最適化手段 154に送信する。 次に、 ステップ S 3においてテストパターンを 1回 BW変換してカウンタ iに 1を加算し、 ステ ップ S 4において BW変換されたデ一夕の遷移回数^を測定する。
次に、 ステップ S 5において、 得られた遷移回数^と BW変換の適応回数 i から式 (1) を用いて圧縮率 Riの計算を行なう。
Ri= [log2 I A | /〔i · [log2 L ]
+ Φί · [log2 {( I A I— 1) · L) }
+log2 (L- 1) +log2 I A I〕 (5)
ここで、 L:テストパターンの長さ、 | A | :テストパターンに出現する記号 の集合の大きさ、 この例では 0と 1と Xであるから I A I =3、 [X] は X以上 の最小の整数である。 ステップ S 6においてこれまでに得られた圧縮率の最大値 Rmaxと新しく計算 された圧縮率 Riを比較し、 新しく計算された圧縮率 Riの方が大きければ (Ri > Rmaxであれば) 、 ステップ S 7において圧縮率の最大値 Rmaxを Rmax = Ri に更新し、 BW変換の適応回数 mをそのときの m= iに更新する。
次に、 ステップ S 8において、 B W変換の適応回数がステップ S 1でセットし たある指定された回数 nになったか否か、 即ち、 i < nを確認し、 適応回数上が 指定回数 ηより小さければ、 ステップ S 3〜S 7を繰り返し、 適応回数 iが指定 回数 nになったならば、 ステップ S 9に進む。
ステップ S 3〜S 8は BW変換最適化手段 1 5 4によって行なわれる。 即ち、 BW変換最適化手段 1 5 4は、 ステップ S 3〜S 8をある指定された回数 nだけ 繰り返すことによって、 圧縮率の最大値 Rmaxとそのときの B W変換の適用回数 mを取得する。 次に、 ステップ S 9において、 BW変換最適化手段 1 5 4で得ら れた圧縮率の最大値 Rmaxとしきい値記憶手段 1 5 5に格納されている経験的に 求めた圧縮率のしきい値 Rthを圧縮率比較手段 1 5 6に送信し、 それらを比較す る。 ステップ S 1 0において圧縮率の最大値 Rmaxがしきい値 Rth以下であれば、 ステップ S I 1において適用する圧縮手法を L Z圧縮方法と決定し、 フラグ: f 1 a gを f 1 a g = N + 1にセットする。 ステップ S 1 0においてしきい値 Rthの 方が最大値 Rmaxより小さければ、 次のステップ S 1 2において B W変換の適用 回数 mを確認する。
ステップ S 1 2において BW変換の適用回数 mが 0であればステップ S 1 3に おいてテストパターンに適用する圧縮手法をランレングス圧縮方法と決定して f 1 a g = 0とし、 B W変換の適用回数 mが 0でなければステツプ S 1 4において テストパターンに適用する圧縮手法を BWTランレングス圧縮方法と決定して f 1 a g = mとする。 ステップ S 1 1 ~ S 1 4は、 圧縮手法選択手段 1 5 7に よって行なわれる。 最後に、 圧縮手法選択手段 1 5 7が、 ステップ S 1 5におい て圧縮方法を一意的に決定するフラグ f 1 a gを出力して処理を終了する。 以上において、 圧縮率のしきい値 Rthは外部からセットすることもできるし、 あらかじめ固定された値にセットしておくこともできる。 外部からセットする場 合には、 しきい値記憶手段 1 5 5は R AMとして動作する。 一方、 あらかじめ固 定値をセットしておく場合には、 しきい値記憶手段 1 5 5は R OMとして動作し、 このときしきい値入力は必要な 、。
データ圧縮法の組み合わせが現在のところ最も効率のよい結果が得られている のは、 ランレングス圧縮手法、 BW変換手法 +ランレングス圧縮手法、 L Z圧縮 手法の 3つの手法を組合わせた場合である。 テストパターンは、 パターン遷移が 非常に少ない部分と、 パターンが周期的に遷移する部分と、 パターンがランダム に遷移する部分との三つの部分に分けることができ、 これら三つの部分にそれそ れランレングス圧縮手法、 BW変換手法 +ランレングス圧縮手法、 L Z圧縮手法 を適用することによって効率のよい圧縮を得ることができる。 ここで、 パターン がランダムに遷移する部分に対し、 L Z圧縮手法を用いているが、 Huffman圧縮 手法などを用いてもよい。 現在誰もが利用できる圧縮手法は殆どが L Z圧縮手法 をベースとしており、 、 Huffman圧縮手法より圧縮率がよいため、 前記例では L Z圧縮手法を用いた。
上述ではこの発明を、 テス卜するために L S Iに印加するテストパターンの圧 縮、 伸張に適用したが、 例えば、 テキスト情報と、 イメージ情報と、 レイアウト 情報となどで構成されたドキュメントのファイル (デ一夕) を、 性質の異なるデ —夕部分にプロヅク分割し、 それそれを最適なァルゴリズムで圧縮を行なうこと によって、 圧縮率を向上することができる。 例えば、 テキストデータ部分には L Z圧縮手法などのテキスト圧縮技術を適用し、 イメージデータ部分には、 J B I Gや J P E Gなどのィメージ圧縮技術を適用し、 レイァゥト情報部分については、 H uffm an圧縮手法などを適用する。
次に、 この発明の第 2の実施例について詳細に説明する。
図 6 5はこの発明の第 2の実施例において使用されるテストパターン圧縮装置 の機能構成の一例を示すブロック図である。 このテストパターン圧縮装置は、 1 入力 1出力のテストパターン圧縮装置であり、 入力されたテストパターンデータ を各ビン毎のテストシーケンスに分割するテストパターン分割手段 1 1と、 分割 されたテストシーケンスを最適な圧縮方法を用いて圧縮するテストシーケンス圧 縮手段 1 2と、 圧縮されたデータを一時格納するバッファ 1 3とによって構成さ れている。 次に、 このテストパターン圧縮装置を使用してテストパターンの圧縮を行なう 場合の動作について説明する。 図 6 6はこの発明の第 2の実施例のテストパター ン圧縮方法を示している。 テストパターン分割手段 1 1は、 ステップ S 1におい て入力されたテストパ夕一ンを各ピン毎のテストシーケンスに分割する。 次に、 ステップ S 2において、 テストシーケンスの分割数 kを k = Kに設定し、 カウン 夕 iを i = 0にリセットする。 ここで、 Kは、 例えば、 集積回路のピンの数であ る。 ステップ S 3において、 分割されたテストシーケンスから 1つを選択し、 力 ゥン夕 iを 1だけ加算して、 ステップ S 4においてテストシーケンス圧縮手段 1 2に送信する。 テストシーケンス圧縮手段 1 2はステップ S 5においてテスト シーケンスを最適な手法を用いて圧縮する。
ここで、 各テストシーケンスに適用する最適な圧縮方法を決定するために、 し きい値入力が用いられる。 圧縮されたデータは、 ステップ S 6において、 バッフ ァ 1 3に順次格納する。 次に、 ステップ S 7において他にテストシーケンスが残 つているか否か、 即ち、 iく kであるかを確認し、 残っていれば、 (i < kなら ば) ステップ S 3〜S 6を繰り返し、 他にテストシーケンスが残っていなければ ( i = kならば) 、 ステップ S 8に移る。 最後に、 ステヅプ S 8において、 圧縮 されたデ一夕をまとめて出力し、 処理を終了する。
図 6 7はこの発明の第 2の実施例において使用されるテストパターン圧縮装置 の構成の変形例を示すブロック図である。 このテストパターン圧縮装置は、 1入 力 1出力のテストパターン圧縮装置であり、 入力されたテストパ夕一ンデータを 各ビン毎のテストシーケンスに分割するテストパターン分割手段 1 1と、 分割さ れたテストシーケンスを最適な圧縮方法を用いて圧縮するテストシーケンス圧縮 手段 1 2とによって構成されている。
次に、 このテストパターン圧縮装置を使用してテストパターンの圧縮を行なう 場合の動作について説明する。 図 6 8はこの発明の第 2の実施例のテストパ夕一 ン圧縮方法の変形例を示している。 テストパターン分割手段 1 1は、 ステップ S 1において入力されたテストパ夕一ンを各ピン毎のテストシーケンスに分割する。 次に、 ステップ S 2において、 テストシーケンスの分割数 kを k = Kに設定し、 カウン夕 iを i = 0にリセットする。 ここで、 Kは、 例えば、 集積回路のピンの 数である。 ステップ S 3において、 分割されたテストシーケンスから 1つを選択 し、 カウンタ iを 1だけ加算して、 ステップ S 4においてテストシーケンス圧縮 手段 1 2に送信する。 テストシーケンス圧縮手段 1 2はステップ S 5においてテ ストシーケンスを最適な方法を用いて圧縮する。
ここで、 各テストシーケンスに適用する最適な圧縮方法を決定するために、 し きい値入力が用いられる。 次に、 ステップ S 7において、 圧縮されたデ一夕をテ ストシーケンス単位で出力する。 最後に、 ステップ S 7において他にテストシ一 ケンスが残っているか否か、 即ち、 i < kであるかを確認し、 残っていれば (i < kならば) 、 ステップ S 3〜S 6を繰り返し、 他にテストシーケンスが残ってい なければ (i = kならば) 処理を終了する。
図 6 9はこの発明の第 2の実施例において使用されるテストパターン圧縮装置 の他の機能構成の一例を示すブロック図である。 このテストパターン圧縮装置は、 1入力多出力のテストパターン圧縮装置であり、 入力されたテストパ夕一ンデー 夕を各ビン毎のテストシーケンスに分割するテストパターン分割手段 1 1と、 分 割されたテストシーケンスを最適な圧縮方法を用いて並列に圧縮するための複数 のテストシーケンス圧縮手段 1 2 ι〜 1 2 nと、 これらテストシーケンス圧縮手 段 1 2 ι〜1 2 nを選択するスィツチ 1 4とによって構成されている。
次に、 このテストパ夕一ン圧縮装置を使用してテストパターンの圧縮を行なう 場合の動作について説明する。 図 7 0はこの発明の第 2の実施例のテストパター ン圧縮方法の他の例を示している。 テストパターン分割手段 1 1は、 ステップ S 1において入力されたテストパターンを各ピン毎のテストシーケンスに分割する。 次に、 ステップ S 2において、 分割された各テストシーケンスをスィッチ 1 4を 通じて複数のテストシーケンス圧縮手段 1 2 ι〜1 2 nに順次送信し、 各テスト シーケンス圧縮手段 1 2 ι〜1 2 nを起動する。
各テストシーケンス圧縮手段 1 2 ι〜 1 2 nはそれそれ、 ステップ S 3 ι〜 S 3 nにおいてテストシーケンスを最適な手法を用いて圧縮する。 ここで、 各テ ストシーケンスに適用する最適な圧縮方法を決定するために、 しきい値入力が用 いられる。 最後にステップ S 4 i〜S 4 nにおいて、 圧縮されたデータを並列に 出力し、 処理を終了する。 テストシーケンスの圧縮には比較的時間がかかるため、 この並列処理により高速処理が可能となる。
図 7 1はこの発明の第 2の実施例において使用されるテストパターン伸張装置 の構成の一例を示している。 このテストパターン伸張装置は、 1入力 1出力のテ ストパターン伸張装置であり、 伸張の対象となる圧縮データを、 各ビン毎の圧縮 データに分割する圧縮デ一夕分割手段 1 6と、 分割された圧縮デ一夕を情報損失 なく、 元のテストシーケンスに伸張するテストシーケンス伸張手段 1 7と、 伸張 されたテストシーケンスを一時格納するバッファ 1 8とによって構成されている。 次に、 このテストパターン伸張装置を使用して圧縮データの伸張を行なう場合 の動作について説明する。 図 7 2はこの発明の第 2の実施例のテストパ夕一ン伸 張方法の処理手順を説明するためのフローチャートである。
まず、 ステップ S 1において、 圧縮データ分割手段 1 6が伸張対象の圧縮デ一 夕を各ビン毎の圧縮デ一夕に分割する。 次に、 ステップ S 2において、 圧縮デ一 夕の分割数 kを k = Kに設定し、 カウンタ iを i = 0にリセットする。 ここで、 Kは、 例えば、 集積回路のビンの数である。 ステップ S 3において、 分割された 圧縮デ一夕から 1つ選択し、 カウン夕 iを 1だけ加算して、 ステップ S 4におい てテストシーケンス伸張手段 1 7に送信する。 テストシーケンス伸張手段 1 7は ステップ S 5において、 圧縮データを完全に元のテス卜シーケンスに伸張する。 伸張されたデ一夕は、 ステップ S 6において、 バッファ 1 8に順次格納する。 次 に、 ステップ S 7において他に圧縮デ一夕が残っているか否か、 即ち、 i < kで あるかを確認し、 残っていれば (i < kならば) 、 ステップ S 3〜S 6を繰り返 し、 他に圧縮デ一夕が残っていなければ (i = kならば) 、 ステップ S 8に移る。 最後に、 ステップ S 8において、 伸張されたテストシ一ケンスをまとめて出力し、 処理を終了する。
図 7 3はこの発明の第 2の実施例において使用されるテストパターン伸張装置 の構成の変形例を示すブロック図である。 このテストパターン伸張装置は、 1入 力 1出力のテストパターン伸張装置であり、 伸張の対象となる圧縮データを、 各 ピン毎の圧縮データに分割する圧縮データ分割手段 1 6と、 分割された圧縮デ一 夕を情報損失なく、 元のテストシーケンスに伸張するテストシーケンス伸張手段 1 7とによって構成されている。 次に、 このテストパターン伸張装置を使用して圧縮データの伸張を行なう場合 の動作について説明する。 図 7 4はこの発明の第 2の実施例のテストパターン伸 張方法の変形例を示している。
まず、 ステップ S 1において、 圧縮データ分割手段 1 6が伸張対象の圧縮デー 夕を各ピン毎の圧縮データに分割する。 次に、 ステップ S 2において、 圧縮デー 夕の分割数 kを k = Kに設定し、 カウンタ iを i = 0にリセットする。 ここで、 Kは、 例えば、 集積回路のビンの数である。 ステップ S 3において、 分割された 圧縮デ一夕から 1つ選択し、 カウンタ iを 1だけ加算して、 ステップ S 4におい てテストシーケンス伸張手段 1 7に送信する。 テス卜シーケンス伸張手段 1 7は ステップ S 5において、 圧縮デ一夕を完全に元のテストシーケンスに伸張する。 次に、 ステップ S 6において、 伸張されたテストシーケンスをビン単位で出力す る。 最後に、 ステップ S 7において他に圧縮デ一夕が残っているか否か、 即ち、 i < kであるか否かを確認し、 残っていれば (iく kならば) 、 ステップ S 3〜 S 6を繰り返し、 他に圧縮デ一夕が残っていなければ (i = kならば) 、 処理を 終了する。
図 7 5はこの発明の第 2の実施例において使用されるテストパターン伸張装置 の他の機能構成例を示すブロック図である。 このテストパターン伸張装置は、 1 入力多出力のテストパターン伸張装置であり、 伸張の対象となる圧縮データに対 して各ビン毎の圧縮デ一夕に分割する圧縮デ一夕分割手段 1 6と、 分割された圧 縮デ一夕を情報損失なく、 元のテストシーケンスに並列に伸張するための複数の テストシーケンス伸張手段 1 7 ι〜1 7 nと、 テストシーケンス伸張手段を選択 するスィツチ 1 9とによって構成されている。
次に、 このテストパターン伸張装置を使用して圧縮データの伸張を行なう場合 の動作について説明する。 図 7 6はこの発明の第 2の実施例のテストパターン伸 張方法を示している。
まず、 ステップ S 1において、 圧縮データ分割手段 1 6が伸張対象の圧縮デ一 夕を各ピン毎の圧縮データに分割する。 次に、 ステップ S 2において、 分割され た各圧縮デ一夕を複数のテストシーケンス伸張手段 1 7 ι〜1 7 nに送信し、 各 テストシーケンス伸張手段 1 Ί ι〜1 7 nを起動する。 各テストシーケンス伸張 手段 1 7 ι〜1 7 nはステップ S 3 1〜S 3 nにおいて、 それそれの圧縮デ一夕 を完全に元のテストシーケンスに伸張する。 最後に、 ステップ S 4 i〜S 4 nに おいて、 伸張されたテストシーケンスを並列に出力し、 処理を終了する。 データ 伸張はデ一夕圧縮よりは短時間で行えるが、 高速処理が必要であり、 このように 各ビン毎に並列処理することにより各伸張手段の処理速度が低いものを使用でき る
図 7 7はこの発明の第 2の実施例において使用されるテストパターン伸張装置 の構成の一例を示すブロック図である。 このテストパターン伸張装置は、 多入力 1出力のテストパターン伸張装置であり、 並列に入力された各ピン毎の圧縮デー 夕に対して情報損失なく、 元のテストシーケンスに伸張するための、 並列に接続 された複数のテストシーケンス伸張手段 1 7 ι〜1 7 nと、 その伸張されたテス トシーケンスをそれそれ一時格納するテストシーケンスバッファ 5 2 0 ι〜5 2 0 nと、 伸張された各テストシーケンスを出力するためにこれらテストシ一ケン スバッファ 5 2 0 i〜5 2 0 nを選択するスィツチ 5 2 1と、 伸張された全テス トシーケンスを一時格納するバッファ 5 2 2とによって構成されている。
次に、 このテストパターン伸張装置を使用して圧縮デ一夕の伸張を行なう場合 の動作について説明する。 図 7 8はこの発明の第 2の実施例のテストパターン伸 張方法を示している。
並列に入力された各ビン毎の圧縮デ一夕は複数のテストシーケンス伸張装置に 送信される。 まず、 ステップ S 1において、 各テストシーケンス伸張手段 1 7 ι〜 1 7 nを起動する。 次に、 ステップ S 2において、 各テストシーケンス伸張手段 1 7 1〜1 7 nがそれそれの圧縮データを完全に元のテストシーケンスに伸張し てそれそれ対応するテストシーケンスバッファ 5 2 0 1 ~ 5 2 0 nに一時格納す る。 伸張されたテストシーケンスは、 ステップ S 3において、 ノ ッファ 5 2 2に 格納される。 ここで、 テストシーケンスは、 テストシーケンス伸張手段 1 7 ι〜 1 7 nから伸張終了信号を受信することによって、 すべてのテストシーケンスの 伸張が終わった後で固定された順番でバッファ 5 2 2に格納するか、 或いは伸張 された順番にバッファ 5 2 2に格納することが可能である。 最後に、 ステップ S 4において、 バッファ 5 2 2から伸張されたテストシーケンスによりテストパ夕 —ンを構成して出力し、 処理を終了する。
図 7 9はこの発明の第 2の実施例において使用されるテストパターン伸張装置 の構成の変形例を示している。 このテストパターン伸張装置は、 多入力 1出力の テストパターン伸張装置であり、 並列に入力された各ビン毎の圧縮データに対し て情報損失なく、 元のテストシーケンスに伸張するための、 並列に接続された複 数のテストシーケンス伸張手段 1 Ί ι〜1 7 nと、 伸張された各テストシーケン スが一時格納されるテストシーケンスバッファ 5 2 0 ι〜5 2 0 ηと、 出力する ためにテストシーケンスバッファ 5 2 0 ι〜5 2 0 nを選択するスィヅチ 5 2 1 とによって構成されている。
次に、 このテストパターン伸張装置を使用して圧縮デ一夕の伸張を行なう場合 の動作について説明する。 図 8 0はこの発明の第 2の実施例のテストパターン伸 張方法の変形例を示している。
並列に入力された各ピン毎の圧縮データは複数のテストシーケンス伸張装置に 送信される。 まず、 ステップ S 1において、 各テストシーケンス伸張手段 1 7 ι〜 1 7 nを起動する。 次に、 ステップ S 2 i〜S 2 nにおいて、 各テストシーケン ス伸張手段 1 7 ι〜1 7 nがそれそれの圧縮デ一夕を完全に元のテストシーケン スに伸張してテストシーケンスバッファ 5 2 0 ι〜5 2 0 nに格納する。 最後に、 ステップ S 3 i〜S 3 nにおいて、 スィツチ 5 2 1を通じて伸張されたテストシ —ケンスをビン単位で出力し、 処理を終了する。
ここで、 テストシーケンスは、 テストシーケンス伸張手段 1 7 ι〜1 7 nから 伸張 ¾ ^了信号を受信することによって、 すべてのテストシーケンスの伸張が終わ つた後で固定された順番で出力するか、 或いは伸張された順番に出力することが 可能である。 図 7 7及び図 7 9に示した構成の何れにおいても、 出力される伸張 されたテストシーケンスを、 圧縮前のテストパターンと同一のものとすることに より、 I Cテス夕内のパターンジェネレータとして従来用いられているものに供 給することが可能となる。
図 8 1はこの発明の第 2の実施例において使用されるテストシーケンス圧縮装 置の機能構成の一例を示している。 このテストシーケンス圧縮装置は、 入力され たテストシーケンスに対して適応する最適な圧縮手法を決定する圧縮手法決定手 段 524と、 テストシーケンスに対しランレングス圧縮方法を用いて圧縮を行な うランレングス圧縮手段 525と、 テストシーケンスに対し BW変換を 1回以上 適用する繰り返し BW変換手段 526と、 テストシーケンスに対して LZ圧縮手 法を用いて圧縮を行なう LZ圧縮手段 527と、 圧縮手法決定手段 524で得ら れた圧縮手法に従ってテストシーケンスの経路を選択する 3つのスィツチ 528、 529、 531とによって構成されている。
次に、 このテストシーケンス圧縮装置を使用してテストシーケンスの圧縮を行 なう場合の動作について説明する。 図 82はこの発明の第 2の実施例のテストシ —ケンス圧縮方法を示している。
まず、 ステップ S 1において、 圧縮手法決定手段 524が入力されたテストシ —ケンスに対して適応する最適な圧縮手法を決定し、 圧縮手法を一意に決定でき るフラグ f 1 agを k i ndに設定する。 ここで、 f lagは、 ランレングス圧 縮手法については 0、 BWTランレングス圧縮手法については BW変換の適用回 数 m (m=l、 2、 · · ·、 N、 ただし、 Nは BW変換の最大適用回数を示す固 定値であり、 例えば、 N=5である) 、 LZ圧縮手法については N+1の値を取 る。 また、 テストシーケンスに適用する最適な圧縮手法を決定するために、 経験 的に決められたしきい値入力が用いられる。
次に、 ステップ S2a、 S2b、 S 2 cにおいて、 決定された圧縮手法がラン レングス圧縮手法 (即ち、 kind = 0) である場合には、 テストシーケンス圧 縮装置のスィッチ 528、 529、 531はそれそれ、 端子 1、 端子 1、 端子 1 に接続され、 ステップ S 3においてテストシーケンスをランレングス圧縮手段 5 25に送信する。 次に、 ステップ S 4においてランレングス圧縮手段 525がラ ンレングス圧縮手法を用いて圧縮する。 ステップ S 2bにおいて、 決定された圧 縮方法が BWTランレングス圧縮方法 (即ち、 0<kind<N+l) である場 合には、 テストシーケンス圧縮装置のスイッチ 528、 529、 531はそれそ れ、 端子 2、 端子 2、 端子 1に接続され、 ステップ S 5においてテストシ一ケン スと BW変換の適用回数 M ( = kind) を BW変換手段 526に送信する。 次 に、 ステップ S 6において、 繰り返し BW変換手段 526が、 テストシーケンス を M回 BW変換する。 さらに、 ステヅプ S 7において BW変換されたデ一夕をラ ンレングス圧縮手段 525に送信し、 ステップ S 8においてランレングス圧縮手 段 525がデータを圧縮する。 ステップ S 2 cにおいて、 決定された圧縮方法が LZ圧縮方法 (即ち、 kind = N+l) である場合には、 テストシーケンス圧 縮装置のスィッチ 528、 531はそれそれ端子 3、 端子 2に接続され、 ステツ プ S 9においてテストシーケンスを LZ圧縮手段 527に送信する。 次に、 ステ ヅプ S 10において LZ圧縮手段 527がテストシーケンスを LZ圧縮方法を用 いて圧縮する。 最後に、 ステップ S 11において圧縮されたデ一夕と圧縮に用い た方法を一意的に示すフラグ k indを出力し、 処理を終了する。
図 83は図 81に示すテストシーケンス圧縮手段中の繰り返し BW変換手段 5
26の機能構成の一例を示している。 この繰り返し BW変換手段は、 入力された テストシーケンスに対して BW変換を行なう BW変換手段 533と、 BW変換の 適用回数をカウントするカウン夕 534と、 デ一夕の経路を選択する 2つのス イッチ 535、 536とによって構成されている。
次に、 この繰り返し BW変換手段 526を使用してデータの BW変換を行なう 場合の動作について説明する。 図 84は繰り返し BW変換手段によりデータを B W変換するときのフローチャートである。
まず、 ステップ S 1において、 入力されたテストシーケンスを BW変換手段 5
33に送信し、 BW変換の適用回数 Mをカウン夕 534に送信する。 次に、 ステ ヅプ S 2において、 BW変換の適用回数 mを m = Mにセヅ トし、 カウン夕 iを i =0にリセヅ卜する。 ステップ S 3において、 テストシーケンスを BW変換し、 BW変換の終了信号によってカウン夕 534はカウン夕上に 1を加算する。 ステ ップ S 4において BW変換が m回行なわれたか否か、 即ち、 i=mを確認し、 適 用回数が i=mでなければ、 スイッチ 535をオープンし、 スィッチ 536を端 子 1に接続して、 ステップ S 3の BW変換を繰り返す。 適用回数が i=mとなれ ば、 スイッチ 535をクローズし、 スィッチ 536を端子 2に接続して、 次のス テツプ S 5において、 BW変換されたデ一夕を出力し、 処理を終了する。
ここで、 ランレングス圧縮、 BW変換、 LZ圧縮について説明する。
初めに、 ランレングス圧縮手段 525を用いて圧縮を行なう場合の動作を説明 する。 図 85はランレングス圧縮方法を示すフローチャートである。 まず、 ステ ヅプ S 1において、 入力文字列から 1文字データを取得して chにセッ卜する。 次に、 ステップ S 2において、 取得した文字 c hをランレングス符号を生成する ための記号の初期値 initialにセットし、 カウン夕 iを 1に初期化する。 次に、 ス テヅブ S 3で入力データから 1文字取得して chにセットし、 ステップ S 4で力 ゥン夕 iに 1を加算し、 文字数をカウントする。 ステップ S 5では取得した文字 chと初期値 initialとを比較し、 文字 chが初期値 initialと等しければ (ch = initialであれば) 、 ステップ S 6へ進み、 文字 c hが初期値 initialと異なれば (ch≠ initialであれば) 、 ステップ S 7へ進む。
ステップ S 6では、 入力データが残っているか否かを確認し、 残っていればス テツプ S 3、 S4、 S 5を繰り返し、 残っていなければステップ S 7に進む。 ス テツプ S 7においては、 初期値 initialと得られたカウント数 iを用いて符号化す る。 次に、 ステップ S 8において、 入力データの残りを確認し、 入力デ一夕が残 つていれば、 これまでのステップ S 2~S 7を繰り返し、 入力デ一夕がなければ ステップ S 9で圧縮データを出力し、 処理を終了する。
次に、 BW変換手段 533を用いて変換を行なう場合の動作について説明する。 図 86は BW変換方法を示すフローチャートである。 まず、 ステップ S 1におい て、 n文字の文字列 Sを取得する。 ここでは、 例として n=6文字の文字列 S = 'abraca' を用いて説明する。 次に、 ステップ S 2において取得した文字 列 Sの n個の循環文字列 (サイクリックにシフトした文字列) を生成する。 循環 文字列とは、 文字列の最初の文字をサイクリックに文字列の最後に移動した文字 列 (図 87 (a) に示す) であり、 ここで用いた S= 'abraca' の例では、 図 87 (b) に示すように、 6つの循環文字列が得られる。 次に、 ステップ S 3 において、 ステップ S 2で得られた循環文字列を辞書に登録する順番にソートし て行列 Mを作成する。 S= 'abraca' の例では、 初めに aa、 次に、 ab、 続いて a cというように、 この例ではアルファべットの順に図 88に示すように ソートされる。
ステヅプ S 4、 S 5においては、 作成された行列 Mから、 行列 Mの最後列から 得られる文字列 Lと、 入力文字列 Sに等しい行の番号 Iを取得する。 S= 'ab r a c a, の例では、 図 89のように、 L= 'caraab, 、 1 = 2が得られ る。 以上のように、 S = ' a b r a c a ' という文字列は文字列 L = ' c a r a a b, と行番号 I = 2というデ一夕に変換される。 最後に、 ステップ S 6で入力 データの残りを確認し、 入力デ一夕が残っていればこれまでのステップ S 1〜S 5を繰り返し、 入力デ一夕がなければステップ S 7で BW変換されたデータを出 力し、 処理を終了する。
最後に、 L Z圧縮手段 5 2 7を用いて圧縮を行なう場合の動作について説明す る。 図 9 0は L Z圧縮方法を示すフローチャートである。 まず、 ステップ S 1に おいて、 圧縮に用いられる辞書 d i cの初期化を行なう。 次に、 ステップ S 2に おいて入力デ一夕 i nを取得し、 ステップ S 3において取得した文字列 i nと辞 書 d i cのマッチングを行なう。 ステップ S 4では、 他により長くマッチングす る文字列があるか否かを確認し、 その可能性があればステップ S 3のマッチング を繰り返す。 ステップ S 4において他により長くマッチングする文字列がなけれ ば、 ステヅプ S 5においてマッチした文字列 m a t c hとマッチしなかった最初 の文字 c hを符号化し、 ステップ S 6においてこの新しい文字列 m a t c h + c hを辞書に登録する。 最後に、 ステップ S 7で入力データの残りを確認し、 入 カデ一夕が残っていればステップ S 2〜S 6を繰り返し、 入力データがなければ ステップ S 8で圧縮データを出力し、 処理を終了する。
図 9 1はこの発明の第 2の実施例において使用されるテストシーケンス伸張手 段の機能構成の一例を示すブロック図である。 このテストシーケンス伸張手段は、 圧縮デ一夕がランレングス圧縮手法で圧縮されたデータであるか、 BWTランレ ングス圧縮手法で圧縮されたデ一夕であるか、 L Z圧縮手法で圧縮されたデ一夕 であるかを判定する圧縮手法判定手段 5 4 1と、 圧縮データに対してランレング ス伸張方法を用いて伸張を行なうランレングス伸張手段 5 4 2と、 ランレングス 伸張されたデ一夕に対して逆 B W変換を 1回以上適用する繰り返し逆 B W変換手 段 5 4 3と、 圧縮データに対して L Z伸張方法を用いて伸張を行なう L Z伸張手 段 5 4 4と、 圧縮手法判定手段 5 4 1で得られた圧縮手法に従って圧縮デ一夕の 経路を選択する 3つのスイッチ 5 4 5、 5 4 6、 5 4 7とによって構成されてい 次に、 このテストシ一ケンス伸張装置を使用してテストシーケンスの伸張を行 なう場合の動作について説明する。 図 92はこの発明の第 2の実施例のテストシ —ケンス伸張方法を示すフローチャートである。 まず、 ステップ S 1において、 圧縮手法判定手段 541が、 テストシーケンス圧縮手段から圧縮デ一夕とともに 出力された圧縮手法を一意的に示すフラグを取得し、 このフラグを k i ndに対 し、 k i nd = f 1 a gとセットする。
ここで f lagは、 ランレングス圧縮手法については 0、 BWTランレングス 圧縮手法については BW変換の適用回数 m (m=l、 2、 · · ·、 N、 ただし、 Nは BW変換の最大適用回数を示す固定値であり、 例えば、 N=5である) 、 L Z圧縮手法については N+ 1の値を取るように決められている。 次に、 ステップ S2a~S2 cにおいて、 圧縮手法 k i ndに応じて場合わけを行ない、 判定さ れた圧縮手法がランレングス圧縮方法 (kind = 0) の場合には、 テストシ一 ケンス伸張手段のスィッチ 545、 546、 547はそれそれ端子 1、 端子 1、 端子 1に接続され、 ステップ S 3において圧縮データをランレングス伸張手段 5 42に送信し、 ステップ S 4においてランレングス伸張手段 542がランレング ス伸張方法を用いて伸張する。
ステップ S 2において、 判定された圧縮手法が B W Tランレングス伸張方法 (0く kindく N+1) の場合には、 テストシーケンス伸張装置のスィッチ 5
45、 546、 547はそれぞれ端子 1、 端子 2、 端子 2に接続され、 ステップ
55において圧縮デ一夕をランレングス伸張手段 542に送信し、 ステップ S 6 においてランレングス伸張手段 542が圧縮デ一夕を伸張する。 次に、 ステップ S 7において伸張されたデ一夕と、 逆 BW変換の適用回数 M ( = kind) を繰 り返し逆 BW変換手段 543に送信し、 ステップ S 8において繰り返し逆 BW変 換手段 543がデ一夕を M回逆 BW変換する。
ステップ S2において、 判定された圧縮手法が LZ圧縮方法 (kind = N + 1) の場合には、 テストシーケンス伸張手段のスィッチ 545、 547はそれそ れ端子 2、 端子 3に接続され、 ステップ S 9において圧縮データを LZ伸張手段 544に送信し、 ステップ S 10において LZ伸張手段 544が圧縮データを L Z伸張方法を用いて伸張する。 最後に、 ステップ S 11において伸張されたテス トシーケンスを出力し、 処理を終了する。 図 9 3は図 9 1に示すテストシーケンス伸張手段中の繰り返し逆 BW変換手段 5 4 3の構成の一例を示すブロック図である。 この繰り返し逆 BW変換手段 5 4 3は、 入力されたデータに対して逆 B W変換を行なう逆 BW変換手段 5 4 8と、 逆 BW変換の適用回数をカウントするカウン夕 5 4 9と、 データの経路を選択す る 2つのスィッチ 5 5 1、 5 5 2とによって構成されている。
次に、 この繰り返し逆 BW変換手段 5 4 3を使用してデ一夕の逆 BW変換を行 なう場合の動作について説明する。 図 9 4は繰り返し BW変換手段 5 4 3により データを BW変換するときのフローチャートである。 まず、 ステップ S 1におい て、 入力されたデータを逆 BW変換手段 5 4 8に送信し、 逆 BW変換の適用回数 Mをカウン夕 5 4 9に送信する。 次に、 ステップ S 2において、 逆 BW変換の適 用回数 mを m = Mにセヅトし、 カウン夕 5 4 9を i = 0にリセットする。 ステツ プ S 3において、 テストシーケンスを逆 BW変換し、 逆 B W変換の終了信号によ つてカウン夕 5 4 9は iに 1を加算する。 ステップ S 4において逆 BW変換が m 回行なわれたか否か、 即ち、 i =mを確認し、 適用回数が i =mでなければスィ ツチ 5 5 1をオープンし、 スイッチ 5 5 2を端子 1に接続して、 ステップ S 3の 逆 BW変換を繰り返す。 適用回数が i = mとなれば、 スィッチ 5 5 1をクローズ し、 スィッチ 5 5 2を端子 2に接続して、 次のステップ S 5において、 逆 BW変 換されたデ一夕を出力し、 処理を終了する。
ここで、 ランレングス伸張、 逆 BW変換、 L Z伸張について説明する。
初めに、 ランレングス伸張手段 5 4 2を用いて伸張を行なう場合の動作につい て説明する。 図 9 5はランレングス伸張方法を示すフローチャートである。 まず、 ステップ S 1において圧縮データを 1つ取得し、 ステップ S 2において圧縮デ一 夕から初期値 initialと文字の連続回数 nを取得する。 次に、 ステヅプ S 3におい て初期値 initialを連続回数 nだけコピーする。 ステップ S 4において圧縮データ が残っているか否かを確認し、 残っていればステップ S 1〜S 3を繰り返す。 圧 縮デ—夕が残っていなければ、 ステップ S 5で伸張されたデータを出力し、 処理 を終了する。
次に、 逆 B W変換手段 5 4 3を用いて逆変換を行なう場合の動作について説明 する。 図 96は逆 BW変換方法を示すフローチャートである。 ここでは、 BW変換の 説明で用いた L= 'caraab' 、 I = 2の例を用いて説明する。 まず、 ステ ヅプ S 1において変換デ一夕を 1つ取得し、 ステップ S 2において変換データか ら得られる文字列 Lと番号 I、 文字列の長さ nをセットする。 この例では、 L =
'caraab' 、 1 = 2、 n=6である。 次に、 ステップ S3において、 取得 した文字列 Lの文字をアルファベット順にソートし、 文字列 Fを生成する。 L =
'caraab' の例では図 97に示すように F = ' a a a b c r ' である。 ス テヅプ S 4においては、 文字列 Lと Fの各文字 L [i] , F [i] の対応を示す 行列 Tを作成する。 ここで、 Tは L [T [i] ] =F [i] を満たす行列である。 また、 もし文字列 Lの中で同じ文字 chが使われているときには、 文字列 Lにお ける c hが文字列 Fにおける c hと同じ順序となるようにそれそれを対応させる。 従って、 L= 'caraab' 、 F= £aaab c r ' の例では図 97に示すよ うに、 T= [245613] が得られる。
次に、 ステップ S 5において、 カウン夕 549を i = 0にリセヅ卜する。 ステ ヅプ S 6においてカウンタ 549に 1を力口算し、 ステップ S 7において文字列 F、 番号 I、 行列 Tから元の文字列 Sの i番めの文字 S [i] を復元する。 ここで、 S [i] は S [i] =F [Ti- 1 [I] ]、 T0 [I] =I、 Ti+ 1 [I] = T [Ti l] ]で表される。 ステップ S 8において、 文字 S [i] を出力する。 つまり、 まず i =lとすると、 F [T° [I] ] となり、 前記の通り T0 [I] =1であり、 この例では 1 = 2であるから F [2] となり、 Fの 2番目 aが S
[1] =aとなり、 次に i = 2とすると、 F [T 1 [I] ] となり、 T1 [I]
=T [T° [I] ] =T [2] となり、 Τの 2番目は Τ = 4であるから F [4] となり、 Fの 4番目は bであるから S [2] =bとなり、 i = 3では F [T2
[I] ] であり、 T2 [I] =T [Τ 1 [ 1] ] =Τ [4] となり、 Τの 4番目 は 6であり、 F [6] となり、 Fの 6番目は rであるから S [3] =rとなる。 以下同様にして、 逆 BW変換される。
次に、 ステップ S 9において、 文字列 Sの復元されていない文字があるか否か、 即ち、 i<nを確認し、 復元されていない文字が残っていれば (i<nであれ ば) 、 ステップ S 6〜S 8を繰り返し、 最後の文字まで復元されていれば (i = nであれば) 、 ステヅプ S I 0に進む。 ここで用いた例では、 図 98に示すよう に、 S [1] =a、 S [2] =b、 S [3] =r、 S [4] =a、 S [5] =c、 S [6] =aとなる。 従って、 元の文字列 S= 'ab r a c a' が復元されたこ とになる。 最後に、 ステップ S 10でデータの残りを確認し、 デ一夕が残ってい ればこれまでのステップ S 1から S 9を繰り返し、 入力デ一夕がなければ処理を 終了する。
最後に、 LZ伸張手段 544を用いて伸張を行なう場合の動作について説明す る。 図 99は LZ伸張方法を示すフローチャートである。 まず、 ステップ S 1に おいて、 伸張に用いられる辞書 d i cの初期化を行なう。 次に、 ステップ S 2に おいて入力圧縮デ一夕から符号を 1つ取得する。 ステップ S 3において取得した 符号で辞書の検索を行ない、 ステップ S 4で符号を文字列 s t r ingに変換す る。 次に、 ステップ S 5において、 新しく生成された文字列 s t r ingを辞書 dieに登録する。 最後に、 ステップ S 6で圧縮されたデ一夕の残りを確認し、 圧縮デ一夕が残っていればステップ S 2〜S 5を繰り返し、 圧縮デ一夕がなけれ ばステップ S 7で伸張されたデータを出力し、 処理を終了する。
図 100は図 81に示すテス卜シーケンス圧縮手段中の圧縮手法決定手段 52 4の機能構成の一例を示すブロック図である。 この圧縮手法決定手段 524は、 テストシーケンスに対し BW変換を適用する場合の最適な適用回数を計算する BW変換最適化手段 554と、 圧縮率のしきい値を格納するしきい値記憶手段 5 55と、 BW変換最適化手段 554から得られた圧縮率の最大値としきい値記憶 手段 555のしきい値とを比較する圧縮率比較手段 556と、 圧縮率比較手段 5 56から得られた比較の結果及び BW変換最適化手段 554から得られた BW変 換の最適な適用回数に応じてランレングス圧縮方法で圧縮するか、 或いは BWT ランレングス圧縮方法で圧縮するか、 或いは L Z圧縮方法で圧縮するかを選択す る圧縮手法選択手段 557とによって構成されている。
次に、 この圧縮手法決定手段 524を使用してテストシーケンスに適用する最 適な圧縮方法を決定する場合の動作について説明する。
図 101はこの圧縮手法決定方法を示すフローチャートである。 まず、 ステツ プ S 1において、 初期化 BW変換の最大適用回数 nを n = N (例えば、 N=5) にセットし、 圧縮率のしきい値 Rthを外部からある値 (例えば、 Rth= 1 0 ) に セットし、 カウンタ i、 圧縮率の最大値 Rmax, B W変換の適用回数 nを 0にリ セットし、 環境変数の初期化を行なう。 ステップ S 2では、 入力されたテストシ 一ケンスを BW変換最適化手段 5 5 4に送信する。 次に、 ステップ S 3において テストシ一ケンスを 1回 B W変換してカウン夕 iに 1を加算し、 ステップ S 4に おいて BW変換されたデ一夕の遷移回数 ^を測定する。
次に、 ステップ S 5において、 得られた遷移回数^と B W変換の適用回数 i とから式 (4 ) を用いて圧縮率 Riの計算を行なう。 ステップ S 6においてこれ までに得られた圧縮率の最大値 Rmaxと新しく計算された圧縮率 Riとを比較し、 新しく計算された圧縮率 Riの方が大きければ (Ri > Rmaxであれば) 、 ステツ プ S 7において圧縮率の最大値 Rmaxを Rmax = Riに更新し、 BW変換の適用回 数 mをそのときの m= iに更新する。
次に、 ステップ S 8において、 BW変換の適用回数がステップ S 1でセヅ トし たある指定された回数 nになったか否か、 即ち、 i < nを確認し、 適用回数 iが 指定回数 nより小さければステップ S 3〜S 7を繰り返し、 適用回数 iが指定回 数 nになったならば、 ステップ S 9に進む。 ステップ S 3〜S 8は BW変換最適 化手段 5 5 4によって行なわれる。 即ち、 B W変換最適化手段 5 5 4は、 ステヅ ブ S 3〜S 8をある指定された回数 nだけ繰り返すことによって、 圧縮率の最大 値 Rmaxとそのときの B W変換の適用回数 mを取得する。 次に、 ステップ S 9に おいて、 BW変換最適化手段 5 5 4で得られた圧縮率の最大値 Rmaxとしきい値 記憶手段 5 5 5に格納されている圧縮率のしきい値 Rthを圧縮率比較手段 5 5 6 に送信し、 それらを比較する。
ステップ S 1 0において圧縮率の最大値 Rmaxがしきい値 Rth以下であれば、 ス テヅプ S 1 1において適用する圧縮手法を L Z圧縮方法と決定し、 フラグで 1 a gを: f 1 a g = N + 1にセットする。 ステップ S 1 0においてしきい値 Rthの方 が最大値 Rmaxより小さければ、 次のステップ S 1 2において BW変換の適用回 数 mを確認する。
ステップ S 1 2において B W変換の適用回数 mが 0であれば、 ステップ S 1 3 においてテストシーケンスに適用する圧縮手法をランレングス圧縮方法と決定し て f lag=0とし、 BW変換の適用回数 mが 0でなければステップ S 14にお いてテストシーケンスに適用する圧縮手法を BWTランレングス圧縮方法と決定 して 1 ag=mとする。 ステップ S 11〜S 14は、 圧縮手法選択手段 557 によって行なわれる。 最後に、 圧縮手法選択手段 557が、 ステップ S 15にお いて圧縮方法を一意的に決定するフラグ f 1 a gを出力して処理を終了する。 以上において、 圧縮率のしきい値 Rthは、 外部からセットすることもできるし、 あらかじめ固定された値にセットしておくこともできる。 外部からセットする場 合には、 しきい値記憶手段 555は RAMとして動作する。 一方、 あらかじめ固 定値をセットしておく場合には、 しきい値記憶手段 555は ROMとして動作し、 このときしきい値入力は必要ない。
図 102は BWTランレングス圧縮手段の構成の一例を示すブロック図である。 この BWTランレングス圧縮手段は、 テストシーケンスに対して 1回以上 BW変 換を行なう繰り返し BW変換手段 561と、 BW変換されたデータに対してラン レングス圧縮手法を用いて圧縮を行なうランレングス圧縮手段 562とによって 構成されている。
次に、 この BWTランレングス圧縮手段を使用してテストシーケンスを情報損 失なく圧縮する場合の動作について説明する。 図 103は BWTランレングス圧 縮方法を示すフローチャートである。 まず、 ステップ S 1において、 入力された テストシーケンスと BW変換の適用回数 M ( = kind) を繰り返し BW変換手 段 561に送信する。 次に、 ステップ S 2において、 BW変換の適用回数 mを m =Mにセットし、 カウン夕 iを i = 0にリセットする。 ステップ S 3において、 テストシーケンスを BW変換し、 カウン夕 iに 1を加算する。 ステップ S 4にお いて BW変換が m回行なわれたか否か、 即ち、 i=mを確認し、 適用回数 iが m になるまでステップ S 3を繰り返す。 次に、 ステップ S 5において m回 BW変換 されたデータをランレングス圧縮手段 562に送信し、 ステップ S 6においてラ ンレングス圧縮方法を用いて圧縮を行なう。 最後に、 ステップ S 7において、 圧 縮されたデ一夕を出力し、 処理を終了する。
図 104は BWTランレングス伸張手段の構成の一例を示すプロヅク図である。 この BWTランレングス伸張手段は、 入力された圧縮デ一夕をランレングス伸張 手法を用いて伸張するランレングス伸張手段 5 6 3と、 このランレングス伸張手 段で伸張されたデ一夕に対して 1回以上逆 BW変換を行なう繰り返し逆 BW変換 手段 5 6 4とによって構成されている。
次に、 この B WTランレングス伸張手段を使用して圧縮データを情報損失なく、 元のテストシーケンスに伸張する場合の動作について説明する。 図 1 0 5は BW Tランレングス伸張方法を示すフローチャートである。 まず、 ステップ S 1にお いて、 入力された圧縮デ一夕をランレングス伸張手段 5 6 3に送信する。 次に、 ステップ S 2において、 ランレングス伸張手段 5 6 3が圧縮データを伸張する。 ステップ S 3において、 伸張されたデータと逆 BW変換の適用回数 M ( = k i n d ) を繰り返し逆 B W変換手段 5 6 4に送信する。 次に、 ステップ S 4において 逆 BW変換の適用回数 mを m = Mにセヅ卜し、 カウン夕 iを i = 0にリセットす る。 繰り返し逆 BW変換手段 5 6 4は、 ステップ S 5においてデータを逆 BW変 換し、 カウン夕 iに 1を加算する。 次に、 ステヅプ S 6において逆 BW変換が m 回行なわれたか否か、 即ち、 i <mを確認し、 逆 BW変換の適用回数が mになる までステップ S 5を繰り返す。 最後に、 ステップ S 7において、 復元されたテス トシーケンスを出力し、 処理を終了する。
以上、 この発明の第 2の実施例のテストパターン圧縮及び伸張方法、 並びにテ ストパターン圧縮及び伸張装置について述べたが、 この発明は、 さらに、 この発 明によるテストパターン圧縮装置又は方法、 並びにテストパターン伸張装置又は 方法を使用した、 テストパターンを高速に転送することを可能にする、 I Cの自 動テストシステムをも包含している。 この発明によるテストパ夕一ン伸張装置を 備えた I C自動テストシステム (I Cテス夕) は、 そのテス夕本体のパターンジ エネレ一夕がテストパターンを保存しているディスク装置とテス夕プロセッサを 介して接続されている環境、 テス夕本体のパターンジェネレータがテストパ夕一 ンを保存しているディスクアレイ装置と直接接続されている環境、 といった種々 のテスト環境に対応できる。 以下、 テストパターン伸張装置を備えた I C自動テ ストシステムの実施例及び変形例、 並びにテストパターン圧縮装置を備えた I C 自動テストシステムの実施例及び変形例について図 1 0 6〜図 1 1 3を参照して 説明する。 図 1 0 6はこの発明によるテストパ夕一ン伸張装置及びテストパターン圧縮装 置を備えた I C自動テストシステムの第 1の実施例の構成を示すブロック図であ る。 このテストシステムは、 テスタ本体 5 7 9内の制御を行なうテス夕プロセヅ サ 5 7 0と、 テストデ一夕を格納し、 テストされる半導体集積回路 (C U T ) 5 7 1に印加する論理デ一夕を基本クロックに同期して発生する回路、 つまり、 記 憶されている論理デ一夕が順次読出されて出力されるパターンジヱネレー夕 5 7 2と、 パターンジェネレータ 5 7 2が持つメモリを補う回路であり、 パターンジ エネレ一夕 5 7 2と高速なデ一夕転送が可能であるバッファメモリ 5 7 3と、 圧 縮データを高速に伸張してパターンジェネレータ 5 7 2に格納する 1入力 1出力 のテストパターン伸張装置 5 7 4と、 パターンジェネレータ 5 7 2から発生され る論理デ一夕から異なる幅を持つパルスや他のパルスとの位相差を持つパルスを 作る 1ビン当たり 1つのフォーマツトコントロール 5 7 5と、 電気信号を C U T 5 7 1に印加するドライバ及び C U T 5 7 1の応答が供給されるコンパレー夕を 有する 1ピン当たり 1つのピンエレクトロニクス 5 7 6と、 C U T 5 7 1とのィ ン夕フェース 5 7 7と、 テス夕本体制御用のワークステーション 5 7 8とによつ て構成される。
制御用ワークステーション 5 7 8は、 テス夕本体 5 7 9を操作して、 I C 5 7 1の自動テストを制御するために用いられる。 例えば、 サン ·マイクロシステム ズ社 (Sun Microsystems) のスパーク 'コンピュータ (SPARC Computer) が使 用できる。 テストパターンはテストパ夕一ン圧縮装置 5 8 1によって圧縮され、 ワークステーション 5 7 8のディスク装置 5 8 2に保存されている。
C U T 5 7 1のテストにおいてテストパターンをテス夕本体 5 7 9のパターン ジヱネレー夕 5 7 2にダウンロードする場合、 圧縮されたテストパターンデータ をワークステーション 5 7 8及びテス夕プロセッサ 5 7 0を通じてテストパ夕一 ン伸張装置 5 7 4に転送し、 高速に伸張してパターンジェネレータ 5 7 2に格納 する。 パターンジェネレータ 5 7 2に入り切らないテストパターンは、 圧縮され たままバッファメモリ 5 7 3に格納し、 必要なときにテストパターン伸張装置 5 7 4で伸張される。 この際、 従来のテストパターンと同一配列とすることにより、 パターンジェネレータ 5 7 2として従来のものを用いることができる。 以上の構 成を用いることによって、 転送経路を通るデータ量を小さくすることができ、 テ ストパターンのダウンロード時間の短縮が可能となる。
図 1 0 7はこの発明によるテストパ夕一ン伸張装置を備えた I C自動テストシ ステムの第 2の実施例の構成を示すプロック図である。 このテストシステムは、 テス夕本体 5 7 9内の制御を行なうテス夕プロセッサ 5 7 0と、 テストデータを 格納し、 テストされる半導体集積回路 (C U T ) 5 7 1に印加する論理デ一夕を 基本クロックに同期して発生する回路であるパターンジヱネレー夕 5 7 2と、 圧 縮デ一夕を高速に伸張してパターンジェネレータ 5 7 2に格納する 1入力 1出力 のテストパターン伸張装置 5 7 4と、 テストパターンデータを保存し、 テストパ 夕—ンデ—夕を高速に転送できる、 ネットワーク 5 8 4に接続されたディスクァ レイ装置 5 8 5と、 パターンジヱネレー夕 5 7 2から発生される論理データから 異なる幅を持つパルスや他のパルスとの位相差を持つパルスを作る 1ピン当たり 1つのフォーマツトコントロール 5 7 5と、 電気信号を C U T 5 7 1に印加する ドライバ及び C U T 5 7 1の応答が供給されるコンパレ一夕を有する 1ビン当た り 1つのピンエレクトロニクス 5 7 6と、 C U T 7 1とのィン夕フエ一ス 5 7 7 と、 テス夕本体制御用のヮ一クステーション 5 7 8とによって構成される。 制御用ワークステーション 5 7 8は、 テス夕本体 5 7 9を操作して、 I C 5 7 1の自動テストを制御するために用いられる。 例えば、 サン 'マイクロシステム ズ社 (Sun Microsystems) のスパーク 'コンピュータ (SPARC Computer) が使 用できる。 テストパターンはテストパターン圧縮装置 (図示せず) によって圧縮 されてネットワーク 5 8 4を通じてディスクアレイ装置 5 8 5に保存される。 C U T 5 7 1のテス卜においてディスクアレイ装置 5 8 5に保存されたテストパ夕 ーンをテスタ本体 5 7 9のパターンジェネレータ 5 7 2にダウンロードする場合、 圧縮されたテストパターンデータをディスクアレイ装置 5 8 5からテストパター ン伸張装置 5 7 4に転送し、 高速に伸張してパターンジェネレータ 5 7 2に格納 する。
以上の構成を用いることによって、 転送経路を通るデ一夕量を小さくすること ができ、 その結果、 テストパターンのダウンロード時間の短縮が可能となる。 次に、 テスタ本体の測定系について詳しく述べる。 図 1 0 8は、 図 1 0 6に示 す実施例において使用されたテス夕本体 5 7 9の測定系の詳細な構成の一例を示 している。 上記実施例で使用された測定系は、 遅れ、 幅等の時間を規定するタイ ミングパルスを発生するタイミングジェネレータ 5 7 2 aと、 基本クロックに同 期して伸張された論理デ一夕を発生するパターンジェネレータ 5 7 2 bと、 この パターンジェネレータ 5 7 2 bから発生された論理データとタイミングジエネレ 一夕 5 7 2 aからのクロック信号との 2つの情報から異なる幅を持つパルスや他 のパルスとの位相差を持つパルスを作る 1ビン当たり 1つのフォーマツトコント ロール 5 7 5と、 電気信号を C U T 5 7 1に印加するドライバ及び C U T 5 7 1 の応答が供給されるコンパレー夕を有する 1ビン当たり 1つのピンエレクトロ二 クス 5 7 6と、 C U T 5 7 1とのィン夕フェース 5 7 7とによって構成されてい る
C U T 5 7 1のテス卜において、 夕イミングジェネレータ 5 7 2 aが発生する クロックに応じて、 パターンジェネレータ 5 7 2 bが C U T 5 7 1に印加する論 理デ一夕を発生し、 これを基にフォーマツ卜コントロール 5 7 5がパルスを形成 する。 フォーマットコントロール 5 7 5で発生したパルスは、 ピンエレクトロニ クス 5 7 6のドライバで設定レベルの信号に変換され、 ィン夕フェース 5 7 7を 介して C U T 5 7 1に印加される。 C U T 5 7 1からの応答はビンエレクトロ二 クス 5 7 6のコンパレ一夕で取得され、 パ夕一ンジエネレ一夕 5 7 2 bから出力 される期待値デ一夕と比較される。
図 1 0 9はこの発明によるテストパターン伸張装置及びテストパターン圧縮装 置を備えた I C自動テストシステムの第 3の実施例の構成を示すブロック図であ る。 このテストシステムは、 テス夕本体 5 7 9内の制御を行なうテス夕プロセヅ サ 5 7 0と、 テストデ一夕を格納し、 テストされる半導体集積回路 (C U T ) 5 7 1に印加する論理デ一夕を基本クロックに同期して発生する回路、 つまり、 記 憶論理デ一夕を読出して出力するパターンジェネレータ 5 7 2と、 パターンジェ ネレ一夕 5 7 2が持つメモリを補う回路であり、 パターンジェネレータ 5 7 2と 高速なデータ転送が可能であるバッファメモリ 5 7 3と、 パターンジェネレータ 5 7 2から出力される圧縮データを、 各ビンに対して並列に高速に伸張する 1ピ ン当たり 1つのテストシーケンス伸張装置 5 7 4と、 パターンジェネレータ 5 7 2から発生される論理デ一夕から異なる幅を持つパルスや他のパルスとの位相差 を持つパルスを作る 1ピン当たり 1つのフォーマツトコントロール 5 7 5と、 電 気信号を C U T 5 7 1に印加するドライバ及び C U T 5 7 1の応答が供給される コンパレ一夕を有する 1ビン当たり 1つのピンエレクトロニクス 5 7 6と、 C U T 5 7 1とのィン夕フェース 5 7 7と、 テス夕本体制御用のワークステーション 5 7 8とによって構成される。
制御用ワークステーション 5 7 8は、 テス夕本体 5 7 9を操作して、 I C 5 7 1の自動テストを制御するために用いられる。 例えば、 サン ·マイクロシステム ズ社 (Sun Microsystems) のスパーク 'コンビユー夕 (SPARC Computer) が使 用できる。 テストパターンはテストパターン圧縮装置 5 8 1によって圧縮され、 ワークステーション 5 7 8のディスク装置 5 8 2に保存されている。
C U T 5 7 1のテストにおいてテストパターンをテス夕本体 5 7 9のパターン ジェネレータ 5 7 2にダウンロードする場合、 圧縮されたテストパターンデータ をワークステーション 5 7 8及びテスタプロセッサ 5 7 0を通じてパターンジェ ネレ一夕 5 7 2に格納する。 パターンジェネレータ 5 7 2に入り切らないテスト パターンは、 圧縮されたままバッファメモリ 5 7 3に格納し、 必要なときにパ夕 —ンジェネレータ 5 7 2に転送される。 また、 パターンジェネレータ 5 7 2から 出力される圧縮デ一夕は各ピン毎にテストシーケンス伸張装置 5 7 4に転送され、 高速に伸張されてそれそれフォーマヅトコントロール 5 7 5に送られる。
以上の構成を用いることによって、 転送経路を通るデ一夕量を小さくすること ができるから、 テストパターンのダウンロード時間の短縮が可能となる。
図 1 1 0はこの発明によるテストパターン伸張装置を備えた I C自動テストシ ステムの第 4の実施例の構成を示すブロック図である。 このテストシステムは、 テス夕本体 5 7 9内の制御を行なうテス夕プロセッサ 5 7 0と、 テストデ一夕を 格納し、 テストされる半導体集積回路 (C U T ) 5 7 1に印加する論理デ一夕を 基本クロックに同期して発生する回路であるパターンジェネレータ 5 7 2と、 パ 夕一ンジェネレータ 5 7 2から出力される圧縮データを、 各ビンに対して並列に 高速に伸張する 1ビン当たり 1つのテストパターン伸張装置 5 7 4と、 テストパ 夕一ンデ一夕を保存し、 テストパターンデ一夕を高速に転送できる、 ネットヮ一 クに接続されたディスクアレイ装置 5 8 5と、 テストパターン伸張装置 5 7 4か ら出力される論理デ一夕から異なる幅を持つパルスや他のパルスとの位相差を持 つパルスを作る 1ビン当たり 1つのフォーマヅトコントロール 5 7 5と、 電気信 号を C U T 5 7 1に印加するドライバ及び C U T 5 7 1の応答が供給されるコン パレ一夕を有する 1ビン当たり 1つのビンエレクトロニクス 5 7 6と、 C U T 5 7 1とのィン夕フェース 5 7 7と、 テス夕制御用のワークステーション 5 7 8と によって構成される。
制御用ワークステーション 5 7 8は、 テス夕本体 5 7 9を操作して、 I C 5 7 1の自動テストを制御するために用いられる。 例えば、 サン ·マイクロシステム ズ社 (Sun Microsystems) のスパーク 'コンピュータ (SPARC Computer) が使 用できる。 テストパターンはテストパターン圧縮装置 (図示せず) によって圧縮 されてネヅトワーク 5 8 4を通じてディスクアレイ装置 5 8 5に保存されている。
C U T 5 7 1のテストにおいてディスクアレイ装置 5 8 5に保存されたテスト パターンをテス夕本体 5 7 9のパターンジェネレータ 5 7 2にダウン口一ドする 場合、 圧縮されたテストパターンデ一夕をディスクアレイ装置 5 8 5からパター ンジェネレータ 5 7 2に格納する。 パターンジェネレータ 5 7 2から出力される 圧縮デ一夕は各ピン毎にテストシーケンス伸張装置 5 7 4に転送され、 高速に伸 張されてそれそれフォーマツトコントロ一ル 5 7 5に送られる。
以上の構成を用いることによって、 転送絰路を通るデータ量を小さくすること ができ、 よって、 テストパターンのダウンロード時間の短縮が可能になる。
次に、 テス夕本体の測定系について詳しく述べる。 図 1 1 1は、 図 1 0 9又は 図 1 1 0に示す実施例において使用されたテス夕本体 5 7 9の測定系の詳細な構 成の一例を示している。 上記実施例で使用された測定系は、 遅れ、 幅等の時間を 規定するタイミングパルスを発生するタイミングジエネレ一夕 5 7 2 aと、 基本 クロックに同期して伸張された論理デ一夕を発生するパターンジェネレータ 5 7 2 bと、 圧縮デ一夕を各ビン毎に並列に伸張する 1ビン当たり 1つのテストシ一 ケンス伸張装置 5 7 4と、 このテストシーケンス伸張装置 5 7 4で伸張された論 理デ一夕とタイミングジェネレータ 5 7 2 aからのクロック信号との 2つの情報 から異なる幅を持つパルスや他のパルスとの位相差を持つパルスを作る 1ピン当 たり 1つのフォ一マヅトコントロール 575と、 電気信号を CUT 571に印加 するドライバ及び CUT 571の応答が供給されるコンパレー夕を有する 1ビン 当たり 1つのビンエレクトロニクス 576と、 CUT571とのィン夕フェース 577とによって構成されている。
CUT 571のテストにおいて、 タイミングジエネレ一夕 572 aが発生する クロヅクに応じて、 パターンジヱネレ一夕 572 bから出力された圧縮データを 基にテストシーケンス伸張装置 574が CUT571に印加する論理データを発 生し、 これを基にフォーマットコントロール 575がパルスを形成する。 フォー マツトコントロ一ル 575で発生したパルスは、 ビンエレクトロニクス 576の ドライバで電気信号に変換され、 ィン夕フェース 577を介して CUT 571に 印加される。 CUT 571からの応答はビンエレクトロニクス 576のコンパレ 一夕で取得され、 同じくテストパターン伸張装置 574から出力される期待値デ —夕と比較される。
以上のような構成を用いることにより、 圧縮されたテストパ夕一ンをリアル夕 ィムに伸張し、 伸張した論理データを用いてリアルタイムに CUT 71のテスト を行なうことができる。 さらに、 圧縮されたデ一夕をパターンジェネレータ 57 2 bに保存することにより、 メモリを節約することもできる。
図 112はこの発明によるテストパターン圧縮装置を備えた I C自動テストシ ステムの第 5の実施例の構成を示すブロック図である。 このシステムは、 コンビ ュ一夕 601の CPUメモリバス 587に接続されたテストパターン圧縮装置 5 81を備えている。 ネットワーク 584を介して他のコンビュ一夕から転送され たテストパターンは、 I/Oコントローラ 588、 I/Oバス 589、 バスァダ プ夕 591、 CPUメモリバス 587を通じてテストパ夕一ン圧縮装置 581に 送られ、 情報損失なく圧縮されて、 CPUメモリバス 587、 バスアダプタ 59 1、 I/Oバス 589、 170コントローラ 592を介して、 ディスク装置 58 2や、 ネヅトワーク 584に接続された他のコンピュータのディスクに保存され る。 また、 テストパターンがメインメモリ 593内にある場合には、 このテスト パターンは CPUメモリバス 587を通じてテストパターン圧縮装置 581に送 られ、 情報損失なく圧縮されて、 CPUメモリバス 587、 バスアダプタ 591、 I /Oバス 5 8 9、 I /Oコントローラ 5 9 2を通って、 ディスク装置 5 8 2や、 ネットワーク 5 8 4に接続された他のコンピュータのディスクに保存される。 ディスク装置 5 8 2に保存された圧縮デ一夕は、 I /Oコントローラ 5 9 2及 び 5 9 3、 I /Oバス 5 8 9を通じてテス夕本体 5 7 9に転送される。 転送され るテストパターンは圧縮されており、 短い転送時間しか必要としない。 従って、 テス夕本体 5 7 9で圧縮デ一夕を高速に伸張できれば、 テストシステムの稼働率 を向上させることができる。
図 1 1 3はこの発明によるテストパターン圧縮装置を備えた I C自動テストシ ステムの第 6の実施例の構成を示すブロック図である。 このシステムは、 デイス ク装置 5 8 2の直前にテストパターン圧縮装置 5 8 1を備えている。 ネットヮー ク 5 8 4を介して他のコンビュ一夕から転送されたテストパ夕一ンは、 I /Oコ ントローラ 5 8 8及び 5 9 2、 I /Oバス 5 8 9を介してテストパ夕一ン圧縮装 置 5 8 1に送られ、 情報損失なく圧縮されて、 ディスク装置 5 8 2に保存される。 また、 テストパターンがメインメモリ 5 9 3内にある場合には、 このテストパ夕 —ンは C P Uメモリバス 5 8 7、 バスアダプタ 5 9 1、 I /Oバス 5 8 9、 及び I /Oコントローラ 5 9 2を通ってテストパターン圧縮装置 5 8 1に送られ、 情 報損失なく圧縮されて、 ディスク装置 5 8 2に保存される。 ディスク装置 5 8 2 に保存された圧縮デ一夕は、 I ZOコントローラ 5 9 2、 I /Oバス 5 8 9を介 してテス夕本体 5 7 9に転送される。 転送されるテストパ夕一ンは圧縮されてお り、 短い転送時間しか必要としない。 このため、 テストシステムで圧縮データを 髙速に伸張できれば、 テストシステムの稼働率を向上させることができる。 上述においては、 データ圧縮の際に圧縮率がしきい値より大である場合には、 L Z圧縮方法で圧縮したが、 Huffman圧縮方法、 算術符号化圧縮方法などの他の 圧縮方法を用いてもよいことは勿論である。
この発明によれば、 受信された入力データパターンをそのデ一夕構造や統計的 性質により、 複数のブロックの何れかに分配し、 その各プロックに対して適切な 圧縮方法を適用するので、 異なるデータ構造を持つデ一夕パターンからなるデ一 夕を効率よく圧縮することが可能となる。
また、 この発明によれば、 入力されたテストパターンデ一夕を各ピン毎のテス トシーケンスに分割し、 それぞれのテストシーケンスに対して適切な圧縮手法を 適用するので、 テストパターンデ一夕の効率のよい圧縮が可能となる。
図 1 1 4は、 この発明によるテストパターン圧縮方法及び装置を用いて、 実際 のデバイステス卜に用いられるテストパターンを圧縮し、 圧縮率の測定を行なつ た結果を示している。 テストパターンのサンプルとして、 5つのテストパターン
(テストシーケンスの長さ 1 5 0 0 0 ) を用いた。 図中、 K l、 Κ 2は C I S C マイコン ( 1 0 0ピン) のテストパターン、 A 1、 A 2がディスクコントローラ
( 1 4 4ピン) のテストパターン、 S 1が R I S Cマイコン ( 1 4 4ピン) のテ ストパターンである。 図 1 1 4には、 最も一般的に使われている圧縮手法である L Z W ( U N I X compressなどで用いられている圧縮手法) との比較を示す。 K 1のテストパターン以外については、 この発明のテストパターン圧縮方法及び 装置の方がよい圧縮率を示しており、 特に、 S 1のテストパターンについては 1 5 0 0 : 1以上の圧縮率が得られている。
また、 この発明のテストパターン伸張装置を用いることにより、 半導体集積回 路の自動テストを行なう自動テストシステムにおいて、 高速なデ一夕伸張が可能 であるため、 テストパターンのダウンロードに要する時間を短縮することができ 図 1 1 5は、 この発明のテストパターン伸張装置による圧縮データの伸張速度 を測定した結果を示している。 図 1 1 5において、 L Z W圧縮手法の伸張速度も 同様に測定し、 この発明のテストパターン伸張装置との比較を行なった。 この図 から、 この発明のテストパターン伸張装置は従来の L Z W圧縮手法に比べ、 約 2 倍高速なデータ伸張が可能であることが分かる。
この発明は B W Tランレングス圧縮装置を用いることにより、 擬似ランダム系 タ ·!] (Pseudorandom Noise sequence, PN sequence; の 1つである M系歹 (J
(Maximum length sequence) を効率的に圧縮することができる。 図 1 1 6は、 BWTランレングス圧縮装置を用いて M系列の圧縮を行なったときの圧縮率の結 果を示している。 この図では、 BW変換を 1回適用したときの結果を Xで示し、 BW変換を 2回適用したときの結果を〇で示している。 また、 破線は BWTラン レングス圧縮装置で得られる圧縮率の上限値を示している。 図 1 1 6に示すように、 M系列については、 この発明の B W Tランレングス圧 縮装置を用いて、 B W変換を 2回適用することにより、 上限に近い圧縮率を得る ことができる。 さらに、 M系列を生成する線形帰還シフ トレジス夕 (Linear Feedback Shift Register, LFSR) のステージ数が大きくなるに従って圧縮率も向 上し、 最大でおよそ 7 0 0 : 1という圧縮率が得られている。
このように、 B W変換を複数回適用した後、 ランレングス圧縮手法で圧縮する ことにより、 高い圧縮率を得ることが可能である。

Claims

請 求 の 範 囲
1 . 入力されたデ一夕パターンを、 そのデータの構造に応じて複数の圧縮用プロ ックの何れかに分配して分割する分割ステップと、
上記複数の圧縮用プロックに分割されたデータを、 各プロックに適した圧縮方 法で圧縮する圧縮ステップと、
上記圧縮ステップで圧縮された圧縮デ一夕を、 その圧縮方法に応じて複数の伸 張用ブロックに分割する分割ステップと、
各伸張用ブロックの圧縮デ一夕に対してその圧縮方法と対応した伸張方法によ りデ一夕伸張する伸張ステツプ
とを含むことを特徴とするデータパターンの圧縮及び伸張方法。
2 . 入力されたデ一夕パターンを、 そのデータの統計的な性質に応じて複数の圧 縮用ブロックの何れかに分配して分割する分割ステップと、
上記複数の圧縮用プロックに分割されたデ一夕を、 各プロックに適した圧縮方 法で圧縮する圧縮ステツプと、
上記圧縮ステップで圧縮された圧縮データを、 その圧縮方法に応じて複数の伸 張用ブロックに分割する分割ステップと、
各伸張用プロックの圧縮デ一夕に対してその圧縮方法と対応した伸張方法によ りデ一夕伸張する伸張ステツプ
とを含むことを特徴とするデ一夕パターンの圧縮及び伸張方法。
3 . 入力されたデータパターンのデ一夕の遷移回数を計算する遷移回数計数ステ ップと、
上記入力されたデータパターンにおける記号の出現確率を計測し、 その記号の 出現確率からデ一夕のエントロピ一を計算するエントロピ一計算ステップと、 上記入力デ一夕パターンのデータの遷移回数を遷移回数しきい値と比較すると 共に、 そのデータのェントロピ一をェントロピ一しきい値と比較する比較ステヅ プと、
上記入力デ一夕パターンを、 上記比較結果に応じて複数の圧縮用プロックの何 れかに分配して分割する分割ステップと、
上記複数の圧縮用プロックに分割されたデ一夕を、 各プロックに適した圧縮方 法を適用してデ一夕圧縮する圧縮ステツプと、
上記圧縮ステップで圧縮された圧縮データを、 その圧縮方法に応じて複数の伸 張用ブロックに分割する分割ステップと、
各伸張用ブロックの圧縮データに対してその圧縮方法と対応した伸張方法によ りデータ伸張する伸張ステップ
とを含むことを特徴とするデータパターンの圧縮及び伸張方法。
4 . 入力されたデ一夕パターンに対してデ一夕圧縮を行なう圧縮方法において、 データの構造に応じて入力データパターンを複数のブロックの何れかに分配し て分割する分割ステップと、
上記複数のプロックに分割されたデ一夕を、 各プロックに適した圧縮方法を適 用してデータ圧縮する圧縮ステップ
とを含むことを特徴とするデータパターン圧縮方法。
5 . 上記分割ステップは、 上記入力パターンのデータの遷移回数を計数するス テツプと、 上記計数した遷移回数をしきい値と比較する比較ステップとを含み、 上記分割ステップは、 上記比較の結果に応じて複数のプロックの何れかに上記 デ一夕パターンを分配するステップを含む
ことを特徴とする請求の範囲第 4項に記載のデ一夕パターン圧縮方法。
6 . 上記圧縮ステップは、 上記遷移回数がしきい値より小であるブロックに対し てランレングス圧縮法を適用し、 しきい値より大のブロックに対しては他の圧縮 法を適用することを特徴とする請求の範囲第 5項に記載のデ一夕パターン圧縮方 法。
7 上記分割されたプロック中のデータの周期性が大であるプロックに対してブ ロウズ ウイ一ラ一 (Burrows Wheeler) 変換 (以下、 B W変換と称す) を行な うステップを含み、 上記 B W変換されたデータに対しては上記圧縮ステップでラ ンレングス圧縮法を適用することを特徴とする請求の範囲第 4項に記載のデータ パターン圧縮方法。
8 入力したデ一夕パターンに対して圧縮を行なう圧縮方法において、
デ一夕の統計的な性質に応じて入力デ一夕パターンを複数のブロックの何れか に分配して分割する分割ステップと、
上記複数のブロックに分割されたデータを、 各ブロックに適した圧縮方法を適 用してデ一夕圧縮する圧縮ステツプ
とを含むことを特徴とするデータパターン圧縮方法。
9 . 上記分割ステップは、 上記入力データパターンにおける記号の出現確率を計 測し、 その記号の出現確率からデ一夕のエントロピーを計算するステップと、 上 記データのエントロピーをしきい値と比較する比較ステップと、 上記比較の結果 に応じて複数の圧縮用ブロックの何れかに上記入力デ一夕パターンを分配するス テツプとを含むことを特徴とする請求の範囲第 8項に記載のデ一夕パターン圧縮 方 。
1 0 . 上記分割されたプロック中のェント口ビーがしきい値より小であるプロヅ クに対しては上記圧縮ステップで Huffman圧縮法を適用することを特徴とする 請求の範囲第 9項に記載のテストパターン圧縮方法。
1 1 . 上記分割されたブロック中のエントロピ一がしきい値より小であるブロッ クに対して上記圧縮ステップで L Z圧縮法を適用することを特徴とする請求の範 囲第 9項に記載のデ一タノ 夕一ン圧縮方法。
1 2 . 上記分割されたブロック中のエントロピ一がしきい値より小であるブロヅ クに対して上記圧縮ステツプで算術符号化圧縮法を適用することを特徴とする請 求の範囲第 9項に記載のデ一夕パターン圧縮方法。
1 3 . 入力されたデータパターンに対してデータ圧縮を行なう圧縮方法において、 入力されたデ一タパ夕一ンのデ一夕の遷移回数を計算する遷移回数計数ステツ プと、
上記入力されたデータパターンにおける記号の出現確率を計測し、 その記号の 出現確率からデ一夕のエントロピ一を計算するエントロピ一計算ステップと、 上記入力データパターンのデータの遷移回数を遷移回数しきい値と比較すると 共に、 そのデ一夕のエントロピ一をエントロピ一しきい値と比較する比較ステツ プと、
上記比較結果に応じて複数の圧縮用ブロックの何れかに上記入力されたデータ パターンを分配して分割する分割ステップと、
上記複数の圧縮用ブロックに分割されたデータを、 各ブロックに適した圧縮方 法を適用してデータ圧縮する圧縮ステツプ
とを含むことを特徴とするデータパターン圧縮方法。
1 4 . 上記圧縮ステップにおいては、 上記遷移回数がしきい値以下のブロックに 対し、 ランレングス圧縮法を適用し、 遷移回数がしきい値より犬で、 かつェント ロビーがしきい値以下のブロックに対し、 B W変換を少くとも 1回行った後、 ラ ンレングス圧縮法を適用してデータ圧縮を行うことを特徴とする請求の範囲第 1 3項に記載のデータパターン圧縮方法。
1 5 . 環境パラメ一夕を入力するステップと、 入力された環境パラメ一夕を用い て上記しきい値を計算するステップとをさらに含むことを特徴とする請求の範囲 第 5項、 第 9項及び第 1 3項のいずれかに記載のデータパターン圧縮方法。
1 6 . 可能性のある各データパターンについてしきい値を計算するステップと、 上記計算されたしきい値を用いてデータパターンの圧縮率を見積もり、 圧縮率が 最大となるようにしきレ、値の最適化を行なうステップとをさらに含み、 上記最適 化されたしきい値を上記比較ステツプに用いることを特徴とする請求の範囲第 5 項、 第 9項及び第 1 3項のいずれかに記載のテストパターン圧縮方法。
1 7 . 上記分割ステップは、
入力デ一夕パターンに対し、 B W変換を適用するステップと、
上記 B W変換されたデータの遷移回数を計数するステップと、
上記遷移回数から圧縮率を計算するステップと、
上記圧縮率の最大値及びその圧縮率が最大となる B W変換回数を求めるステツ プと、
圧縮率の最大値と圧縮率のしきい値とを比較するステップと、
その比較結果に応じて入力データパターンを複数のブロックに分配して分割す るステップ
とからなることを特徴とする請求の範囲第 4項に記載のデータパターン圧縮方
1 8 . 上記圧縮ステップは、
上記しきい値以上のブロックに対し、 L Z圧縮法、 Huffman圧縮法、 算術符号 化圧縮法などの圧縮法を適用するステップと、
上記しきい値以下のプロックに対しては、 上記最大圧縮率となる B W変換回数 だけ、 B W変換を行った後、 ランレングス圧縮を適用するステップ
とからなることを特徴とする請求の範囲第 1 7項に記載のデータパターン圧縮 方法。
1 9 . 上記入力データパターンは半導体集積回路のテストパターンにおける各ピ ン対応のパターンであることを特徴とする請求の範囲第 4項乃至第 1 8項のいず れかに記載のデ一夕パターン圧縮方法。
2 0 . 入力された圧縮データに対して伸張を行なう伸張方法において、
入力された圧縮デ一夕の圧縮方法に応じて圧縮デ一夕を複数のブロックに分割 する分割ステップと、 上記複数のブロックに分割されたデータを、 各ブロックの圧縮方法と対応した 伸張方法によりデータ伸張する伸張ステップ
とを含むことを特徴とするデータパターン伸張方法。
2 1 . 上記分割ステップは、 入力された圧縮データを、 ランレングス圧縮法で圧 縮されたデ一夕と、 その他の圧縮法で圧縮されたデータとに分割し、 上記伸張ス テツブにおいて上記ランレングス圧縮法で圧縮されたデータに対してはランレン グス伸張法により伸張することを特徴とする請求の範囲第 2 0項に記載のデータ パターン伸張方法。
2 2 . 上記分割ステップにおいては、 入力された圧縮デ一夕を、 直接ランレング ス圧縮法で圧縮されたデ一夕と、 B W変換後にランレングス圧縮法で圧縮された データとに分割し、
上記伸張ステップにおいては上記直接ランレングス圧縮法で圧縮されたデータ に対して、 ランレングス伸張法を適用してデ一夕伸張して出力し、 上記 B W変換 後にランレングス圧縮法で圧縮されたデ一夕に対しては、 ランレングス伸張法を 適用した後、 その伸張されたデータを B W逆変換して出力することを特徴とする 請求の範囲第 2 0項に記載のデータパターン伸張方法。
2 3 . 上記分割ステップにおいては、 入力された圧縮データ中に L Z圧縮法で圧 縮されたデータがあれば、 これを他の圧縮デ一夕から分割し、
上記伸張ステップにおいては L Z圧縮法で圧縮された圧縮データに対して、 L Z伸張法を適用してデータ伸張して出力することを特徴とする請求の範囲第 2 0 項に記載のデ一夕パ夕一ン伸張方法。
2 4 . 上記分割ステップにおいては、 入力された圧縮デ一夕を、 Huffman圧縮法 で圧縮されたデータと、 その他の圧縮法で圧縮されたデ一夕とに分割し、 上記伸張ステップにおいては Huffman圧縮法で圧縮されたデータに対し、 Huffman伸張法を適用することを特徴とする請求の範囲第 2 0項に記載のデ一夕 パターン伸張方法。
2 5 . 上記分割ステップにおいては、 入力された圧縮デ一夕を、 L Z圧縮法で圧 縮されたデータと、 その他の圧縮法で圧縮されたデ一夕とに分割し、
上記伸張ステップにおいては上記 L Z圧縮法で圧縮データされたデ一夕に対し、 L Z伸張法を適用することを特徴とする請求の範囲第 2 0項に記載のデ一タパ ターン伸張方法。
2 6 . 上記分割ステップにおいては、 入力された圧縮デ一夕を、 算術符号化圧縮 法で圧縮されたデ一夕と、 その他の圧縮法で圧縮されたデータとに分割し、 上記伸張ステツプにおいては上記算術符号化圧縮法で圧縮されたデータに対し て、 算術符号化伸張法を適用することを特徴とする請求の範囲第 2 0項に記載の データパターン伸張方法。
2 7 . 上記分割ステップにおいては、 入力された圧縮デ一夕を、 直接ランレング ス圧縮法で圧縮されたデータと、 B W変換後にランレングス圧縮法で圧縮された デ一夕と、 その他の圧縮法で圧縮されたデータとに分割し、
上記伸張ステップにおいては、 上記直接ランレングス圧縮法で圧縮されたデ一 夕に対して、 ランレングス伸張法を適用してデ一夕伸張して出力し、 上記 B W変 換後にランレングス圧縮法で圧縮されたデータに対しては、 ランレングス伸張法 を適用した後、 その伸張されたデ一夕を、 圧縮時の B W変換回数だけ、 B W逆変 換して出力し、 上記他の圧縮法で圧縮されたデータに対しては、 その圧縮法と対 応した伸張法を適用してデータ伸張して出力することを特徴とする請求の範囲第 2 0項に記載のデ一夕パターン伸張方法。
2 8 . 上記入力圧縮デ一夕は半導体集積回路のテストパターンを圧縮したデータ であり、 上記伸張ステップから出力される伸張データは上記テストパターンのピ ン対応のパターンであることを特徴とする請求の範囲第 2 0項乃至第 2 7項のい ずれかに記載のデータパターン伸張方法。
2 9 . 圧縮法を異にする複数の圧縮手段と、
入力されたテストパターンを被試験集積回路の各ピン毎のテストシーケンスに 分割する分割手段と、
各テストシーケンスのデ一夕の構造に応じて複数の圧縮手段から適切なものを 選択して対応するテストシーケンスをビン毎にデータ圧縮させる圧縮手法決定手 段
とを具備することを特徴とするテストパターン圧縮装置。
3 0 . 上記圧縮手法決定手段と、 上記複数の圧縮手段は、 上記被試験集積回路の 各ビン毎に設けられ、 上記分割手段は上記テストシーケンスを対応するピンの圧 縮手法決定手段に供給することを特徴とする請求の範囲第 2 9項に記載のテスト パターン圧縮装置。
3 1 . 上記複数の圧縮手段は、 テストシーケンスに対しランレングス圧縮方法で 圧縮するランレングス圧縮手段と、 テストシーケンスに対し少くとも 1回の B W 変換を適用する B W変換手段を備え、 かつ B W変換出力を上記ランレングス圧縮 手段へ供給する B W Tランレングス圧縮手段とを具備することを特徴とする請求 の範囲第 2 9項又は第 3 0項に記載のテストパ夕一ン圧縮装置。
3 2 . 上記複数の圧縮手段に、 上記ランレングス圧縮手段、 上記 B W Tランレン グス圧縮手段以外の圧縮手段を具備することを特徴とする請求の範囲第 2 9項又 は第 3 0項に記載のテストパターン圧縮装置。
3 3 . 上記圧縮手法決定手段は、
入力されたテストシーケンスに対し、 B W変換を適用する場合の適切な適用回 数を計算する B W変換最適化手段と、
圧縮率のしきい値を格納するしきレ、値記憶手段と、
上記 B W変換最適化手段から得られる圧縮率の最大値と、 上記しきい値記憶手 段のしきい値とを比較する圧縮率比較手段と、
この圧縮率比較手段から得られた比較の結果及び上記 B W変換最適化手段から 得られた BW変換の適切な適用回数に応じてテストシーケンスを圧縮する圧縮手 段を選択する圧縮手法選択手段
とを具備することを特徴とする請求の範囲第 3 1項又は第 3 2項に記載のテス トパターン圧縮装置。
3 4 . 入力されたテストパターンを被試験集積回路の各ピン毎のテストシ一ケン スに分割するステップと、
分割された各テストシーケンスのデータの構造に応じて適切な圧縮手法を選択 してテストシーケンスをピン毎に圧縮するステップ
とを含むことを特徴とするテストパターン圧縮方法。
3 5 . 入力されたテストパターンを被試験集積回路の各ピン毎のテストシ一ケン スに分割するステップと、
分割された各テストシーケンスに対して並列に、 テストシーケンスのデータの 構造に応じて適切な圧縮手法を選択してテストシーケンスをピン毎に圧縮するス テツプ
とを含むことを特徴とするテストパターン圧縮方法。
3 6 . 入力されたテストシーケンスに対して適応する適切な圧縮手法を決定する ステップと、
ランレングス圧縮手法、 或いは、 BW変換を 1回以上適用した後、 ランレング ス圧縮手法を適用する圧縮手法 (以下、 BWTランレングス圧縮手法と称す) 、 或いは、 L Z圧縮手法、 Huffman圧縮法、 算術符号化圧縮法などの他の圧縮法の うちのいずれか 1つを適用してテストシーケンスの圧縮を行なうステップ とをさらに含むことを特徴とする請求の範囲第 3 4項又は第 3 5項に記載のテ ストパターン圧縮方法。
3 7 . 上記テストシーケンスに対し、 B W変換を適用するステップと、 上記 B W変換されたデータの遷移回数を測定するステップと、
上記遷移回数から圧縮率を計算するステップと、
圧縮率の最大値及びその圧縮率が最大となる B W変換の回数を求めるステップ と、
圧縮率の最大値と圧縮率のしきい値とを比較するステップと、
その比較の結果に応じてランレングス圧縮手法で圧縮するか、 或いは、 B W T ランレングス圧縮手法で圧縮するか、 或いは、 他の圧縮方法で圧縮するかを選択 するステップ
とをさらに含むことを特徴とする請求の範囲第 3 6項に記載のテストパターン 圧縮方法。
3 8 . 入力された圧縮データを被試験集積回路の各ビン毎の圧縮データに分割す る圧縮データ分割手段と、
各分割された圧縮データに対して、 圧縮手法を示すフラグに応じた伸張方法を 選択し、 適用する複数のテストシーケンス伸張手段
とを具備することを特徴とするテストパターン伸張装置。
3 9 . 上記複数のテストシーケンス伸張手段は上記被試験集積回路の各ピン毎に 設けられ、
上記圧縮デ一夕分割手段は、 上記分割した圧縮デ一夕を対応するテストシーケ ンス伸張手段へ供給し、
上記複数のテストシーケンス伸張手段は並列に動作する
ことを特徴とする請求の範囲第 3 8項に記載のテストパターン伸張装置。
4 0 . 上記圧縮デ一夕のフラグによりランレングス圧縮手法か、 B W Tランレン グス圧縮手法か、 その他の圧縮手法かを判定する圧縮手法判定手段と、
圧縮データに対して、 ランレングス伸張手法を用いて伸張を行なうランレング ス伸張手段と、 上記ランレングス伸張手段によって伸張されたデータに対して逆 BW変換を 1 回以上適用してデータの変換を行なう繰り返し逆 B W変換手段と、
圧縮データに対して他の伸張手法を用いて伸張を行なう他の伸張手段 とをさらに具備することを特徴とする請求の範囲第 3 8項又は第 3 9項に記載 のテストパターン伸張装置。
4 1 . 入力された圧縮デ一夕を被試験集積回路の各ビン毎の圧縮データに分割す るステップと、
各分割された圧縮データを、 そのフラグに応じた圧縮手法に対応する伸張方法 により伸張するステップ
とを含むことを特徴とするテストパターン伸張方法。
4 2 . 上記伸張ステップは各ピン毎に並列に行なうことを特徴とする請求の範囲 第 4 1項に記載のテストパターン伸張方法。
4 3 . 上記伸張ステップで用いる伸張方法はランレングス伸張方法か、 ラ グス伸張方法により伸張した後、 逆 B W変換する伸張方法かのいずれかであるこ とを特徴とする請求の範囲第 4 1項又は第 4 2項に記載のテストパターン伸張方
4 4 . 上記伸張ステップで用いる伸張方法に、 さらに他の伸張方法を含むことを 特徴とする請求の範囲第 4 3項に記載のテストパターン伸張方法。
4 5 . 圧縮法を異にする複数の圧縮手段と、
入力されたテストパターンを被試験集積回路の各ビン毎のテストシーケンスに 分割する分割手段と、
各テストシーケンスのデータの構造に応じて複数の圧縮手段から適切なものを 選択して対応するテストシーケンスをビン毎にデ一夕圧縮させる圧縮手法決定手 段と、 入力された圧縮デ一夕を被試験集積回路の各ビン毎の圧縮データに分割する圧 縮データ分割手段と、
各分割された圧縮データに対して、 圧縮手法を示すフラグに応じた伸張方法を 選択し、 適用する複数のテストシーケンス伸張手段
とを具備することを特徴とするテストパターン圧縮及び伸張装置。
4 6 . 入力されたテストパ夕一ンを被試験集積回路の各ビン毎のテストシーケン スに分割するステップと、
分割された各テストシーケンスのデータの構造に応じて適切な圧縮手法を選択 してテストシーケンスをビン毎に圧縮するステップと、
入力された圧縮データを被試験集積回路の各ビン毎の圧縮データに分割するス テヅプと、
各分割された圧縮データを、 そのフラグに応じた圧縮手法に対応する伸張方法 により伸張するステップ
とを含むことを特徴とするテストパターン圧縮及び伸張方法。
4 7 . 入力されたテストパ夕一ンを被試験集積回路の各ピン毎のテストシ一ケン スに分割するステップと、
分割された各テストシーケンスに対して並列に、 テストシーケンスのデータの 構造に応じて適切な圧縮手法を選択してテストシーケンスをピン毎に圧縮するス テヅプと、
入力された圧縮データを被試験集積回路の各ビン毎の圧縮データに分割するス テップと、
各分割された圧縮データを、 そのフラグに応じた圧縮手法に対応する伸張方法 により伸張するステップ
とを含むことを特徴とするテストパターン圧縮及び伸張方法。
4 8 . 前記請求の範囲第 2 9項に記載のテストパターン圧縮装置と、
圧縮されたテストパターンデータを保存するための大容量記憶装置と、 テストパターンデ一夕を格納し、 テストパターンを発生するパターンジエネ レー夕と、
圧縮されたテストパターンデータを情報の損失なく完全に元のテストパターン に復元するテストパターン伸張手段
とを具備することを特徴とする半導体集積回路を自動的に試験する半導体集積 回路自動テストシステム。
4 9 . 前記テストパターン伸張手段は、 各ビン毎に圧縮されたテストシーケンス デ一夕を、 各ピンに対して並列に情報の損失なく完全に元のテストパターンに復 元する複数のテストシーケンス伸張手段より構成されていることを特徴とする請 求の範囲第 4 8項に記載の半導体集積回路自動テストシステム。
5 0 . テストパターンを圧縮する手段と、
圧縮されたテストパターンデ一夕を保存するための大容量記憶装置と、 テストパターンデ一夕を格納し、 テストパターンを発生するパターンジエネ レー夕と、
前記請求の範囲第 4 5項に記載のテストパターン圧縮及び伸張装置
とを具備することを特徴とする半導体集積回路を自動的に試験する半導体集積 回路自動テストシステム。
PCT/JP1998/001273 1997-03-24 1998-03-24 Procede et dispositif de compression et de decompression de configuration binaire WO1998043359A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US09/194,220 US6661839B1 (en) 1998-03-24 1998-03-24 Method and device for compressing and expanding data pattern
JP54543498A JP3377217B2 (ja) 1997-03-24 1998-03-24 データパターンの圧縮及び伸張方法並びに圧縮及び伸張装置
EP98909841A EP0909037A4 (en) 1997-03-24 1998-03-24 BINARY CONFIGURATION COMPRESSION AND DECOMPRESSION METHOD AND DEVICE
IL12706398A IL127063A0 (en) 1997-03-24 1998-03-24 Method of compressing and expanding data pattern and data pattern compressing and expanding apparatus
KR1019980709083A KR100341211B1 (ko) 1997-03-24 1998-03-24 데이터패턴의압축및신장방법과압축및신장장치

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP9022597 1997-03-24
JP9/70293 1997-03-24
JP7029397 1997-03-24
JP9/90225 1997-03-24

Publications (1)

Publication Number Publication Date
WO1998043359A1 true WO1998043359A1 (fr) 1998-10-01

Family

ID=26411459

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/001273 WO1998043359A1 (fr) 1997-03-24 1998-03-24 Procede et dispositif de compression et de decompression de configuration binaire

Country Status (6)

Country Link
EP (1) EP0909037A4 (ja)
JP (1) JP3377217B2 (ja)
KR (1) KR100341211B1 (ja)
IL (1) IL127063A0 (ja)
TW (1) TW358165B (ja)
WO (1) WO1998043359A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004081593A1 (ja) * 2003-03-14 2004-09-23 Advantest Corporation 試験装置、試験装置のプログラム、試験パターン記録媒体、及び試験装置の制御方法
JP2005037396A (ja) * 2003-07-15 2005-02-10 Agilent Technol Inc テストデータを適応的に圧縮するためのシステムおよび方法
US7043675B2 (en) 2002-09-27 2006-05-09 Sharp Kabushiki Kaisha Logic circuit test apparatus and logic circuit test method
JP2006322931A (ja) * 2005-04-21 2006-11-30 Matsushita Electric Ind Co Ltd 集積回路検査装置
JP2009015917A (ja) * 2007-07-02 2009-01-22 Yokogawa Electric Corp 半導体試験装置
US7516381B2 (en) 2005-04-21 2009-04-07 Panasonic Corporation Integrated circuit test system
JP2012141860A (ja) * 2011-01-05 2012-07-26 Shuji Itai ソーターソーター(別名:ア・ソータロー)
JP7493001B2 (ja) 2022-09-13 2024-05-30 株式会社日立製作所 圧縮伸長装置、ストレージシステム、および圧縮伸長方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000040750A (ko) * 1998-12-19 2000-07-05 오노 히로시게 반도체 테스트 시스템용 패턴 데이타 압축 및 압축 해제
US20030009595A1 (en) * 2001-07-09 2003-01-09 Roger Collins System and method for compressing data using field-based code word generation
US7064688B2 (en) * 2001-07-09 2006-06-20 Good Technology, Inc. System and method for compressing data on a bandwidth-limited network
US7743119B2 (en) 2001-08-07 2010-06-22 Motorola, Inc. System and method for mapping identification codes
US7155483B1 (en) 2001-08-07 2006-12-26 Good Technology, Inc. Apparatus and method for conserving bandwidth by batch processing data transactions
US7962622B2 (en) 2001-08-07 2011-06-14 Motorola Mobility, Inc. System and method for providing provisioning and upgrade services for a wireless device
US7243163B1 (en) 2001-08-07 2007-07-10 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a messaging system
US7039106B2 (en) 2002-03-25 2006-05-02 Intel Corporation Processing digital data prior to compression
US9813514B2 (en) 2002-06-12 2017-11-07 Good Technology Holdings Limited Information repository system including a wireless device and related method
US8516034B1 (en) 2002-07-08 2013-08-20 Good Technology Software, Inc System and method for modifying application behavior based on network bandwidth
US7620392B1 (en) 2006-02-27 2009-11-17 Good Technology, Inc. Method and system for distributing and updating software in wireless devices
EP1978527B1 (en) * 2007-02-16 2010-10-13 Advantest Corporation Tester
CN105530013B (zh) * 2015-12-03 2018-08-31 四川中光防雷科技股份有限公司 一种波形数据压缩方法与系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS613569A (ja) * 1984-06-18 1986-01-09 Nippon Denki Kanji Syst Kk ランレングス符号化方法
JPS61107818A (ja) * 1984-10-30 1986-05-26 Nec Corp エントロピ−符号化方式とその装置
JPS6282723A (ja) * 1985-10-07 1987-04-16 Canon Inc 画像符号化方法
JPS6298921A (ja) * 1985-10-25 1987-05-08 Canon Inc 符号化装置
JPS6298919A (ja) * 1985-10-25 1987-05-08 Canon Inc 符号化装置
JPS62118642A (ja) * 1985-11-19 1987-05-30 Canon Inc 符号化装置
JPH0193217A (ja) * 1987-10-02 1989-04-12 Matsushita Electric Ind Co Ltd データ圧縮伸長装置
JPH0234038A (ja) * 1988-07-23 1990-02-05 Hitachi Ltd データ圧縮装置
JPH08146088A (ja) * 1993-07-01 1996-06-07 Teledyne Inc 集積回路の自動試験方法及び装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3787669A (en) * 1972-06-30 1974-01-22 Ibm Test pattern generator
US5467087A (en) * 1992-12-18 1995-11-14 Apple Computer, Inc. High speed lossless data compression system
US5535311A (en) * 1994-07-28 1996-07-09 Hewlett-Packard Company Method and apparatus for image-type determination to enable choice of an optimum data compression procedure

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS613569A (ja) * 1984-06-18 1986-01-09 Nippon Denki Kanji Syst Kk ランレングス符号化方法
JPS61107818A (ja) * 1984-10-30 1986-05-26 Nec Corp エントロピ−符号化方式とその装置
JPS6282723A (ja) * 1985-10-07 1987-04-16 Canon Inc 画像符号化方法
JPS6298921A (ja) * 1985-10-25 1987-05-08 Canon Inc 符号化装置
JPS6298919A (ja) * 1985-10-25 1987-05-08 Canon Inc 符号化装置
JPS62118642A (ja) * 1985-11-19 1987-05-30 Canon Inc 符号化装置
JPH0193217A (ja) * 1987-10-02 1989-04-12 Matsushita Electric Ind Co Ltd データ圧縮伸長装置
JPH0234038A (ja) * 1988-07-23 1990-02-05 Hitachi Ltd データ圧縮装置
JPH08146088A (ja) * 1993-07-01 1996-06-07 Teledyne Inc 集積回路の自動試験方法及び装置

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
FENWICK P M: "THE BURROWS-WHEELER TRANSFORM FOR BLOCK SORTING TEXT COMPRESSION: PRINCIPLES AND IMPROVEMENTS", THE COMPUTER JOURNAL., XX, XX, vol. 39, no. 09, 1 January 1996 (1996-01-01), XX, pages 731 - 740, XP002911733, DOI: 10.1093/comjnl/39.9.731 *
See also references of EP0909037A4 *
YOKOO H, TAKAHASHI M: "DATA COMPRESSION BY CONTEXT SORTING", IEICE TRANSACTIONS ON FUNDAMENTALS OF ELECTRONICS,COMMUNICATIONS AND COMPUTER SCIENCES., ENGINEERING SCIENCES SOCIETY, TOKYO., JP, vol. E79-A, no. 05, 5 May 1996 (1996-05-05), JP, pages 681 - 686, XP002911737, ISSN: 0916-8508 *
ZIV J, LEMPEL A, ELECTRONICS, SN, JP, 1 March 1996 (1996-03-01), JP, pages 52/53, XP002911736 *
ZIV J, LEMPEL A: "A UNIVERSAL ALGORITHM FOR SEQUENTIAL DATA COMPRESSION", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE PRESS, USA, vol. 23, no. 03, 1 January 1977 (1977-01-01), USA, pages 337 - 343, XP002911734, ISSN: 0018-9448, DOI: 10.1109/TIT.1977.1055714 *
ZIV J., LEMPEL A.: "COMPRESSION OF INDIVIDUAL SEQUENCES VIA VARIABLE-RATE CODING.", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE PRESS, USA, vol. 24., no. 05., 1 January 1978 (1978-01-01), USA, pages 530 - 536., XP002911735, ISSN: 0018-9448, DOI: 10.1109/TIT.1978.1055934 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043675B2 (en) 2002-09-27 2006-05-09 Sharp Kabushiki Kaisha Logic circuit test apparatus and logic circuit test method
WO2004081593A1 (ja) * 2003-03-14 2004-09-23 Advantest Corporation 試験装置、試験装置のプログラム、試験パターン記録媒体、及び試験装置の制御方法
JPWO2004081593A1 (ja) * 2003-03-14 2006-06-15 株式会社アドバンテスト 試験装置、試験装置のプログラム、試験パターン記録媒体、及び試験装置の制御方法
US7454679B2 (en) 2003-03-14 2008-11-18 Advantest Corporation Test apparatus, computer readable program for test apparatus, test pattern recording medium, and method for controlling test apparatus
JP4704211B2 (ja) * 2003-03-14 2011-06-15 株式会社アドバンテスト 試験装置、試験装置のプログラム、試験パターン記録媒体、及び試験装置の制御方法
JP2005037396A (ja) * 2003-07-15 2005-02-10 Agilent Technol Inc テストデータを適応的に圧縮するためのシステムおよび方法
JP2006322931A (ja) * 2005-04-21 2006-11-30 Matsushita Electric Ind Co Ltd 集積回路検査装置
US7516381B2 (en) 2005-04-21 2009-04-07 Panasonic Corporation Integrated circuit test system
JP4719068B2 (ja) * 2005-04-21 2011-07-06 パナソニック株式会社 集積回路検査装置
JP2009015917A (ja) * 2007-07-02 2009-01-22 Yokogawa Electric Corp 半導体試験装置
JP2012141860A (ja) * 2011-01-05 2012-07-26 Shuji Itai ソーターソーター(別名:ア・ソータロー)
JP7493001B2 (ja) 2022-09-13 2024-05-30 株式会社日立製作所 圧縮伸長装置、ストレージシステム、および圧縮伸長方法

Also Published As

Publication number Publication date
EP0909037A4 (en) 2000-11-22
KR100341211B1 (ko) 2002-08-22
KR20000010935A (ko) 2000-02-25
TW358165B (en) 1999-05-11
JP3377217B2 (ja) 2003-02-17
EP0909037A1 (en) 1999-04-14
IL127063A0 (en) 1999-09-22

Similar Documents

Publication Publication Date Title
WO1998043359A1 (fr) Procede et dispositif de compression et de decompression de configuration binaire
US6661839B1 (en) Method and device for compressing and expanding data pattern
Wolff et al. Multiscan-based test compression and hardware decompression using LZ77
JP3278297B2 (ja) データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置
US6121901A (en) Data compression and decompression system with immediate dictionary updating interleaved with string search
US5945933A (en) Adaptive packet compression apparatus and method
JP3258552B2 (ja) データ圧縮装置及びデータ復元装置
Ishida et al. COMPACT: A hybrid method for compressing test data
Yamaguchi et al. An efficient method for compressing test data
Lee et al. $2^{n} $ pattern run-length for test data compression
Knieser et al. A technique for high ratio LZW compression [logic test vector compression]
US6801141B2 (en) Method for lossless data compression using greedy sequential context-dependent grammar transform
Würtenberger et al. A hybrid coding strategy for optimized test data compression
Ruan et al. An efficient data-independent technique for compressing test vectors in systems-on-a-chip
JP3860910B2 (ja) データ圧縮装置およびデータ圧縮方法
JPH0764765A (ja) データ圧縮装置及びデータ復元装置
RU99125491A (ru) Способ криптографического преобразования l-битовых входных блоков цифровых данных в l-битовые выходные блоки
Stauffer et al. Dictionary Compression on the PRAM
Korate et al. Innovative Method for Test Data Compression Based On Extended Variable Length Codes
Yuan et al. An Efficiency Partially Compatible Test Decompression Technology Oriented RL-HC
Theivadas System-on-Chip Test Data Compression Based on Split-Data Variable Length (SDV) Code
Polian et al. Evolutionary optimization in code-based test compression
KR100227777B1 (ko) 가변 복호화 코드 길이 생성회로
Augustine et al. Logic minimization based approach for compressing image data
Biswas et al. Hybrid test vector compression in system-on-chip test—An overview and methodology

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): IL JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1019980709083

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1998909841

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09194220

Country of ref document: US

ENP Entry into the national phase

Ref country code: US

Ref document number: 1998 194220

Date of ref document: 19981217

Kind code of ref document: A

Format of ref document f/p: F

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1998909841

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019980709083

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1019980709083

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1998909841

Country of ref document: EP