# Patent

## Title
Test system having a master/slave JTAG controller

## Abstract

A test system has a package containing a number of die. There is a JTAG controller for each of the die. There is also master/slave selector input for each of the JTAG controllers. A boundary scan register link connects at least two of the die.

## Background
RELATED APPLICATIONS
The present invention claims priority on provisional patent application Ser. No. 60/621,291, filed on Oct. 22, 2004, entitled “Master/Slave JTAG Architecture for Multi-Die Configuration” and is hereby incorporated by reference.


FIELD OF THE INVENTION
The present invention relates generally to the field of electronic circuits and more particularly to a test system for electronic circuits.
BACKGROUND OF THE INVENTION
The Joint Test Access Group (JTAG) IEEE-1149.1 interface (specification available from www.ieee.org) is widely used for boundary-scan testing and in-system-programming of devices. The JTAG interface is ubiquitous in modern complex ICs to allow for a simple but effective way to test devices at manufacturing time as well as when the parts are assembled in the target system. A block diagram of conventional JTAG circuitry is shown in FIG. 1.
The conventional JTAG data path includes a series of registers placed from the data in (TDI) to the data out (TDO) pin. The clocking, loading and selection of the registers is handled by the test access port (TAP) controller, which is driven by the external pins TRST, TMS and TCLK.
In multi-die or multi-device environments, the components could be connected in series, forming a chain (TDO of component 1 is wired to TDI of component 2, and so on), as illustrated in FIG. 2. In this case, the TRST, TMS and TCLK pins are connected to all of the components. Alternatively, the components can be connected in parallel and share the data pins TDI and TDO, but this scheme requires the use of multiple TMS pins.
Disadvantages of the conventional JTAG technology include that in a multi-die package, there may be multiple copies of JTAG IDs in one packaged device, leading to user and/or test equipment confusion. There may also be longer data latency through the device. Furthermore, the JTAG behavior of N cascaded 1-die devices is the same as that of an N-die device. This fact, coupled with a lack of JTAG ID uniqueness for multi-die devices, can cause problems during test and manufacturing.
It would be desirable to have a solution where devices having multiple die in a boundary scan or JTAG chain have a unique device ID. It would also be desirable for the multi-die device to behave as a single die component from the JTAG interface viewpoint.
SUMMARY OF INVENTION
A test system that overcomes these and other problems has a JTAG controller in each die. A master/slave signal is coupled to each one of the controllers. A package may house a number of die elements. A number of boundary scan registers may be controlled by a number of JTAG controllers. A die ID input may be coupled to each one of the JTAG circuits. One of the JTAG controllers may be a master. All but one of the JTAG controllers are slave controllers. A boundary scan register of a first die may be coupled to a boundary scan register of a second device to form a larger scan chain.
In one embodiment, a test system has a number of die in a package. There is a JTAG controller for each of the die. There is a die ID input for the JTAG circuits. Each of the die may have a boundary scan register. There may be a boundary scan register link between at least two of the die. Each of the JTAG controllers may have a master/slave input. One of the JTAG controllers may be selected as a master controller. A test data out pin may only be active for the master controller. Test data in a boundary scan register of a slave controller die may be transferred to a boundary scan register of the master controller die.
In one embodiment, a test system has a package containing a number of die. There is a JTAG controller for each of the die. There is also a master/slave selector input for each of the JTAG controllers. There may be boundary scan register link between at least two of the die. A die ID input may be provided for each of the die. One of the JTAG controllers may be a master controller. All but one of the JTAG controllers may be a slave controller. A test data output pin may only be active for the master controller.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a conventional device with JTAG circuitry;
FIG. 2 is a block diagram of a pair of die connected together in series;
FIGS. 3a-d are block diagrams of a test system and how it is configured in accordance with one embodiment of the invention;
FIGS. 4a-d are block diagrams of a test system and how it is configured in accordance with one embodiment of the invention;
FIG. 5 is a block diagram of a pair of die connected in accordance with one embodiment of the invention;
FIG. 6 is a block diagram of multiple die connected in accordance with one embodiment of the invention; and
FIG. 7 is a block diagram of multiple die connected in accordance with one embodiment of the invention.
FIG. 8 is an example of a multiple die test system using the test system of FIG. 3 in accordance with one embodiment of the invention;
FIG. 9 is an example of a multiple die test system using the test system of FIG. 4 in accordance with one embodiment of the invention;



