# Patent

## Title
Method for testing interconnections between integrated circuits using a

## Abstract

This is a continuation of application Ser. No. 08/414,571, filed on Mar. 31, 1995 now abandoned.

## Background
1. Field of the Invention

This invention relates to the field of integrated circuits. More particularly, this invention relates to integrated circuits having serial test scan chains of the type used for debugging and analysing integrated circuit operation.

2. Description of the Prior Art

It is known from the JTAG system described in IEEE Standard 1149.1-1990 to provide an integrated circuit with a serial test scan chain for applying signals to and capturing signals from predetermined points within an integrated circuit. An example of such an arrangement is illustrated in FIG. 1 of the accompanying drawings.

FIG. 1 shows an integrated circuit 2 having a block of core logic 4 for performing the desired operation functions of the integrated circuit 2. For example, if the integrated circuit 2 is a microprocessor, then the core logic 4 could be a processor core and associated cache memory, co-processor, memory management unit and the like that are used when the integrated circuit 2 is operating normally to achieve its desired functions. The core logic 4 is surrounded by a serial test scan chain 6.

The serial test scan chain 6 is composed of a plurality of scan chains cells. Each scan chain cell can either apply a signal value, capture a signal value or be transparent relative to a predetermined point within the integrated circuit 2 to which it is coupled. The scan chain cells are connected together in a manner similar to a shift register, whereby signals to be applied or signals that have been captured can be shifted in or shifted out of the serial test scan chain 6.

The serial test scan chain 6 operates under control of a scan chain controller 8. The scan chain controller 8 has a test access port connecting it to elements outside of the integrated circuit 2. The test access port has five signal lines, i.e. a test data output line (TDO), a test data input line (TDI), a test mode selecting line (TMS), a test clock line (TCK) and an active low test reset line (nTRST). The TDI line acts as a serial input, the TDO line acts as a serial output, the TCK line supplies the clock signal based upon which all test and analysis operations proceed and the nTRST line supplies a reset signal using which the test system can be forced to return to a predetermined known state. The TMS line supplies a mode signal which moves a state machine 10 within the scan chain controller 8 between states. Dependent upon the current state of the state machine 10, control logic 12 within the scan chain controller 8 operates to configure the test systems in different ways, e.g. there will be states in which a serial test instruction is received, serial test data is received, serial test data is output, instructions that have been received are acted upon etc. Depending upon the particular state of the scan chain controller 8, a multiplexer 14 within the scan chain controller 8 serves to connect different points within the integrated circuit 2 to the TDO line.

One instruction implemented by the scan chain controller 8 is the IDCODE instruction that is described within the IEEE Standard 1149.1-1990. l Upon receipt of this instruction, the scan chain controller serves to output on the TDO line a series of bits that comprise identifying data that characterises the particular integrated circuit 2. Such a feature can be extremely useful in a debugging environment in which it is vitally important to know exactly what integrated circuit is being dealt with including its part number and the precise version of that part. This function is achieved by providing a shift register 16 into which the identifying data is loaded upon receipt of an IDCODE instruction and from where it is output to the TDO line via the multiplexer 14.

It is strongly advantageous within the field of integrated circuits to reduce the number of circuit elements within an integrated circuit. An integrated circuit having fewer components is generally easier to manufacture, less expensive, consumes less power and allows greater flexibility for the provision of circuit elements to provide other functions.

An object of the invention is to provide an integrated circuit with a reduced number of circuit elements whilst maintaining the functionality of the integrated circuit.

Viewed from one aspect this invention provides an integrated circuit comprising: integrated circuit; signals from and applying signals to predetermined points within said circuit unit; and test scan chain and having a serial data input for input of serial data from outside of said integrated circuit and a serial data output for output of serial data to outside of said integrated circuit, identifying-data-requesting-instruction input via said serial data input to control loading of predetermined identifying data characteristic of and stored within said integrated circuit into a portion of said serial test scan chain and to control serial output via said serial data output of said identifying data from said portion of said serial test scan chain.

The invention recognises and exploits the potential of the serial test scan chain to also serve as a mechanism for handling the output of the identifying data. Accordingly, in the example illustrated in FIG. 1, the shift register 16 is no longer required. The integrated circuit area needed to implement the shift register 16 might typically account for 30% of the area of the scan chain controller 8 and so the invention provides a significant reduction in the circuit area required for debugging and analysis purposes. A comparatively small increase in the number of other components of the scan chain controller 8 is required in order to switch an appropriate portion of the serial test scan chain 6 for use in outputting the identifying data, but this is outweighed by the saving in not having to provide a dedicated shift register.

The invention provides an additional advantage in embodiments in which said scan chain controller includes a multiplexer for connecting one of a plurality of points within said integrated circuit to said serial data output.

