Patent US3407542A successfully refreshed from Google Patents.
Patent US5668947A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5668947A Expired / Lapsed US ⏱️ 0.0 years remaining

Microprocessor self-test apparatus and method

Assignee: Allen Bradley Co LLC
•
Filing: 1996-04-18
•
Granted: 1997-09-16
•
Expires: 2016-04-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for testing a digital integrated circuit (IC) for faults wherein the IC includes a memory, a microprocessor, an operand register, and a random data generator which is responsive to integrated circuit data indicative of the instantaneous IC state. A short test code including operational code instructions in the memory is performed by the microprocessor which manipulates data in the operand register. Periodically, the random data generator provides seed data to the microprocessor which changes the test code in a random manner and modifies the data stored in the operand register. At the end of a prescribed number of passes through the test code, the data generator produces an IC signature which can be compared to a known correct signature to identify IC faults.

Inventors

  • 👤 Kenneth William Batcher

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 16:08
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/22; G06F11/26; G06F11/273; G06F11/277; G06F11/27

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 223 words
A method of testing a digital integrated circuit for faults, the integrated circuit having access to a memory for storing a test code including a plurality of separate instructions and a known correct IC signature, a microprocessor for performing the test code, an operand register having a plurality of register slots for storing operands manipulated by the microprocessor according to the test code, a data bus for transferring bus data to and from the register slots and the memory, and a random data generator including a signature register storing a signature word, the method comprising the steps of: a) supplying each register slot with initial register data and the signature register with an initial signature word; b) performing the test code and, while performing the test code, periodically combining the signature word and said bus data to provide a modified signature word; c) after performing the test code, altering the test code as a function of the modified signature word to provide a modified test code as the test code; d) repeating steps b) and c) for a predetermined number of passes through the test code; e) after said predetermined number of passes, comparing the signature word to the known correct IC signature; and f) where the signature word is not identical to the known correct IC signature, signaling a faulty integrated circuit.
Claim 2
Independent Claim 223 words
A method of testing a digital integrated circuit for faults, the integrated circuit having access to a memory for storing a test code including a plurality of separate instructions and a known correct IC signature, a microprocessor for performing the test code, an operand register having a plurality of register slots for storing operands manipulated by the microprocessor according to the test code, a data bus for transferring bus data to and from the register slots and the memory, and a random data generator including a signature register storing a signature word, the method comprising the steps of: a) supplying each register slot with initial register data and the signature register with an initial signature word; b) performing the test code and, while performing the test code, periodically combining the signature word and said bus data to provide a modified signature word; c) after performing the test code, altering the test code as a function of the modified signature word to provide a modified test code as the test code; d) repeating steps b) and c) for a predetermined number of passes through the test code; e) after said predetermined number of passes, comparing the signature word to the known correct IC signature; and f) where the signature word is not identical to the known correct IC signature, signaling a faulty integrated circuit.
Claim 3
Dependent Claim 49 words
The method of claim 1 wherein bus data includes read, write and fetch instruction data and the step of periodically combining the signature word and said bus data includes the step of combining the signature word and read data each time new read data is provided on the bus.
Claim 4
Dependent Claim 93 words
The method of claim 2 wherein said bus is a first bus and the integrated circuit includes a second bus, including lines connected to integrated circuit observation points other than those easily observable by way of the first bus and the method further includes the step of providing data on said second bus corresponding to the states of the observation points and, wherein, the step of periodically combining includes the step of combining the signature word and data from the second bus where data on the first bus is write fetch instruction data.
Claim 5
Dependent Claim 69 words
The method of claim 2 further including the steps of, prior to step e), separately reading a intermediate signature word into each operand register to provide new random data to each operand register wherein, after a signature word is read into one operand register, the read data is combined with the signature word to provide different random data prior to reading the signature word into the next operand register.
Claim 6
Dependent Claim 31 words
The method of claim 1 wherein the step of periodically combining further includes the step of compressing the signature word and the bus data each time the bus data is altered.
Claim 7
Dependent Claim 103 words
The method of claim 3 wherein the integrated circuit also includes more than two data buses and the additional data buses include lines connected to integrated circuit observation points other than those easily observable by the first bus or connected to the lines of the second bus, the method further including the step of, providing data on said additional buses corresponding to the states of associated observation points and wherein, the step of periodically combining includes the step of combining the signature word and data from the additional buses periodically when data on the first bus is write data or fetch instruction data.
Claim 8
Dependent Claim 39 words
The method of claim 3 wherein the step of periodically combining includes the step of combining the signature word and data from the second bus each time new write or fetch instruction data is provided on the first bus.
Claim 9
Dependent Claim 15 words
The method of claim 7 wherein the step of combining includes the step of compressing.
Claim 10
Dependent Claim 33 words
The method of claim 1 wherein, prior to modifying the test code, weights are applied to the random register data to ensure that the modified test code will include only possible test code.
Claim 11
Dependent Claim 22 words
The method of claim 1 wherein the step of combining includes the step of compressing the bus data and the signature word.
Claim 12
Dependent Claim 40 words
The method of claim 1 wherein the memory is an on-chip memory and the test code is initially stored in a remote off-chip memory, and the method further includes the step (a), loading the test code into the on-chip memory.
Claim 13
Dependent Claim 43 words
The method of claim 1 further including the step of, prior to altering the test code, weighting the modified signature word to provide a weighted word known to give relatively better test coverage, the weighted word being provided as the modified signature word.
Claim 14
Independent Claim 231 words
An apparatus for testing a digital integrated circuit on a chip for faults, the apparatus including cooperating on circuit hardware and software, the apparatus comprising: a microprocessor having access to a memory, the memory for storing a test code, including a plurality of instructions and a known correct IC signature, the instructions including a variable code portion, the microprocessor for performing said instructions; operand registers for storing data which is manipulated by the microprocessor according to the test code; a data bus for transferring bus data between the memory, microprocessor, and operand register; a random data generator including a signature register for storing a signature word, the generator connected to the bus for observing bus data, the generator periodically combining bus data and the signature word to provide a new signature word, the new data signature word being changed each time the generator combines; whereby, after the microprocessor performs the variable code portion, the microprocessor uses an instantaneous new signature word as random seed data to modify the variable code portion producing a modified variable code portion, and then performs the modified variable code portion, and, after modifying and performing the variable code portion a predetermined number of times, the microprocessor compares the instantaneous new signature word to the known correct signature word, thereafter indicating a faulty circuit when the instantaneous new signature and known correct signature words are not identical.
Claim 15
Independent Claim 231 words
An apparatus for testing a digital integrated circuit on a chip for faults, the apparatus including cooperating on circuit hardware and software, the apparatus comprising: a microprocessor having access to a memory, the memory for storing a test code, including a plurality of instructions and a known correct IC signature, the instructions including a variable code portion, the microprocessor for performing said instructions; operand registers for storing data which is manipulated by the microprocessor according to the test code; a data bus for transferring bus data between the memory, microprocessor, and operand register; a random data generator including a signature register for storing a signature word, the generator connected to the bus for observing bus data, the generator periodically combining bus data and the signature word to provide a new signature word, the new data signature word being changed each time the generator combines; whereby, after the microprocessor performs the variable code portion, the microprocessor uses an instantaneous new signature word as random seed data to modify the variable code portion producing a modified variable code portion, and then performs the modified variable code portion, and, after modifying and performing the variable code portion a predetermined number of times, the microprocessor compares the instantaneous new signature word to the known correct signature word, thereafter indicating a faulty circuit when the instantaneous new signature and known correct signature words are not identical.
Claim 16
Dependent Claim 89 words
The apparatus of claim 13 wherein the operand register includes a plurality of register slots for storing operands which are manipulated by the microprocessor according to the test code and, between each two consecutive performances of the variable code portion, the microprocessor loads the new signature word into each register slot via the bus whereby the register is loaded with random data, the generator combining bus data and the new signature word after each slot is loaded so that each slot is loaded with a different new signature word.
Claim 17
Dependent Claim 37 words
The apparatus of claim 13 wherein bus data includes read, write, and fetch instruction data and the generator combines the bus data and the new signature word each time new read data is provided on the bus.
Claim 18
Dependent Claim 69 words
The apparatus of claim 15 wherein the bus is a first bus and the apparatus includes a second bus, lines of the second bus connected to integrated circuit observation points other than those easily observable via the first bus, the second bus providing second bus data to the generator, and wherein, the generator combines the second bus data and the signature word periodically to provide a new signature word.
Claim 19
Dependent Claim 30 words
The apparatus of claim 16 wherein the generator combines the second bus data and the signature word each time new write or fetch data is provided on the first bus.
Claim 20
Dependent Claim 31 words
The apparatus of claim 13 wherein the generator is a parallel cyclic redundancy check generator and the generator combines by compressing bus data and the signature word using an irreducible polynomial.
Claim 21
Dependent Claim 69 words
The apparatus of claim 16 further including more than two data buses, the buses in excess of the two buses being connected to integrated circuit observation points other than those easily observable by the first bus or connected to the second bus, the additional buses providing data to the generator, the generator periodically combining data from the additional buses and the signature word to provide a new signature word.
Claim 22
Dependent Claim 23 words
The apparatus of claim 13 wherein the bus, generator, microprocessor, operand registers, and memory are all capable of handling thirty-two bit parallel words.
Claim 23
Dependent Claim 12 words
The apparatus of claim 13 wherein the memory is an on-chip memory.
Claim 24
Dependent Claim 12 words
The apparatus of claim 13 Wherein the memory is an off-chip memory.
Claim 25
Dependent Claim 19 words
The apparatus of claim 13 where bus, generator, microprocessor, OP, registers and memory can handle 16-bit or n-bit words.

References Cited (Backward Citations)

US4433413A Cited
US4688222A Cited
US4817093A Cited
US4903199A Cited
US5436971A Cited
US5444716A Cited
US5515384A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-09-15 2001-03-17 2001-09-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-09-15 2005-03-17 2005-09-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-09-15 2009-03-17 2009-09-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag