IP Library Granted Patent US 8,756,467
Granted Patent B2
US 8,756,467 · App. 13/308,236 · Granted Jun 17, 2014

Methods and apparatus for testing multiple-IC devices

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,756,467
App. No.
13/308,236
Granted
Jun 17, 2014
Kind
B2
Abstract

Embodiments of integrated circuits include a first input interconnect, a second input interconnect, an output interconnect, a shift register, a select register, a test access port (TAP) controller, and select register decode circuitry. The TAP controller is coupled to the first input interconnect and the select register, and the TAP controller is configured to shift a select value provided on the first input interconnect into the select register. The select register decode circuitry is configured to control, based on the select value, which of a plurality of test data output signals are provided to the output interconnect, where the plurality of test data output signals includes a first test data output signal and a second test data output signal. The first test data output signal is provided by the shift register, and the second test data output signal is received from a second integrated circuit on the second input interconnect.

Claims (99)

1. An integrated circuit comprising:

a first input interconnect;

a second input interconnect;

an output interconnect;

a shift register selected from a boundary scan register and a test data register;

a bypass register;

a select register;

an instruction register;

a test access port (TAP) controller coupled to the first input interconnect, the instruction register, and the select register, wherein the TAP controller is configured to shift a select value provided on the first input interconnect into the select register, and the TAP controller is configured to shift an opcode provided on the first input interconnect into the instruction register, and wherein the select value may be a first select value assigned to the integrated circuit or the select value may be a different second select value assigned to a second integrated circuit that is coupled to the second input interconnect;

select register decode circuitry configured to control, based on the select value, which of a plurality of test data output signals is provided to the output interconnect, wherein the plurality of test data output signals includes at least a first test data output signal and a second test data output signal, and wherein the first test data output signal is provided by the shift register, and the second test data output signal is received from the second integrated circuit through the second input interconnect; and

instruction decode circuitry, wherein the instruction decode circuitry is configured to map the opcode to an instruction to be executed by the TAP controller, wherein the instruction decode circuitry maps the opcode to a first instruction when the select value is the first select value, and the instruction decode circuitry maps the opcode to a second instruction when the select value is the second select value, wherein the first instruction, when executed, causes a value in the shift register to be clocked out on the output interconnect, and the second instruction, when executed, causes a value in the bypass register to be clocked out on the output interconnect.

2. The integrated circuit of claim 1 , wherein the select register decode circuitry is configured to cause the first test data output signal to be provided to the output interconnect when the select value is the first select value assigned to the integrated circuit.

3. The integrated circuit of claim 1 , further comprising:

a multiplexer having an output coupled to the output interconnect and a plurality of inputs, including at least a first input coupled to receive the first test data output signal and a second input coupled to receive the second test data output signal, and

wherein the select register decode circuitry controls which signal present on the plurality of inputs is provided to the output interconnect by providing an input select signal to the multiplexer.

4. The integrated circuit of claim 3 , further comprising:

a third input interconnect,

wherein the plurality of inputs of the multiplexer includes at least a third input coupled to receive a third test data output signal from a third integrated circuit on the third input interconnect.

5. The integrated circuit of claim 1 , further comprising:

a decode value register coupled to the TAP controller and configured to store a decode value derived from the select value, wherein the instruction decode circuitry is configured to map a combination of the opcode and the decode value to the instruction to be executed by the TAP controller.

6. An integrated circuit comprising:

a first input interconnect;

a second input interconnect;

an output interconnect;

a shift register;

a select register;

a test access port (TAP) controller coupled to the first input interconnect and the select register, wherein the TAP controller is configured to shift a select value provided on the first input interconnect into the select register;

select register decode circuitry configured to control, based on the select value, which of a plurality of test data output signals is provided to the output interconnect, wherein the plurality of test data output signals includes at least a first test data output signal and a second test data output signal, and wherein the first test data output signal is provided by the shift register, and the second test data output signal is received from a second integrated circuit on the second input interconnect;

an instruction register coupled to the TAP controller;

a decode value register coupled to the TAP controller and configured to store a decode value; and

instruction decode circuitry, and