DETAILED DESCRIPTION OF THE DRAWINGS
The present invention relates to JTAG test systems. JTAG test systems are used to test interconnects between integrated circuits (IC). The JTAG specification defines circuitry that is placed on the die with the core logic to facilitate the testing of the IC. These circuits include the boundary scan registers (BSR), the Test Access Port (TAP) controller, the test data input port (TDI), the test data output port (TDO) and the output multiplexer. In addition, a bypass register is used and various control signals are supported, such as the TCLK (test clock), TRST (test reset) and TMS (test status). The present invention adds the signals of master/slave and die ID and a BSR external interconnect between dies. This allows a JTAG system to test multi-die packages easily and efficiently. It also allows for correct identification of the device being tested.
FIGS. 3a-d are block diagrams of test system and how it is configure in accordance with one embodiment of the invention. FIG. 3a shows the general test system 10 configuration. A test data in (TDI) input 12 is coupled to a switch 14. A “slave in” port 16 is also coupled to the controllable switch 14. A “master/slave” port 18 controls the setup of the switch 14. The output 20 of the switch 14 is coupled to the BSR (boundary scan register) 22. The output register 24 is coupled to a BSR (boundary scan register) out port 26 and to a controllable switch 28. A “master in” port 30 is also coupled to the switch 28. A “single die” port 32 controls switch 28. The output 34 of the controllable switch 28 is coupled to an output multiplexer 36. The output 38 of the output multiplexer 36 is coupled to a flip-flop 40 and the output of the flip-flop 40 is coupled to TDO (test data output) port 42.
FIG. 3b illustrates how the architecture of the test system 10 of FIG. 3a is configured for a single die system. In this case the master/slave switch 14 has been setup for a master setup and the TDI (Test Data Input) port 12 is coupled to the BSR (boundary scan register) 22. The controllable switch 28 is configured for a single die and the output BSR register 24 is coupled to the output multiplexer 36. This configuration is fairly standard for a JTAG device.
FIG. 3c illustrates how the architecture of the test system 10 of FIG. 3a is configured for a master die in a multi-die configuration. In this case the master/slave switch 14 has been setup for a master setup and the TDI (Test Data Input) port 12 is coupled to the BSR (boundary scan register) 22. The controllable switch 28 is configured for multiple die and the output BSR register 24 is coupled to the BSR out port 26. The “master in” port 30 is coupled to the output multiplexer 36.
FIG. 3d illustrates how the architecture of the test system 10 of FIG. 3a is configured for a slave die in a multi-die configuration. In this case the master/slave switch 14 has been setup for a slave setup and the “slave in” port 16 is coupled to the BSR (boundary scan register) 22. The output BSR register 24 is coupled to the BSR out port 26. The “master in” port 30 is coupled to the output multiplexer 36.
FIGS. 4a-d are block diagrams of test system 50 and how it is configure in accordance with one embodiment of the invention. FIG. 4a shows the general test system 50 configuration. A test data in (TDI) input 52 is coupled to a switch 54. A “BSR in” port 56 is also coupled to the controllable switch 54. An “end slave” port 58 controls the setup of the switch 54. The output 60 of the switch 54 is coupled the BSR (boundary scan register) 62. The output register 64 is coupled to a BSR (boundary scan register) out port 66 and to output multiplexer 68. The output 70 of the output multiplexer 66 is coupled to a flip-flop 72 and the output of the flip-flop 72 is coupled to TDO (test data output) port 74.
FIG. 4b illustrates how the architecture of the test system 50 of FIG. 4a is configured for a single die system. In this case the end slave switch 54 has been setup for an end slave and the TDI (Test Data Input) port 52 is coupled to the BSR (boundary scan register) 62. This configuration is fairly standard for a JTAG device.
FIG. 4c illustrates how the architecture of the test system 50 of FIG. 4a is configured for a master or slave die configuration. In this case the end slave switch 44 has been setup for a not end slave setup and BSR In port 56 is coupled to the BSR (boundary scan register) 62.
FIG. 4d illustrates how the architecture of the test system 50 of FIG. 4a is configured for an end slave die configuration. In this case the end slave switch 44 has been setup for an end slave setup and TDI port 52 is coupled to the BSR (boundary scan register) 62. The output register 64 is coupled to the BSR Out port 66.
FIG. 5 is a block diagram of a pair of JTAG devices 100, 102 connected in accordance with one embodiment of the invention. The JTAG devices 100, 102, including JTAG controllers 124, 126 respectively, are contained in a single package 104. The package 104 has a single test data in (TDI) port 106. The package 104 also has a single test data out (TDO) port 108. A single set of JTAG signal inputs: Test clock (TCLK) 110, Test reset (TRST) 112, and Test status (TMS) 114 are provided for the package 104. An internal die ID signal input 116 is coupled to both die 100 and die 102. An internal boundary scan register link 118 couples die 100 to die 102. Both die 100, 102 have a master/slave input 120, 122. In this case the die 100 has been selected as the master.
FIG. 6 is a block diagram of multiple JTAG devices connected in parallel in accordance with one embodiment of the invention. In this case “N” die are connected together from a JTAG testing point of view. The standard set of JTAG signal inputs: Test clock (TCLK), Test reset (TRST), and Test status (TMS) are provided for the package and are not shown. Die1 130 is the master die and has a boundary scan register link 132 that shifts data to slave die2 134. A series of similar boundary scan register links 136 shift data to the last slave dieN 138. A boundary scan register link 140 then shifts the data to the master die1 130.
FIG. 7 is a block diagram of multiple JTAG devices connected in parallel in accordance with one embodiment of the invention. This topology is similar to that shown in FIG. 6 except that the link 132 has been removed. Thus all output data is shifted from the end slave die2 134 through the chain of slave dies to the master die1 130 for output on the TDO (test data out) port (not shown).
FIG. 8 is an example of a multiple die test system using the test system of FIG. 3 in accordance with one embodiment of the invention. The top die 82 is configured as a master die as shown in FIG. 3c and the lower die 84 is configured as a slave die as shown in FIG. 3d. The BSR Out port 26 of the master die 82 is coupled to the slave in port 16 and the BSR Out port 26 of the slave die 84 is coupled to the master in port 30 of the master die 82. As can be seen the multiple die system functions as a standard JTAG device.
FIG. 9 is an example of a multiple die test system using the test system of FIG. 4 in accordance with one embodiment of the invention. This system has a master die 90, a slave die 92 and an end slave die 94. The master die 90 is configured as a master die as shown in FIG. 4c. The slave die 92 is configured as shown in FIG. 4c. The end slave die is configured as shown in FIG. 4d. The BSR In 10 port 56 of the master die 90 is coupled to the BSR Out port 66 of the slave die 92. The BSR In port 56 of the slave die 92 is coupled to the BSR Out port 66 of the end slave die 94. The TDI port 52 of the end slave die 94 is active. The TDO port 96 of the master die 90 is active. This clearly illustrates how multiple die JTAG devices can be formed using the test system of FIG. 4.
Note that the multiple die configuration is ideally suited for dies that are all the same.
Thus there has been described a test system that allows a package of multiple die to be treated as a single JTAG device. This speeds up the test processing for multiple die packages and simplifies the test procedures. In addition, each die may now be uniquely defined within the package.
While the invention has been described in conjunction with specific embodiments thereof, it is evident that many alterations, modifications, and variations will be apparent to those skilled in the art in light of the foregoing description. Accordingly, it is intended to embrace all such alterations, modifications, and variations in the appended claims.

