The present invention generally relates to a scan test data compression method and decoding apparatus, applicable to multiple-scan-chain designs.
As the very large scale integrated circuit (VLSI) technology rapidly grows, the complexity of system-on-chip (SoC) design increases, and the amount of related test data also increases greatly. To prevent the test cost from increasing caused by large amount of data, numerous test data compression methods have been proposed. As shown in
The first type is the combinational-type decoder. The decoding circuit is composed of the combinatory logical gates, such as AND, XOR, connected by interconnection lines. This type of decoder creates the dependency between the inputs and the outputs. Therefore, the number of test patterns that can be generated is limited. Even if the automatic test pattern generator (ATPG) can find the test pattern to detect faults, the decoder may not be able to generate corresponding test pattern, and thus result in fault coverage loss. This method also randomly fills the unspecified bits to generate test pattern, which causes a large amount of power consumption.
The second type is the sequential-type decoder. The decoder uses linear feedback shift register (LFSR) and phase shifter to decode. This type is more flexible so that it has a higher compression rate than the first type, but has the same disadvantages of high power consumption and fault coverage loss because of the limitation of the decoder.
The third type is the codeword type. The type uses the conventional data encoding methods to encode test data, such as Huffman coding, or run-length coding. The decoder must implement the corresponding decoding function, and the design must take hardware area into consideration to reduce the area cost. This type may result in the synchronization overhead with the tester due to the mismatch between the tester's transmission speed and the decoding speed. This type is not convenient in supporting multiple-scan-chain designs.
The fourth type is the bit-flip type. This type flips the different bits or region in two test patterns to accomplish data compression. To flip the bits or region in a test pattern, the design relies on the hardware. The conventional technique is to use embedded processor and memory, or random access scan (RAS). The bit-flip design must concern the hardware area, especially for the RAS, which may be considerably expensive. This type is suitable for highly correlated test patterns.
The examples of the present invention may provide a scan test data compression method and decoding apparatus for multiple-scan-chain designs to effectively overcome the problem in conventional test data compression techniques.
The scan test data compression method can transform the scan test pattern into an encoded data, and use a decoder circuit to decode the encoded data. The amount of encoded data is much less than the original data, and the data transmission time is reduced.
The decoder may include a controller, a decoding buffer for receiving control signals from the controller, and a switching box. An external tester is connected to the decoder through a test channel, and the encoded data is transmitted to the decoder through the test channel. The controller in the decoder generates control signals for switching box and decoding buffer. The encoded data is decoded through shift and copy to restore the pattern compatible to the original test pattern. The decoded data is transmitted to the scan chains of the circuit-under-test (CUT) for testing. The decoding buffer reduces the internal changes in the scan flip-flop by repetitively sending the same bit slice to CUT, and further reduces the power consumption for testing.
The decoding buffer comprises data flip-flops, and can form different layers architecture with switching box when designed. Each layer can group the flip-flops into groups. Each lower layer can be further divided into higher layers by dividing each group into smaller groups.
With the architecture of the decoding apparatus for scan test data, the compression method for the multiple-scan-chain designs of the present invention may use the decoding buffer and the switching box to control shift and copy mode to achieve the data decoding, transfers the data to CUT so that CUT can receive test pattern for scan test.
The present invention only requires a test channel of tester to support multiple scan chains. The compression method is simple, and can be flexibly used in a conventional design flow or integrated into ATPG to provide higher efficiency. The hardware cost of the decoder of the present invention is inexpensive, and without the problem of fault coverage loss.
The foregoing and other objects, features, aspects and advantages of the present invention will become better understood from a careful reading of a detailed description provided herein below with appropriate reference to the accompanying drawings.
An external tester 210 inputs an encoded data 210a to the decoder 201. The controller 2011 of the decoder 201 generates a plurality of control signals 2011a for switching box 2013 and decoding buffer 2012 according to input encoded data 210a. Based on the control signals 2011a, the decoder 201 uses a decoding algorithm, through controlling shift and copy modes, to decode the encoded data 210a, asserts the scan clock sclk of a CUT 220, and transmits the decoded data 201a through the decoding buffer 2012 to the multiple scan chains 220a of the CUT 220 for testing.
The decoding buffer 2012 is configured as a multilayer structure.
The multilayer structure is described as follows. The decoding buffer is first treated as the first layer, Lv1. The a DFFs are grouped into m groups, with each group having b DFFs. In other words, m*b=a, and these m groups B1-Bm form the second layer, Lv2. Similarly, each group of Lv2 is further divided into n groups C1-Cn, with each group having c DFFs. That is, n*c=b, and these groups form the third layer, Lv3. More layers can be obtained if further division is performed.
According to the present invention, the switching box 2013 can provide the data transmission paths between DFFs after receiving the control signal 2011a. Based on control signal 2011a, each data in the DFF of decoding buffer 2012 can be transmitted to different destination DFF.
The decoding buffer 2012 has two operation modes, i.e. shift mode and copy mode.
With the design of the switching box 2013, decoding buffer 2012 can have different layer architecture. The switching box 2013 can be implemented with multiplexers.
Through copy mode, the test data can be quickly loaded into decoding buffer and transmitted to CUT to achieve data compression. When a bits of data are decoded and stored in the decoding buffer, it indicates a bit slice is ready. Then, the decoder asserts the scan clock, sclk, of CUT, and the bit slice is transmitted to the scan chains of CUT.
Referring to
If it is a copy signal in step 702, step 705 is to group-copy the bits in the decoding buffer and obtain the current layer of the decoding buffer.
It can be observed in the above decoding process that the test data is not transmitted to the CUT in every test cycle, but only when the decoding buffer is filled with a bit slice. This is different from the conventional test data decoding technique. In addition, the present invention does not have the problem of synchronization because the tester is not stopped during the entire decoding process.
Correspondingly, the present invention utilizes the data compatibility in the original test cube to encode the shift and copy signals. The shift signals are for inputting original test data sequentially, and the copy signals are for group-copying the data in the decoding buffer to generate a test pattern compatible with the original test cube.
In the above process, the current layer may be changed after a shift or copy operation. With a counter to record the current location of the decoding buffer, the current layer can be computed.
The example in
For the first bit, marked as (a), the first step is to check whether the first layer can be copied. Because the copy can not be done, the control bit “0” is encoded. As the second layer and the third layer cannot be copied neither, two control bits ‘00” are encoded, and the shift mode is entered. Finally, a data bit “0” is inputted. The most right part for each bit shows the corresponding encoded data. For the bit marked as (a), the encoded data is three control bits “000” and a shift data bit “0”.
For the second bit, marked as (b), another data bit is added to the encoded data. For the bit marked as (c), Lv3 copy is checked for applicability. For the bit marked as (e), Lv2 copy is first checked for applicability, and found Lv3 copy can be applied; thus the control bits “01” are encoded. The final encoded data is “000000010010X1”, including three shift modes and an Lv3 copy mode.
The multilayer data copy can be applied to test data compression in two ways. The first is to compress the automatic test pattern generator (ATPG) generated test patterns, and the second is to integrate the multilayer data copy compression technique into ATPG to improve the encoding efficiency. The present invention further includes an automatic test pattern generator for generating highly compressible test patterns, called multilayer data copy pattern generator (MDCGEN).
To reduce the power consumption for scan testing, the present invention increases the probability of Lv1 copy as much as possible. Because when the Lv1 copy is performed, the two neighboring bit slices are identical, and the number of the bit flips of scan DFF will not increase. Therefore, the increase in the number of bit flips of scan chain shift can be avoided. On the other hand, to improve the test compression rate, the present invention applies Lv1 copy as much as possible to reduce the number of transmitted data. Therefore, both have the same requirement to achieve low power consumption and high test data compression rate.
In the present invention, the ATPG uses two stages to generate test patterns. The first stage is to generate random test patterns. The random test patterns can test the easy-to-detect faults of the CUT. After the random test pattern testing, the second stage is to generate deterministic patterns targeting the faults that cannot be easily tested by random test patterns.
The random test patterns of the first stage are generated by randomly generating a bit slice for the decoding buffer, and repeatedly inputting the same bit slice to the scan chain of CUT. That is, applying the Lv1 copy to repeatedly input bits until the scan chains are entirely loaded, or change to another bit slice when partially loaded to generate patterns with more randomness. The generated random test patterns can first test the easy-to-detect faults of CUT. Based on the generated random test patterns, the present invention can easily bust the fault coverage to a certain level with low scan-in power consumption.
After completing the random test pattern testing, the deterministic patterns of the second stage are generated. A test cube list (TCL) is used to store the generated test cubes throughout the following explanation. First, a test cube is generated targeting for undetected faults. If the generated test cube is compatible with the test cubes in the TCL, the best compatible test cube is selected for merging with the generated test cube. The definition of the best compatibility is the best compression rate without large number of bit flips after being merged with the generated test cube. After that, the merged test cube is applied for fault simulation to remove the additional detected faults, and steps are repeated. If the generated test cube is not compatible with the test cubes in the TCL, the generated test cube is added to the TCL.
After step 1104, step 1106 is to check whether there is still fault for processing. If so, return to step 1102; otherwise, the process for deterministic pattern generation ends.
After step 1105, a fault simulation is conducted and the faults detected by the selected merged test pattern are dropped, as shown in step 1107, then followed by returning to step 1106.
The experimental results of the present invention include the comparison of compression rate and the power consumption of the test patterns. As the results show, in comparison with the conventional techniques, the compression method according to the present invention is simple, provides high compression rate, consumes less power during the test, and is without the problem of fault coverage loss.
In summary, the present invention provides a scan test data compression method and decoding apparatus for multiple-scan-chain designs. The present invention only requires a test channel of the tester to support large amount of internal scan chains. The compression method according to the present invention can transform the conventional scan test patterns into encoded data. The amount of encoded data is much less than the original data; therefore, the data transmission time is reduced. In addition, by using the decoding buffer of the decoder, the controller can restore the encoded data to a pattern that is compatible with the original test pattern, and transmit to the CUT. The decoding buffer applies Lv1 copy to transmit the same bit slice repeatedly to CUT so as to reduce the number of transitions of scan registers, and also reduce the power consumption during test.
The present invention can be applied to the compression of the test patterns generated by ATPG, or integrated into the pattern generation process of ATPG to improve the encoding efficiency. The compression method is without the problem of fault coverage loss. Because the compression method does not randomly fill don't-care bits to generate test patterns, the power consumption during the test is lower.
Although the present invention has been described with reference to the preferred embodiments, it will be understood that the invention is not limited to the details described thereof. Various substitutions and modifications have been suggested in the foregoing description, and others will occur to those of ordinary skill in the art. Therefore, all such substitutions and modifications are intended to be embraced within the scope of the invention as defined in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
095144446 | Nov 2006 | TW | national |