By removing the requirement for a dedicated shift register, it is possible to utilise a multiplexer having one fewer channel. This saves on circuit area and yields further of the advantages discussed above.

The identifying data could take many forms. However, it is usual and highly useful that the identifying data includes one or more of:

It will be appreciated that the identifying data will usually be provided by the manufacturer of the integrated circuit. In this case the identifying data is stored within non-volatile storage within the integrated circuit.

The non-volatile storage could take the form of fusible links, read only memory or a series of connections to one or other of the voltage rail or ground rail depending upon the bit of data to be represented (i.e. the data may be hardwired into the IC).

Preferred embodiments of the invention further comprise an input multiplexer for connecting said portion of said serial test scan chain into which said identifying data is loaded to one of said serial data input or an output of a portion of said serial test scan chain immediately preceding said portion into which said identifying data is loaded, said input multiplexer switching to connect to said serial data input in response to said identifying-data-requesting-instruction.

The input multiplexer provides the ability to chain together the portions of the serial test scan chains from different ICs that will shift out the identifying data and so make possible the recovery of identifying data from a plurality of ICs in one operation.

Viewed from another aspect this invention provides a method of operating an integrated circuit, said method comprising the steps of: integrated circuit; within said circuit unit using a serial test scan chain coupled to said circuit unit for; chain controller having a serial data input for input of serial data from outside of said integrated circuit and a serial data output for output of serial data to outside of said integrated circuit; and said serial data input, loading predetermined identifying data characteristic of and stored within said integrated circuit into a portion of said serial test scan chain and serially outputting said identifying data via said serial data output from said portion of said serial test scan chain.

The above, and other objects, features and advantages of this invention will be apparent from the following detailed description of illustrative embodiments which is to be read in connection with the accompanying drawings.

FIG. 1 illustrates an integrated circuit having a debugging and analysis system;

FIG. 2 illustrates an integrated circuit having a debugging and analysis system in which the serial test scan chain is re-used as a mechanism for outputting identifying data characteristic of the integrated circuit; and

FIG. 3 illustrates a state diagram for a state machine within a scan chain controller.

FIG. 2 illustrates an integrated circuit 2 having core logic 4 and a serial test scan chain having a first portion 18 and a second portion 20. A scan chain controller 8 controls the operation of the serial test scan chain. The operation of the debugging and analysis system is essentially the same as that for FIG. 1 as previously discussed other than in relation to the IDCODE instruction.

Upon receipt of an IDCODE instruction, the control logic 12 within the scan chain controller 8 outputs a signal to the second portion 20 of the serial test scan chain to trigger the second portion 20 to load the identifying data relating to the manufacturer, part number and version number of the integrated circuit 2 (typically 32 bits of data). Once this data has been loaded into the second portion 20, it is serially clocked out under control of the debugging clock TCK via the multiplexer 14 onto the TDO line. In this way, a dedicated shift register does not have to be provided within the scan chain controller for this purpose and the multiplexer 14 can be made to have one channel fewer.

An input multiplexer 22 is connected between the first portion 18 and the second portion 20 of the serial test scan chain. This input multiplexer 22 serves to direct data received on the TDI line to the second portion 20 during the action of an IDCODE instruction. This ensures that after the identifying data has been shifted out, any data shifted into the scan chain passes straight through after the delay of the second portion 20. This is significant when the serial test scan chains of a plurality of discrete integrated circuits are connected together to enable the identifying data for all the integrated circuits to be recovered in sequence by clocking the data through successive second portions 20 of the serial test scan chains of each integrated circuit.

FIG. 3 illustrates the states through which the state machine 10 may be passed in accordance with the JTAG standard. Broadly speaking, the states can be considered as having an instruction capturing and interpretation section 24 and a data capturing and interpretation section 26. The manner in which the identifying-data-requesting-instruction IDCODE is handled relative to this state diagram can be described with reference to Table 1. ______________________________________ Data In Bits Action/State   Mode Bit Required Received ______________________________________ Start at Test-Logic- N/A          N/A Reset State Move to Capture-IR 0110         **** State Cycle around Shift- 0000         1110 IR State to receive IDCODE Instruction Move to Update-IR 1011         **** State; Activate Instruction Decoder Move to Capture-DR 10           ** State; Load 2nd Portion and Switch Input Mux Cycle around Shift- 32 .times. `0` 32 .times. `*` DR State to output Identifying Data Return to Run- 10110        ***** Test/Idle State ______________________________________

