1. Technical Field
The present invention generally relates to testing of integrated circuits and, more specifically, to a method of performing signature analysis in the presence of corrupted bits.
2. Description of Related Art
Integrated circuits are now commonly designed with scan chains comprised of a plurality of scannable memory elements or scan cells. Each scan chain has a serial input for serially loading a test pattern into the scan chain and a serial output connected to a signature register through a masking circuit, described later. Memory elements which form the scan chains are connected to combinational logic circuits. During a scan test of a circuit, test patterns are loaded into the memory elements by shifting them through the serial inputs and then applying the test patterns to the combinational logic circuits. The response of the combinational circuits is then captured by the memory elements and unloaded by shifting out the contents of the memory elements and applying the responses to the inputs of a signature register which generates a signature.
Combinational circuits are typically designed so that the response of the circuits is predictable and repeatable. That is, the output response captured by the memory elements is always the same for a given test pattern and the signature register always generates the same signature. However, there are circumstances where the output response is not completely predictable and repeatable and yet it is desired to compute a signature to analyze the part of the output response that is predictable and repeatable. A non-repeatable output response can be caused by test patterns that are not valid functional patterns or by a design error or a defect. Whatever the reason, the corrupted bits (each memory element in a scan chain stores one bit of the output response) must be masked so that the signature register can generate a repeatable signature for a “good circuit”, i.e., a circuit that is good except for some logic that generated corrupted bits.
Typically, corrupted bits are masked prior to applying them to the input of the signature register. However, some corrupted bits in the output response may not be caused by defective logic circuits. Rather, they may be caused by incorrect operation of one or more scan chains. The incorrect operation could be caused by a blockage of the scan data or scan data being lost because of a hold time problem. In the latter case, the serial input of the defective scan chains can be masked.
Applicants' U.S. Pat. No. 6,745,359 issued on Jun. 1, 2004 for “Method of Masking Corrupt Bits During Signature Analysis and Circuit for Use Therewith” (Docket No. LVPAT060US), incorporated herein by reference, discloses and claims a masking circuit for use in masking bits in scan chains in an integrated circuit under test. The masking circuit comprises a scan chain mask register for storing a scan chain mask and a bit position mask register for storing a position mask. The chain mask register has chain mask register elements with each of the elements being associated with one or more scan chains and identifying scan chains in which bits are to be masked. The position mask register has position mask register elements, each of which stores a position mask bit which identifies scan chain bit positions to be masked. A gating circuit has a scan chain input for each scan chain connected to the serial output of the scan chains, a bit position mask input connected to bit position mask register, a chain mask input connected to the chain mask register, a first coupling means for coupling the position and chain mask inputs and generating a masking bit and second coupling means for coupling the masking bit with a serial output of each of the scan chains. The circuit described does not provide any means for handling defective scan chains or the loss of data caused by hold time problems.
Abdel-Hafez et al. U.S. patent application Ser. No. 20040237015 published on Nov. 25, 2004 discloses a method and circuit which uses an output mask controller and network and an input chain-mask controller and an input-mask network. The latter is to allow designers to recover from faulty scan chain design by forcing constant logic values to the scan chain inputs of failing scan chains during test. The input mask network is controlled by an input chain-mask controller. The input chain-mask controller generates input-mask enable signals. The input chain-mask controller is programmed through a Chain-Mask-In input when a Load signal is asserted. In one embodiment, the input chain-mask controller consists of a shift register comprised of a number of storage elements. The number of storage elements matches the number of scan chains in a scan core. The output of the shift register specifies input-mask enable information for all scan chains in parallel. An embodiment of the input-mask network consists of a number of OR gates, one for each scan chain input. Input-mask enable signals are ORed with scan chain inputs and the outputs drive the internal scan chain inputs. In this embodiment, a scan chain input is blocked if its corresponding input-mask enable signal is set to logic value 1. Another embodiment of the input-mask network consists of a number of AND gates, one for each scan chain input. Input-mask enable signals are ANDed with scan chain inputs and the outputs drive the internal scan chain inputs. In this embodiment, a scan chain input is blocked, if its corresponding input-mask enable signal is set to logic value 0.
Similar circuitry is provided for masking scan chain outputs. The invention suffers from the drawback that the input and output mask controllers are relatively complex and require considerable circuit resources.
Rajski et al. U.S. Pat. No. 6,829,740 issued on Dec. 7, 2004 for “Method and Apparatus for Selectively Compacting Test Responses” discloses a method and apparatus to compact test responses containing unknown values or multiple fault effects in a deterministic test environment. The proposed selective compactor employs a linear compactor with selection circuitry for selectively passing test responses to the compactor. In one embodiment, gating logic is controlled by a control register, a decoder, and flag registers. This circuitry, in conjunction with any conventional parallel test-response compaction scheme, allows control circuitry to selectively enable serial outputs of desired scan chains to be fed into a parallel compactor at a particular clock rate. A first flag register determines whether all, or only some, scan chain outputs are enabled and fed through the compactor. A second flag register determines if the scan chain selected by the selector register is enabled and all other scan chains are disabled, or the selected scan chain is disabled and all other scan chains are enabled.
The drawbacks to this arrangement are that it focuses on diagnosis only and does not provide masking modes to maximize fault coverage in the presence of unknowns. Also, the arrangement does not address problems associated with hold time which require to masking both scan chain inputs and scan chain outputs.
The present invention seeks to improve on prior art masking circuitry in a manner which maximizes the fault coverage of a test, minimizes the amount of additional logic required to implement mask circuitry, minimizes the number of clock cycles required to perform a test, maximizes the clock rate at which a signature can be computed, minimizes the amount of information which needs to be stored on a tester and provides a default mode of operation which does not require any information from the tester.
More specifically, the present invention seeks to provide masking circuitry which is of simple construction and which selectively provides for masking of the output or input and output of any scan chain. The invention provides a mask register which has at least two register elements associated with each scan chain and a mask control circuitry which responds to the contents of the register elements to provide one of a plurality of masking modes for each scan chain. In one embodiment, the mask register comprises a one-bit register element for each scan chain to specify whether the output of a scan chain is to be masked and a global one-bit register element, which is common to all scan chains, to specify whether the scan chain input of scan chains whose outputs are to be masked, will also be masked. This provides for three masking modes: no masking of a scan chain; masking of all outputs of a scan chain, and masking of both all inputs and all outputs of a scan chain.
In another embodiment, a two-bit register is provided for each scan chain. The register determines whether input and/or output masking is to be performed on the corresponding scan chain and provides for four masking modes for each scan chain. In this embodiment, a position mask determines the mask value to be applied when specific cells of a scan chain are to be masked.
These features allow at-speed production tests or field tests to be performed while maximizing fault coverage.
These and other features of the invention will become more apparent from the following description in which reference is made to the appended drawings in which:
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention, However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components and circuits have not been described in detail so as not to obscure aspects of the present invention.
In general, the present invention provides a masking circuit for selectively masking scan chain outputs and inputs during scan testing of an integrated circuit. The masking circuit comprises a mask register having at least two mask register elements for each scan chain to provide a plurality of masking modes; and an input and output mask control circuit for each scan chain. Each of the mask control circuits is connected between a test pattern source and a signature register and between a serial input and a serial output of an associated scan chain and is responsive to mask control data stored in the register elements for configuring the associated scan chain in one of the plurality of masking modes during a scan test of the circuit.
One embodiment of the present invention seeks to provide a masking circuit which is of simple construction and of a small size. The masking circuit is incorporated into a logic test controller. The at least two register elements include a scan chain specific register element for each scan chain for storing mask control data that selectively indicates whether the output of its corresponding scan chain is to be masked; and a global register element that is common to all scan chains for storing mask control data indicating whether the input of a scan chain is to be masked if the mask control data stored in the specific register element of the scan chain indicates that the scan chain output is to be masked.
As shown in
The scan chain output mask bit determines whether the output of the scan chain is to be masked. One value (e.g., Logic 0) of the scan chain mask bit indicates that the output of the scan chain is not to be masked. Another value (e.g., Logic 1) of the scan chain mask bit indicates that all timeslots of the scan chain output are to be gated to Logic 0. The scan chain input mask bit is applied to the mask control circuit of all of the scan chains. One value (e.g., Logic 0) indicates that the input of the scan chain is not to be masked. Another value (e.g., Logic 1) indicates that all timeslots (scan cells) of the scan chain input of a scan chain whose outputs are to be masked, is to be gated to a predetermined value, e.g., Logic 0.
It will be seen that no masking is performed when both output mask bit 14 and input mask bit 18 are set to logic 0. When output mask bit 14 is asserted for a scan chain, all serial outputs (timeslots) of the scan chain are gated to logic 0 and that when input mask bit 18 is asserted, the serial input is similarly gated to Logic 0 for all scan chains whose corresponding mask bit 14 is asserted.
This embodiment of the invention includes a position mask 30 in addition to chain mask 16. The position mask outputs a bit value which is used to mask the contents of a cell in a scan chain which is marked to be masked by an associated chain mask bit in the chain mask. This is similar to the invention of Applicants' aforementioned patent; however, there are two primary differences.
First, each scan chain is associated with at least two bits of the chain mask as mentioned above. Second, both the serial input and the serial output of a scan chain can be masked selectively. Thus, in
Mask register 16 is in the form of a shift register which includes both register elements 32 and 34 of all scan chains, as shown. It will be understood that the mask register may be arranged in the form of two shift registers (not shown), one containing all register elements 32 and the other containing all register elements 34.
Mode 1 and Mode 2 are the same as those provided in Applicant's aforementioned patent, i.e. they provide for either no masking of a scan chain or masking of selected cells of a scan chain.
Mode 3 provides for masking of all output timeslots of a scan chain and Mode 4 provides for masking of all input and output timeslots of a scan chain.
Mode 3 improves fault coverage in two situations. The first situation is one in which there is a problem with a scan chain which requires that its data be masked in all positions. Normally, in this situation, all scan chains that only have a few positions with corrupted bits would need to be masked completely because the same position mask is used for all chains. However, configuring scan chains which require masking of their entire output response using Mode 3 allows for the use of the position mask for other scan chains that only have a few corrupted bits.
The second situation in which fault coverage can be increased is by using multiple test steps in which each test step uses a chain mask that unconditionally masks all scan chains having corrupted bits except for one scan chain which is conditionally masked using the position mask (Mode 2). This will be better understood by reference to
Scan cells marked with an “X” are corrupted bits. Cells marked with an “M” are masked in addition to cells marked with X when the resolution of the position mask is less than one scan cell. Scan cells marked with “S” are masked if a test is run in a single step and the position mask is used to mask corrupted bits of both scan chains SC4 and SC7, using Mode 2.
However, using Mode 3 and applying a test in two steps allows the output response of the scan cells marked with an S to be examined. This increases test coverage. In the first step, chain SC4 is unconditionally masked using Mode 3 and chain SC7 is masked using Mode 2, allowing cells to be masked using the position mask. In the second step, Mode 3 is used to unconditionally mask all outputs of chain SC7 and Mode 2 is used to mask cells in chain SC4 using the position mask.
If ChainMask1 is Logic 1 (as in Mode 1 and Mode 2), masking depends on the state of ChainMask0. If ChainMask0 is Logic 0 (Mode 2), the position mask determines the bits to be masked. If ChainMask0 is Logic 1 (Mode 1), then the position mask has no influence on masking.
Mask control circuit G2 of the serial input, shown in
All of the default modes of operation described in Applicants' prior patent, supra, are applicable to the method described herein. The explanation of these modes is not repeated herein.
Although the present invention has been described in detail with regard to preferred embodiments and drawings of the invention, it will be apparent to those skilled in the art that various adaptions, modifications and alterations may be accomplished without departing from the spirit and scope of the present invention. Accordingly, it is to be understood that the accompanying drawings as set forth hereinabove are not intended to limit the breadth of the present invention, which should be inferred only from the following claims and their appropriately construed legal equivalents.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/564,211 filed Apr. 22, 2004, incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60564211 | Apr 2004 | US |