wherein the TAP controller is further configured to shift an opcode provided on the first input interconnect into the instruction register, and the instruction decode circuitry is configured to map a combination of the decode value and the opcode to an instruction to be executed by the TAP controller, and

wherein the select register decode circuitry is further configured to cause the decode value to be stored in the register based on the select value.

7. The integrated circuit of claim 6 , wherein the decode value may be a first value or a second value, and wherein the instruction decode circuitry is configured to map the combination of the decode value and the opcode to an instruction of a primary instruction set when the decode value is the first value, and to map the combination of the decode value and the opcode to an instruction of a secondary instruction set when the decode value is the second value.

8. A multiple integrated circuit package comprising:

a plurality of external package pins, including a test data out (TDO) pin;

a first integrated circuit; and

a second integrated circuit,

wherein the first integrated circuit includes

a first input interconnect,

a second input interconnect,

a first output interconnect coupled to the TDO pin,

a first shift register selected from a boundary scan register and a test data register,

a first bypass register,

a first select register,

a first instruction register, a first test access port (TAP) controller coupled to the first input interconnect and to the first select register and the first instruction register, wherein the first TAP controller is configured to shift a select value provided on the first input interconnect into the first select register, and the first TAP controller is configured to shift an opcode provided on the first input interconnect into the first instruction register, and wherein the select value may be a first select value assigned to the first integrated circuit or the select value may be a different second select value assigned to a second integrated circuit that is coupled to the second input interconnect,

first select register decode circuitry configured to control, based on the select value, which of a first plurality of test data output signals is provided to the output interconnect, wherein the first plurality of test data output signals includes at least a first test data output signal and a second test data output signal, and wherein the first test data output signal is provided by the first shift register, and the second test data output signal is received from the second integrated circuit through the second input interconnect, and

instruction decode circuitry, wherein the instruction decode circuitry is configured to map the opcode to an instruction to be executed by the TAP controller, wherein the instruction decode circuitry maps the opcode to a first instruction when the select value is the first select value, and the instruction decode circuitry maps the opcode to a second instruction when the select value is the second select value, wherein the first instruction, when executed, causes a value in the first shift register to be clocked out on the first output interconnect, and the second instruction, when executed, causes a value in the first bypass register to be clocked out on the first output interconnect.

9. The multiple integrated circuit package of claim 8 , wherein the first integrated circuit further includes:

a multiplexer having an output coupled to the first output interconnect and a plurality of inputs, including at least a first input coupled to receive the first test data output signal and a second input coupled to the second input interconnect to receive the second test data output signal, and

wherein the first select register decode circuitry controls which signal present on the plurality of inputs is provided to the first output interconnect by providing an input select signal to the multiplexer.

10. The multiple integrated circuit package of claim 8 , wherein the second integrated circuit comprises:

a second shift register configured to produce the second test data output signal; and

a second output interconnect coupled to the second input interconnect of the first integrated circuit.

11. The multiple integrated circuit package of claim 10 , wherein:

the first integrated circuit also includes a third input interconnect, and

the multiple integrated circuit package further comprises

a third integrated circuit that includes

a third shift register configured to produce a third test data output signal; and

a third output interconnect coupled to the third input interconnect of the first integrated circuit to enable the third integrated circuit to provide the third test data output signal to the first integrated circuit as another of the plurality of test data output signals.

12. The multiple integrated circuit package of claim 11 , wherein the first integrated circuit further includes:

a multiplexer having an output coupled to the first output interconnect and a plurality of inputs, including at least a first input coupled to receive the first test data output signal, a second input coupled to the second input interconnect to receive the second test data output signal, and a third input coupled to the third input interconnect to receive the third test data output signal, and

wherein the first select register decode circuitry controls which signal present on the plurality of inputs is provided to the first output interconnect by providing an input select signal to the multiplexer.

13. A multiple integrated circuit package comprising:

a plurality of external package pins, including a test data out (TDO) pin;

a first integrated circuit that includes

a first input interconnect,

a second input interconnect,

a first output interconnect coupled to the TDO pin,

a first shift register,

a first select register,

a first test access port (TAP) controller coupled to the first input interconnect and to the first select register, wherein the first TAP controller is configured to shift a select value provided on the first input interconnect into the first select register, and

