IP Library Granted Patent US 7,039,841
Granted Patent B2
US 7,039,841 · App. 10/435,613 · Granted May 2, 2006

Tester system having multiple instruction memories

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 7,039,841
App. No.
10/435,613
Granted
May 2, 2006
Kind
B2
Abstract

An apparatus for testing an integrated circuit includes a sequence control logic unit having an output channel connectable to an input pin of a device under test, a first memory to store a first instruction set comprising instructions executable by the sequence control logic unit, and a second memory to store a second instruction set comprising instructions executable by the sequence control logic unit, wherein at least one of the first memory and the second memory comprises a memory accessible in a non-sequential fashion.

Claims (41)

1. An apparatus for testing an integrated circuit, the apparatus comprising:

a sequence control logic unit having an output channel connectable to an input pin of a device under test;

a first memory to store a first instruction set comprising instructions executable by the sequence control logic unit, wherein the first memory has a first width and instructions stored in the first memory have a first length; and

a second memory to store a second instruction set comprising instructions executable by the sequence control logic unit, wherein the second memory has a second width and instructions stored in the second memory have a second length, the second width not being equal to the first width and the second length not being equal to the first length, and wherein at least one of the first memory and the second memory comprises a memory accessible in a non-sequential fashion.

2. The apparatus of claim 1 , wherein at least one of the first memory and the second memory comprises a memory to store a data set, the data set being used by the sequence control logic unit to determine a test pattern to output on the output channel.

3. The apparatus of claim 2 , wherein the sequence control logic unit father comprises:

a memory interface having a read/write queue coupled to receive memory access requests from at least two separate requestors.

4. The apparatus of claim 3 , wherein the sequence control logic unit further comprises an instruction cache coupled to receive and to hold executable instructions from the memory interface.

5. The apparatus of claim 2 , wherein at least one of the first memory and the second memory comprises a memory to store test results received from the device under test.

6. The apparatus of claim 2 , further comprising a front end processor coupled to load at least one of the first instruction set, the second instruction set, and the data set to the memory interface.

7. The apparatus of claim 2 , wherein the sequence control logic unit further comprises:

a plurality of pattern control logic blocks, at least one of the pattern control logic blocks comprising logic to output a test pattern based on data received from the data set.

8. The apparatus of claim 7 , further comprising a plurality of selection multiplexors to receive at least one output bit from a corresponding one of the plurality of pattern control logic blocks; and

a data selection logic block to control an output of each of the plurality of selection multiplexors.

9. The apparatus of claim 8 , wherein the data selection logic block determines the data selection codes for each of the plurality of selection multiplexors based on a portion of an executable instruction stored in a one of the first memory and the second memory.

10. The apparatus of claim 2 , wherein the data set stored in the first memory and the second memory comprises at least one of a data set representing functional data, scan data, and digitized analog data.

11. The apparatus of claim 1 , wherein, during operation of the apparatus, an instruction from the second instruction set is executed responsive to the execution of an instruction from the first instruction set.

12. A method of testing an integrated circuit comprising:

storing a first instruction set in a first memory, the first instruction set usable by a sequence control logic unit and including instructions having a first length

storing a second instruction set in a second memory, the second instruction set usable by the sequence control logic unit and including instructions having a second length that is not equal to the first length; and

accessing the instructions stored in both the first memory and the second memory to determine a test pattern to output on an output channel connectable to input pins of a device under test.

13. The method of claim 12 , wherein accessing comprises accessing instructions stored in at least one of the first memory and the second memory in a non-sequential fashion.

14. The method of claim 12 , further comprises:

executing a first instruction from the first instruction set of instructions stored in the first memory; and

subsequent to executing the first instruction, executing a second instruction from the second set of instructions stored in the second memory.

15. A testing system comprising:

a processor operable to execute a data selection instruction, the testing system selecting, responsive to the execution of the data selection instruction, a combined output pattern from a plurality of pattern control logic blocks;

a first memory coupled to the processor and operable to store instructions having a first length; and

a second memory coupled to the processor and operable to store instructions having a second length that is not equal to the first length, the second memory not being able to store the instructions having the first length.

16. The testing system of claim 15 , wherein the data selection instruction includes:

an opcode field; and

an operand field, the operand field to specify the combined output pattern.

17. The testing system of claim 16 , wherein the operand field is used to determine an index for a data lookup table and control the selection of the combined output pattern from the plurality of pattern control blocks.

18. A method of providing instructions to a testing system, the method comprising:

receiving a test sequence program that includes instructions from a unified instruction set;

assembling the test sequence program, wherein assembling includes determining a first executable instruction to be included in a first set of instructions and determining a second executable instruction to be included in a second set of instructions, a length of the first executable instruction being different from a length of the second executable instruction;

storing the first executable instruction in a first memory of a testing system, the first memory having a width that corresponds to the length of the first executable instruction; and

storing the second executable instruction in a second memory of the testing system, the second memory having a width that corresponds to the length of the second executable instruction.

19. The method of claim 18 , wherein determining the first executable instruction includes determining that the first executable instruction will be executed in a sequential fashion by the testing system, determining the second executable instruction includes determining that the second executable instruction will be executed in a non-sequential fashion by the testing system, and the second memory is accessible in a non-sequential fashion.

20. A testing system comprising:

a processor operable to execute a call instruction read from a first memory, the testing system reading, responsive to the call instruction, a subsequent instruction from a second memory, the first memory operable to store instructions having a first length and the second memory operable to store instructions having a second length that is not equal to the first length, the second memory not being able to store the instructions having the first length.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT PATENT NUMBER 7261561 AND REPLACE WITH PATENT NUMBER 7231561 PREVIOUSLY RECORDED ON REEL 034660 FRAME 0188. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Feb 11, 2016
From: XCERRA CORPORATION; EVERETT CHARLES TECHNOLOGIES LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 037824/0372 →
SECURITY AGREEMENT Recorded Dec 18, 2014
From: XCERRA CORPORATION; EVERETT CHARLES TECHNOLOGIES LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 034660/0188 →
RELEASE OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Dec 18, 2014
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: XCERRA CORPORATION; EVERETT CHARLES TECHNOLOGIES LLC
Reel/Frame 034660/0394 →
CHANGE OF NAME Recorded May 27, 2014
From: LTX-CREDENCE CORPORATION
To: XCERRA CORPORATION
Reel/Frame 033032/0768 →
SECURITY AGREEMENT Recorded Jan 17, 2014
From: LTX-CREDENCE CORPORATION; EVERETT CHARLES TECHNOLOGIES LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 032086/0476 →