## Claims

1. A test system comprising:
a plurality of die devices in a multi-die configuration coupled together in a single package, wherein each of the die devices includes a unique die identification (ID); and
a selective master/slave control input signal for each of the die devices for configuring each of the plurality of die devices as either a master die device or a slave die device, wherein the master die device comprises a test data output pin activated for presenting test data output for each of the die utilizing a respective unique ID, and wherein the plurality of die devices are connected through one or more boundary scan register links, and wherein signals from the slave die devices are conveyed to the master die device for output via the activated test data output pin.

2. The system of claim 1, wherein each of the plurality of die has a Boundary Scan Register (BSR).

3. The system of claim 2, wherein a test data in a boundary scan register of an individual slave die is transferred to a boundary scan register of the master die device.

4. A multi-die test system comprising:
a plurality of JTAG (Joint Test Action Group) controllers coupled to form a single package, wherein each JTAG controller is associated with a die and each die includes a unique internal die identification (ID);
a master/slave selector input for each of the plurality of JTAG controllers for configuring each of the plurality of JTAG controllers as either a master JTAG controller or a slave JTAG controller, wherein the master JTAG controller comprises a test data output pin activated for presenting test data output for each of the die utilizing a respective die ID wherein the plurality of JTAG controllers are connected through one or more boundary scan register links, and wherein the master JTAG controller receives data from the slave JTAG controllers that includes the unique internal die ID of each die and conveys the data for the package via the activated test data output pin.

5. A test system, comprising:
a plurality of test die, wherein each test die includes a joint test action group (JTAG) controller and wherein each test die is configured to receive an internal die identification (ID) signal that relates to a unique internal die ID for the test die; and,
wherein each JTAG controller of each individual test die is configured to receive a selective master/slave control input signal that configures one JTAG controller as a master JTAG controller, wherein the selective master/slave control input signal configures the remainder JTAG controllers as slave JTAG controllers and wherein test data for the plurality of test die is conveyed to the master JTAG controller via boundary scan register (BSR) linkages between individual test die, wherein the test data includes the unique internal die IDs and wherein the test data is output only from the master JTAG controller via an associated test data output pin.