first select register decode circuitry configured to control, based on the select value, which of a first plurality of test data output signals is provided to the output interconnect, wherein the first plurality of test data output signals includes at least a first test data output signal and a second test data output signal, and wherein the first test data output signal is provided by the first shift register, and the second test data output signal is received from a second integrated circuit on the second input interconnect; and

a second integrated circuit that includes

a second shift register,

a second output interconnect coupled to the second input interconnect of the first integrated circuit,

a third input interconnect,

a fourth input interconnect,

a second select register,

a second TAP controller coupled to the third input interconnect and to the second select register, wherein the second TAP controller is configured to shift the select value provided on the third input interconnect into the second select register, and

second select register decode circuitry configured to control, based on the select value, which of a second plurality of test data output signals is provided to the second output interconnect as the second test data, wherein the second plurality of test data output signals includes at least a third test data output signal and a fourth test data output signal, and wherein the third test data output signal is provided by the second shift register, and the fourth test data output signal is received on the fourth input interconnect,

and wherein the multiple integrated circuit package further comprises:

a third integrated circuit that includes

a third shift register configured to produce the third test data output signal, and

a third output interconnect coupled to the fourth input interconnect of the second integrated circuit to enable the third integrated circuit to provide the third test data output signal to the second integrated circuit.

14. A method for testing a multiple integrated circuit package that includes at least a first integrated circuit and a second integrated circuit, the method performed by the first integrated circuit and comprising the steps of:

loading a select value from a first input interconnect of the first integrated circuit into a select register of the first integrated circuit, wherein the select value may be a first select value assigned to the first integrated circuit or the select value may be a different second select value assigned to the second integrated circuit;

receiving a first test data output signal from the second integrated circuit on a second input interconnect of the first integrated circuit;

providing one of a plurality of test data output signals to an output interconnect of the first integrated circuit based on the select value in the select register, wherein the plurality of test data output signals includes the first test data output signal from the second integrated circuit and a locally-produced test data output signal;

loading an opcode into an instruction register of the integrated circuit; and

mapping the opcode to an instruction to be executed by a test controller of the first integrated circuit, wherein the opcode is mapped to a first instruction when the select value is the first select value, and the opcode is mapped to a second instruction when the select value is the second select value, wherein the first instruction, when executed, causes a value in a shift register selected from a boundary scan register and a test data register to be clocked out on the output interconnect, and the second instruction, when executed, causes a value in a bypass register to be clocked out on the output interconnect.

15. The method of claim 14 , wherein the multiple integrated circuit package also includes a third integrated circuit, the method further comprising:

receiving a second test data output signal from the third integrated circuit on a third input interconnect of the first integrated circuit, wherein the second test data output signal is included in the plurality of test data output signals, one of which is provided to the output interconnect based on the select value in the select register.

16. The method of claim 14 , wherein the step of providing comprises providing the locally-produced test data output signal to the output interconnect when the select value corresponds to the first select value assigned to the first integrated circuit.

17. The method of claim 14 , wherein the providing step comprises:

controlling which of the plurality of test data output signals is provided to the output interconnect by providing an input select signal to a multiplexer of the first integrated circuit.

18. The method of claim 14 , further comprising:

storing a decode value in a decode value register of the first integrated circuit, wherein the decode value is derived from the select value, and the step of mapping includes mapping a combination of the opcode and the decode value to the instruction to be executed by the test controller.

19. The method of claim 18 , wherein the decode value may be a first value or a second value, and wherein mapping the combination of the decode value and the opcode to an instruction comprises mapping the combination to an instruction of a primary instruction set when the decode value is the first value, and mapping the combination to an instruction of a second instruction set when the decode value is the second value.

Assignments (30)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
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 APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0241. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Jan 5, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041260/0850 →
MERGER Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 040652/0241 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
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/0379 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0447 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0439 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Mar 7, 2012
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027821/0982 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Mar 7, 2012
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027821/0967 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Mar 7, 2012
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027821/0662 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2011
From: VACCARO, JOSEPH S.; STANLEY, MICHAEL E.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 027308/0721 →