Compressing test responses using a compactor
First Claim
Patent Images
1. A method for testing a circuit-under-test, comprising:
- providing a set of test-response values from the circuit-under-test, the set of test-response values comprising a plurality of S test-response values;
expanding the S test-response values into a plurality of V expanded test values, wherein V is greater than S;
producing T primary intermediate values from at least some of the V expanded values;
producing U secondary intermediate values by combining at least a portion of the T primary intermediate values with previously stored intermediate values;
storing at least one of the U secondary intermediate values for one or more clock cycles; and
outputting B output values at least partially determined by the U secondary intermediate values during an observation period of two or more clock cycles, wherein the B output values in the observation period are indicative of one, two, and odd-numbered errors present in the set of test-response values.
2 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure describes embodiments of a compactor for compressing test results in an integrated circuit and methods for using and designing such embodiments. The disclosed compactors can be utilized, for example, as part of any scan-based design. Moreover, any of the disclosed compactors can be designed, simulated, and/or verified in a computer-executed application, such as an electronic-design-automation (“EDA”) software tool. Embodiments of a method for diagnosing faults in the disclosed compactor embodiments are also described.
140 Citations
79 Claims
-
1. A method for testing a circuit-under-test, comprising:
-
providing a set of test-response values from the circuit-under-test, the set of test-response values comprising a plurality of S test-response values;
expanding the S test-response values into a plurality of V expanded test values, wherein V is greater than S;
producing T primary intermediate values from at least some of the V expanded values;
producing U secondary intermediate values by combining at least a portion of the T primary intermediate values with previously stored intermediate values;
storing at least one of the U secondary intermediate values for one or more clock cycles; and
outputting B output values at least partially determined by the U secondary intermediate values during an observation period of two or more clock cycles, wherein the B output values in the observation period are indicative of one, two, and odd-numbered errors present in the set of test-response values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for compressing a test response in an integrated circuit, comprising:
-
inputting a test value from one of multiple scan cells in a scan chain during an unloading period of the scan chain;
producing at least two intermediate values at least partially determined by the test value via logic;
loading at least a portion of the intermediate values into plural memory elements;
producing a set of at least two output values at least partially determined by the intermediate values, the set of at least two output values comprising all output values at least partially determined by the intermediate values; and
outputting the set of at least two output values over an observation period, the observation period comprising at least two clock cycles and ending before the unloading period ends. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method for compressing a test response in an integrated circuit, comprising:
-
inputting a test value into a network comprising combinational logic, the test value being input from one of multiple scan cells in a scan chain during an unloading period;
expanding the test value through at least two fan-outs in the network;
producing two or more intermediate values from the expanded test values;
loading the intermediate values into plural memory elements; and
outputting two or more output values from the plural memory elements over an observation period of at least two clock cycles, wherein the output values are at least partially determined by the intermediate values and the test value, and wherein the number of output values equals the number of the fan-outs. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33)
-
-
34. A method for testing an integrated circuit, comprising:
-
capturing multiple test values in a scan chain of a circuit-under-test, the test values being associated with a circuit response to a test pattern;
clocking the test values out of the scan chain and into a compactor;
producing sets of two or more output values in the compactor, each set comprising all values produced in the compactor at least partially determined by a respective test value; and
outputting at least one of the sets from the compactor over at least two clock cycles and before all of the test values captured in the scan chain have been clocked into the compactor. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41)
-
-
42. A method for compressing test responses of a circuit-under-test, comprising:
-
injecting a first portion of a test response and a second portion of the test response into a network comprising combinational logic;
logically producing in the network a first set of two or more primary intermediate values at a first set of network outputs, the first set of primary intermediate values being at least partially determined by the first portion of the test response;
logically producing in the network a second set of two or more primary intermediate values at a second set of network outputs, the second set of primary intermediate values being at least partially determined by the second portion of the test response, the second set of network outputs having at least one network output that is mutually exclusive of the first set of network outputs;
at least partially combining the first set of primary intermediate values with a first set of previously stored values to produce a first set of secondary intermediate values;
at least partially combining the second set of primary intermediate values with a second set of previously stored values to produce a second set of secondary intermediate values;
loading the first set of secondary intermediate values into a first set of memory elements coupled to the first set of network outputs; and
loading the second set of secondary intermediate values into a second set of memory elements coupled to the second set of network outputs, the second set of memory elements comprising a nonshifted set of memory elements relative to the first set of memory elements. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51)
-
-
52. An apparatus for compressing test responses in an integrated circuit, comprising:
-
a plurality of memory elements; and
an injector network comprising combinational logic, the injector network having injector-network outputs and injector-network inputs, each injector-network output being coupled to a respective one of the memory elements, each injector-network input being logically coupled to two or more injector-network outputs according to a respective injector polynomial, the respective injector polynomial being selected to prevent one, two, and odd-numbered error masking in the memory elements. - View Dependent Claims (53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65)
-
-
66. An apparatus for compressing test responses in a digital circuit, comprising:
-
a plurality of memory elements; and
an injector network comprising combinational logic, the injector network having injector-network outputs and injector-network inputs, each injector-network output being coupled to a respective one of the memory elements, each injector-network input being logically coupled to two or more injector-network outputs according to a respective injector polynomial, the respective injector polynomial being selected to prevent masking of an unknown value in the memory elements. - View Dependent Claims (67, 68)
-
-
69. A method for compressing a test response in an integrated circuit, comprising:
-
means for inputting a test value from one of multiple scan cells in a scan chain during an unloading period of the scan chain;
means for producing at least two intermediate values at least partially determined by the test value in a network comprising combinational logic;
means for loading at least a portion of the intermediate values into plural memory elements;
means for producing a set of at least two output values at least partially determined by the intermediate values, the set of at least two output values comprising all output values at least partially determined by the intermediate values; and
means for outputting the set of at least two output values over an observation period, the observation period comprising at least two clock cycles and ending before the unloading period ends.
-
-
70. A method for designing a compactor to compress test responses captured by scan chains in a circuit-under-test, comprising:
-
inputting design data concerning the circuit-under-test, the design data comprising the number of scan-chain outputs in the circuit-under-test;
generating at least two injector polynomials for connecting the scan-chain outputs of the circuit-under-test to plural memory elements of the compactor, the at least two injector polynomials being configured to prevent one, two, and odd-numbered error masking in the plural memory elements, the plural memory elements being coupled together by a feedback-free network; and
selecting at least one of the polynomials. - View Dependent Claims (71, 72, 73, 74)
-
-
75. A method for designing a compactor to compress test responses provided by scan chains of a circuit-under-test, comprising:
-
generating a list of valid polynomials that represent non-masking patterns for coupling outputs of the scan chains to combinations of plural memory elements in the compactor;
selecting one of the polynomials from the list of valid polynomials;
logically combining the selected polynomial with two or more previously selected polynomials using an XOR or XNOR operation, thereby determining a forbidden polynomial that masks the selected polynomial; and
removing the forbidden polynomial from the list of valid polynomials. - View Dependent Claims (76, 77, 78, 79)
-
Specification