IP Library › Granted Patent US 8,438,442
Granted Patent B2
US 8,438,442 · App. 12/748,108 · Granted May 7, 2013

Method and apparatus for testing a data processing system

Inventor: Gary R. Morrison (Austin, TX)
Assignee: Freescale Semiconductor, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,438,442
App. No.
12/748,108
Granted
May 7, 2013
Kind
B2
Abstract

A method of testing a processing includes performing a test of at least one logic block of a processor of a data processing system; receiving an interrupt; stopping the performing the test for the processor to respond to the interrupt, wherein the stopping the performing the test includes storing test data of the test to a memory prior to the processor responding to the interrupt; and after the processor responds to the interrupt, resuming performing the test, wherein the resuming performing the test includes retrieving the test data from the memory and using the retrieved test data for the resuming performing the test.

Claims (35)

1. A method of testing a processor, the method comprising:

performing a test of at least one logic block of a processor of a data processing system;

receiving an interrupt;

stopping the performing the test of the processor to respond to the interrupt, wherein the stopping the performing the test includes storing test data of the test to a memory prior to the processor responding to the interrupt; and

after the processor responds to the interrupt, resuming performing the test, wherein the resuming performing the test includes retrieving the test data from the memory and using the retrieved test data for the resuming performing the test, wherein the test data includes scan chain data from the at least one logic block, wherein the resuming the performing the test includes restoring the scan chain data to the at least one logic block and using the scan chain data for the resuming performing the test.

2. The method of claim 1 wherein the test data includes signature analyzer data from a signature analyzer, wherein the resuming the performing the test includes restoring the signature analyzer data to the signature analyzer and using the signature analyzer data for the resuming performing the test.

3. The method of claim 1 wherein the test data includes data from a pattern generator, wherein the resuming the performing the test includes restoring the test data from the pattern generator to the pattern generator for the resuming the performing the test.

4. The method of claim 1 wherein the processor includes a cache memory, wherein the storing test data of the test to a memory includes storing the test data to a portion of the cache memory, wherein the processor does not use the portion of the cache memory as a cache between the storing and the resuming.

5. The method of claim 4 wherein the portion of the cache includes one or more of a tag portion, a cache data portion, and a status bits portion, wherein the storing test data of the test to a memory includes storing test data in the one or more of the tag portion, the cache data portion, and the status bits portion.

6. The method of claim 4 further comprising:

using the portion of the cache memory as a cache by the processor prior to the storing the test data of the test into the portion of the cache memory.

7. The method of claim 6 wherein the portion of the cache is flushed after beginning the performing the test.

8. The method of claim 7 wherein the cache is flushed in response to the determination that at least a predetermined portion of the testing has been performed, wherein if the predetermined portion of the testing has not been performed as of the stopping the performing the test, the test data is not saved to the portion of the cache memory.

9. The method of claim 1 further comprising:

when storing the test data to the memory, generating a first set of error detection codes for the test data, wherein the retrieving the test data includes generating a second set of error detection codes for the retrieved test data; and

comparing the first set of error detection codes with the second set of error detection codes to determine if there was an error in the storage of the test data in the memory.

10. The method of claim 9 wherein the performing the test includes generating error detection codes with a signature analyzer, wherein the first set of error detection codes and second set of error detection codes are generated with the signature analyzer.

11. The method of claim 1 wherein the resuming performing the test includes retrieving a saved test data indicator, wherein the retrieving the test data from the memory and the using the retrieved test data for the resuming performing is performed in response to the saved test data indicator indicating the presence of saved test data in the memory.

12. The method of claim 1 wherein the test data includes a test clock count that indicates a number clock cycles of the test performed, wherein the resuming the performing the test includes restoring the test clock count to a test clock count register for the resuming performing.

13. The method of claim 1 further comprising:

executing a user application by the processor;

receiving a first stop and test indicator during the executing, wherein the performing the test is initiated in response to the first stop and test indicator;

after the processor responds to the interrupt and before the resuming performing the test, resuming the executing of the user application; and

receiving a second stop and test indicator during the executing of the user application after the resuming the executing of the user application, wherein the resuming the performing the test is initiated in response to the second stop and test indicator.

14. A data processing system comprising:

a processor including at least one logic block;

test circuitry, the test circuitry for performing a scan test of the at least one logic block to generate test data; and

a cache memory, the test circuitry storing the test data of the scan test to a portion of the cache memory in response to an interruption of the scan test due to the processor receiving an interrupt, the test circuitry retrieving the test data from the portion of the cache memory and using the test data for a resumption of the scan test of the at least one logic block.

15. The data processing system of claim 14 wherein the test circuitry further comprises:

a signature analyzer, the signature analyzer generating an error detection code during the scan test, wherein the test circuitry stores the error detection code into the memory in response to the interruption of the scan test due to the processor receiving the interrupt, the test circuitry retrieving the error detection code from the memory and using the error detection code for the resumption of the scan test of the at least one logic block.

16. The data processing system of claim 15 wherein the test circuitry uses the signature analyzer to generate a first set of error detection codes of the test data being stored in the memory and uses the signature analyzer to generate a second set of error detection codes of the test data retrieved from the memory, the test circuitry compares the first set of error detection codes with the second set of error detection codes to determine if there was an error in the storage of the test data in the memory.

17. The data processing system of claim 14 wherein the test circuitry further comprises:

a pattern generator, the pattern generator generating test stimuli during the scan test, wherein the test circuitry stores a value from the pattern generator into the memory in response to the interruption of the scan test due to the processor receiving the interrupt, the test circuitry retrieving the value from the memory and loading the value into the pattern generator to use as a seed value for the generation of test stimuli for the resumption of the scan test of the at least one logic block.

18. The data processing system of claim 14 wherein the portion of the cache memory is usable as a cache at a time when it is not being used to store scan test data.

19. The data processing system of claim 14 wherein the portion of the cache memory includes at least one of a tag portion, a data cache portion, and status bit portion, wherein the test circuitry stores test data in the at least one of tag portion, cache data portion, and the status bits portion.

Assignments (23)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
MERGER Recorded Jan 3, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041144/0363 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0194 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0120 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0866 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0027 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded Sep 3, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024933/0340 →
SECURITY AGREEMENT Recorded Sep 3, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 024933/0316 →
SECURITY AGREEMENT Recorded Sep 1, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 024915/0777 →
SECURITY AGREEMENT Recorded Sep 1, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024915/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2010
From: MORRISON, GARY R.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 024148/0071 →
Continuity (1)
Related Publication 20110239070A1 · Sep 29, 2011