Scan test method for providing real time identification of failing test patterns and test bist controller for use therewith
First Claim
1. A method of scan testing an integrated circuit to provide real time identification of a block of test patterns having at least one failing test pattern, comprising:
- performing a number of test operations and storing a test response signature corresponding to a block of test patterns into a signature register;
replacing the test response signature in said signature register with a test block expected signature;
identifying said block as a failing test block when said test response signature is different from said test block expected signature; and
repeating the preceding steps until the test is complete.
5 Assignments
0 Petitions
Accused Products
Abstract
A method of scan testing an integrated circuit to provide real time identification of a block of test patterns having at least one failing test pattern comprises performing a number of test operations and storing a test response signature corresponding to each block of test patterns into a signature register; replacing the test response signature in the signature register with a test block expected signature; identifying the block as a failing test block when the test response signature is different from the test block expected signature; and repeating preceding steps until the test is complete.
98 Citations
70 Claims
-
1. A method of scan testing an integrated circuit to provide real time identification of a block of test patterns having at least one failing test pattern, comprising:
-
performing a number of test operations and storing a test response signature corresponding to a block of test patterns into a signature register;
replacing the test response signature in said signature register with a test block expected signature;
identifying said block as a failing test block when said test response signature is different from said test block expected signature; and
repeating the preceding steps until the test is complete. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
performing said test operations at respective core clock rates;
performing said loading a test block expected signature into an expected signature register at a common test clock rate for all cores, and, in each core, performing said test operations in parallel with said loading a test block expected signature.
-
-
5. A method as defined in claim 3, said method further including, for a circuit having two or more cores:
-
generating start signal common to all cores under test and, for each core under test;
for each of one or more core blocks of test operations to be performed in sequential order in said core;
in response to said start signal;
enabling a core clock;
performing an uncompleted one of said one or more blocks of test operations;
loading a test block expected signature corresponding to said one of said one or more blocks of test operations into a core expected signature register under control of test clock common to all cores under test; and
upon completion of said one block of test operations in said core, generating a core clock stop signal to disable said core clock.
-
-
6. A method as defined in claim 5, said start signal being a pulse of a signal having a sequence of uniformly spaced pulses defining an expected signature scan cycle and the start of said one more test operations.
-
7. A method as defined in claim 6, for each test block associated with a core, said loading of a test block expected signature commencing a predetermined number of clock cycles of said test clock following a pulse of said start signal.
-
8. A method as defined in claim 7, said loading a test block expected signature comprises loading said expected signature within an expected signature scan cycle common to all cores and defining the spacing of said pulses.
-
9. A method as defined in claim 8, said expected signature scan cycle being equal to the largest product of maximum core scan chain length and clock period of the core clock used to load said test patterns in scan chains in said cores.
-
10. A method as defined in claim 4 or 5, said replacing said test response signature in said signature register comprises, in each core under test:
-
swapping the contents of said core signature register and of said core expected signature register so that said test block signature resides in said expected signature register and said test block expected signature resides in said test response signature register;
said loading said test block expected signature into said expected signature register further comprises concurrently unloading from said core the test response signature of a preceding test block from said expected signature register; and
comparing said test block signature with said test block expected signature prior to performing said identifying said block as a failing test block.
-
-
11. A method as defined in claim 10, inverting the contents of one of said registers in said core prior to said swapping the contents.
-
12. A method as defined in claim 4 or 5, further including, in each core, prior to said replacing said test response signature in said test response signature register with said test block expected signature, comparing the contents of said test response signature register and said test block expected signature register, and said identifying said block as a failing test block comprises generating an active fail signal when said contents are different and an inactive fail signal when said contents are the same.
-
13. A method as defined in claim 5, said core stop signals being generated by a core test controller.
-
14. A method as defined in claim 3, said replacing said test response signature in said signature register comprises swapping the contents of said signature register and of said expected signature register so that said test block signature resides in said expected signature register and said test block expected signature resides in said test response signature register.
-
15. A method as defined in claim 14, further including inverting the contents of one of said registers prior to said swapping.
-
16. A method as defined in claim 14, said loading said test block expected signature into said expected signature register comprises concurrently unloading from said circuit the test response signature of a preceding test block from said expected signature register.
-
17. A method as defined in claim 16, further including comparing said test block signature with said test block expected signature prior to performing said identifying said block as a failing test block.
-
18. A method as defined in claim 3, further including, prior to said replacing said test response signature in said test response signature register with said test block expected signature, comparing the contents of said test response signature register and said test block expected signature register, said identifying said block as a failing test block comprises generating an active fail signal when said contents are different and an inactive fail signal when said contents are the same.
-
19. A method as defined in claim 18, said generating an active fail signal includes storing the results of said comparing in a memory element.
-
20. A method as defined in claim 3, further including performing said test operations under control of a first clock having a clock rate corresponding substantially to a clock rate of said circuit, and performing said loading of said expected signature register under control of a second clock corresponding to a test clock rate of a circuit tester.
-
21. A method as defined in claim 20, further including operating said signature register and said expected signature register under control of the same clock.
-
22. A method as defined in claim 4, 5, or 20, said loading of said expected signature register comprises:
detecting a start bit of said expected signature at a serial input of said expected signature register, said start bit indicating that a new expected signature is to be scanned into said expected signature register; and
, thereafter, for each bit of said expected signature, configuring said expected signature register in shift mode on occurrence of a predetermined transition of said second test clock, shifting in said each bit of said new expected signature into said expected signature register and configuring said expected signature register in hold mode.
-
23. A method as defined in claim 3, 4, 5, or 20, wherein a block of test patterns comprises any integer number of test patterns.
-
24. A method as defined in claim 3, 4, 5, or 20 wherein a block of test patterns comprises 1, 2, 4, or 8 test patterns.
-
25. A method as defined in claim 3, further including, for an integrated circuit having two or more cores and two or more cores are tested concurrently, said performing a number of test operations comprising:
-
substantially concurrently initiating said performing a number of test operations in all cores under test; and
performing said loading a test block expected signature at respective core clock rates in each core under test such that the product of the maximum scan chain length in the block and clock period of the test clock is the same for all blocks under test.
-
-
26. A method as defined in claim 3, 4, or 5, further including adding a start bit at the beginning of said expected signature to indicate the beginning of a new expected signature and starting said loading of said expected signature when said start bit is detected at a serial input of said expected signature register.
-
27. A method as defined in claim 1, further including, while performing said test operations, loading a test block expected signature into an expected signature register;
- and said replacing the signature in the signature register comprises;
inverting one of the expected signature and the test block signature;
swapping the contents of said signature register and said expected signature register so that the test block signature resides in the expected signature register and the expected signature resides in the signature register;
said loading the test block expected signature into said expected signature register includes concurrently unloading the test block signature of a preceding test block from the expected signature register.
- and said replacing the signature in the signature register comprises;
-
28. A method as defined in claim 27, further including performing said test operations under control of a first clock having a clock rate corresponding to the design clock rate of said circuit, and performing said loading of the expected signature register under control of a second clock corresponding to a test clock rate of a circuit tester.
-
29. A method as defined in claim 28, said loading of said expected signature comprising detecting an expected signature start bit, and for each bit of said expected signature, configuring said expected signature register in shift mode on occurrence of a predetermined transition of said second clock, shifting in said expected signature bit, and thereafter configuring said expected signature register in hold mode.
-
30. A method as defined in claim 29, further including, for an integrated circuit having two or more cores and two or more cores are tested concurrently, said performing a number of test operations comprising:
-
concurrently initiating the loading of test patterns and of the unloading of test responses in cores under test; and
performing said loading and unloading at a respective block clock rate in each block under test such that the product of the maximum scan chain length in the block and clock period of the test clock is the same for all blocks under test.
-
-
31. A method as defined in claim 1, further including, while performing said test operations, loading a test block expected signature into an expected signature register;
- and said replacing the signature in the signature register comprises prior to said replacing said test response signature in said test response signature register with said test block expected signature, comparing the contents of said test response signature register and said test block expected signature register, said identifying said block as a failing test block comprises generating an active fail signal when said contents are different and an inactive fail signal when said contents are the same.
-
32. A method as defined in claim 31, further including performing said test operations under control of a first clock having a clock rate corresponding to the design clock rate of said circuit, and performing said loading of the expected signature register under control of a second clock corresponding to a test clock rate of a circuit tester.
-
33. A method as defined in claim 32, said loading of said expected signature comprising detecting an expected signature start bit, and for each bit of said expected signature, configuring said expected signature register in shift mode on occurrence of a predetermined transition of said second clock, shifting in said expected signature bit, and thereafter configuring said expected signature register in hold mode.
-
34. A method as defined in claim 33, further including, for an integrated circuit having two or more cores and two or more cores are tested concurrently, said performing a number of test operations comprising:
-
concurrently initiating the loading of test patterns and of the unloading of test responses in cores under test; and
performing said loading and unloading at a respective block clock rate in each block under test such that the product of the maximum scan chain length in the block and clock period of the test clock is the same for all blocks under test.
-
-
35. A method as defined in claim 1, said identifying a block as a failing test block comprising identifying the block as a failing block when the said response signature is different from said test block expected signature and said test block is not a predetermined failing block.
-
36. A method as defined in claim 35, further including re-evaluating the fault coverage of the scan test when predetermined failing blocks are used in said test.
-
37. A method of scan testing an integrated circuit to provide real time identification of a block of test patterns having at least one failing test pattern, comprising:
-
for each of one or more blocks of core test patterns for each core under test;
processing each of said core test patterns including loading the test pattern into scannable memory element scan chains in said core at a respective core clock rate, capturing the response of the circuit to the core test pattern, unloading the test response from the memory elements, and compressing the test response into a core test response signature register;
concurrently with said, processing, loading a test block expected signature into a core expected signature register at a common test clock rate;
upon completion of processing of each block of test patterns, replacing the test response signature in said test response signature register with said test block expected signature; and
identifying a block of test patterns as a failing test block when said test response signature is different from said test block expected signature. - View Dependent Claims (38, 39, 40, 41)
generating an active start signal for substantially concurrently in all cores initiating said processing of said blocks of test patterns and said loading of said core test block expected signature; and
generating a respective core stop signal to disable a core clock upon completion of processing of a block of test patterns.
-
-
39. A method as defined in claim 37, further including, said replacing the test response signature in the test response signature register comprises:
-
inverting one of the expected signature and the test block signature;
swapping the contents of said signature register and said expected signature register so that the test block signature resides in the expected signature register and the expected signature resides in the signature register;
said loading the test block expected signature into the expected signature register includes concurrently unloading the test block signature of the preceding test block from the expected signature register.
-
-
40. A method as defined in claim 37, further including, prior to said replacing said test response signature in said test response signature register with said test block expected signature, comparing the contents of said test response signature register and said test block expected signature register, said identifying said block as a failing test block comprises generating an active fail signal when said contents are different.
-
41. A method as defined in claim 40, said generating an active fail signal includes storing the results of said comparing in a memory element.
-
42. A test controller for use in self-testing of an integrated circuit under control of a first clock and providing real time identification of blocks of test patterns having at least one failing test pattern, the controller having a test response signature register for storing a compressed test response of the circuit to a block of test patterns, the improvement comprising:
-
an expected signature register having a serial input and a serial output, and a control circuit for controlling loading of an expected signature into said expected signature register under control of a test clock and for replacing the contents of the test response signature register with the contents of said expected signature register. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58)
-
-
59. A test controller for use in self-testing of an integrated circuit under control of a first clock and providing real time identification of failing test patterns, the controller having a test response signature register for storing a compressed test response of the circuit to a test patterns, comprising:
-
an expected signature register having a serial input, a serial output, and a bit length which is at least equal to the bit length of said test response signature register;
a pattern counter for counting test patterns which have been executed;
a control circuit for controlling loading of said expected signature register under control of a test clock and for replacing the contents of said test response signature register with the contents of said expected signature register, said control circuit having a bit counter for counting the number of bits loaded into said test expected signature register, said control circuit being responsive to a predetermined test pattern count of said pattern counter for replacing the contents of said test response signature with the contents of said expected signature register;
an asynchronous interface circuit for synchronizing shift operations of said expected signature register when shift operations are performed under control of a second clock; and
a serial input connected to said expected signature register serial input for loading an expected signature into said controller. - View Dependent Claims (60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70)
-
Specification