The state machine 10 starts in the Test-Logic-Reset State, it being unimportant what mode bits or received data bits have proceeded that state. The state machine 10 is then moved through the state diagram illustrated in FIG. 3 to the Capture-IR State. The mode bit sequence required to achieve this is "0110". During this move to the Capture-IR State, it is unimportant what bits are present on the TDI line. The state machine 10 then cycles four times through the Shift-IR State to receive the IDCODE Instruction. The mode bits required to achieve this are "0000" and the bits that will be captured from the TDI line during this cycling to specify the IDCODE Instruction will be "1110". After the IDCODE Instruction has been captured and stored, the state machine 10 moves to the Update-IR State by receipt of modes bits "1011". As the state machine 10 passes through the Update-IR State, it generates a signal that activates an instruction decoder and makes the IDCODE Instruction the current instruction active within the scan chain controller 8.

The state machine 10 is then moved to the Capture-DR State by received mode bits "10". The control logic 12 then generates signals supplied to the second portion 20 of the serial test scan chain and the input multiplexer 22 to trigger the loading of the identifying data from hardwired non-volatile storage into the second portion 20 of the serial test scan chain and to switch the input multiplexer 22 to select the TDI line as its input. The state machine 10 then cycles for 32 clock periods about the Shift-DR State by application of 32 successive "0" bits to the TMS line. During this period the identifying data is clocked out of the second portion 20 of the serial test scan chain onto the TDO line via the multiplexer 14. The switched state of the input multiplexer 22 ensures and data applied to TDI is passed straight through the second portion 20 after the associated delay. In particular, if another integrated circuit is also in the identifying data output state, then its identifying data will be clocked into the uppermost part of the second portion 20 of the serial test scan chain and be available to be immediately output on the TDO line if more than 32 cycles through the Shift-DR State are made. Once all the identifying data that is desired has been recovered, the state machine is returned to the Run-Test/Idle State by application of mode bits "10110".

The IDCODE instruction is the default active instruction for the scan chain controller 8 following a reset. In this way, when starting from the Test-Logic-Reset State it is possible if so desired to move directly to the Capture-DR State relying upon the IDCODE instruction being active by default. In order to achieve this the mode bits "010" would be applied. Thereafter, the process would proceed as described in relation to the last three rows of Table 1.

It will be appreciated that the second portion 20 of the serial test scan chain could have any length, a greater length allowing more complex identifying data. It will also be appreciated that the portion of the serial test scan chain that is used for loading the identifying data and clocking it out from the integrated circuit need not necessarily be at the end of the serial test scan chain. If the portions so used is in the middle of the serial test scan chain, then a connection needs to be made from the end of that portion to the multiplexer 14.

Although illustrative embodiments of the invention have been described in detail herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various changes and modifications can be effected therein by one skilled in the art without departing from the scope and spirit of the invention as defined by the appended claims.

## Claims

1. An integrated circuit comprising: integrated circuit; including a first portion consisting of thirty-two scan chain cells and a second portion including additional scan chain cells, said serial test scan chain being coupled to said circuit unit for capturing signals from and applying signals to predetermined points within said circuit unit; and test scan chain and having a serial data input for input of serial data from outside of said integrated circuit and a serial data output for output of serial data to outside of said integrated circuit; identifying-data-requesting-instruction input via said serial data input to control loading of predetermined identifying data characteristic of and stored within said integrated circuit into said first portion of said serial test scan chain and to control serial output via said serial data output of said identifying data from said first portion of said serial test scan chain; and further comprising; and responsive to said identifying-data-requesting-instruction to connect said first portion of said serial test scan chain between said serial data input and said serial data output and to bypass said second portion including said additional scan chain cells of said serial test scan chain.

2. An integrated circuit as claimed in claim 1, wherein said scan chain controller includes a multiplexer for connecting one of a plurality of points within said integrated circuit to said serial data output.

3. An integrated circuit as claimed in claim 1, wherein said identifying data includes one or more of:

4. An integrated circuit as claimed in claim 1, wherein said identifying data is stored within non-volatile storage within said integrated circuit.

5. An integrated circuit as claimed in claim 1, wherein said scan chain multiplexer comprises an input multiplexer for connecting said first portion of said serial test scan chain into which said identifying data is loaded to one of said serial data input or an output of said second portion of said serial test scan chain immediately preceding said first portion into which said identifying data is loaded, said input multiplexer switching to connect to said serial data input in response to said identifying-data-requesting-instruction.

6. A method of operating an integrated circuit including a serial test scan chain formed of a plurality of scan chain cells including a first portion consisting of thirty-two scan chain cells and a second portion including additional scan chain cells, said method comprising the steps of: integrated circuit; within said circuit unit using said serial test scan chain coupled to said circuit unit for; chain controller having a serial data input for input of serial data from outside of said integrated circuit and a serial data output for output of serial data to outside of said integrated circuit; said serial data input, loading predetermined identifying data characteristic of and stored within said integrated circuit into said first portion of said serial test scan chain, and serially outputting said identifying data via said serial data output from said first portion of said serial test scan chain; and said first portion of said serial test scan chain between said serial data input and said serial data output and bypassing said second portion of the scan chain cells not within said first portion of said serial test scan chain.