Test driver for connecting an integrated circuit chip to a controlling computer

Abstract: A test driver (104) for connecting a controlling computer (106) to an IC chip (102) having a standard test access port (TAP) is both hardware and software efficient. The last stage (226) of a wrap-around or circulating control register (230) is connected to a further bit storage stage (228) and serves to drive a test mode select (TMS) pin of the TAP. The last stage (226) is fed back to the first stage (206). As a result of the control register configuration, its original contents are automatically restored after each shift cycle, thus abrogating the need to reload it if the same control pattern is again needed, and abrogating the need to maintain (via software) the correct value on the TMS pin in between shifting sequences of the control register. Proper shift times in a data register of the test driver are achieved by replicating the IC chip TAP controller state machine.

Description: The present invention generally relates to testing integrated circuit (IC) chips, and systems which incorporate IC chips. More specifically, the present invention relates to a test driver for connecting a computer to an IC chip having a standard test architecture and a standard communication protocol. Recent industry interest in standardizing the test architecture and protocol for all IC chips has resulted in the adoption (February 15, 1990) by the Institute of Electrical and Electronics Engineers (IEEE) of Standard 1149.1-1990, entitled "IEEE Standard Test Access Port and Boundary Scan Architecture", which document is hereby expressly incorporated by reference. Each IC chip complying with this standard has a Test Access Port (TAP) and a Test Access Port Controller (TAPC). The standard precisely defines the manner in which communication between the IC chip via the TAP and a test driver takes place. Industry-wide adherence to the standard will allow for interchangeability of IC chips by different manufacturers, insofar as testing is concerned. It is an object of the present invention to provide an improved test driver for communicating with a standard test port of an IC chip. According to the invention there is provided a test driver for connecting a controlling computer to an under-test integrated circuit chip having a test access port including a test mode select pin, a test data input pin, a test data output pin, a clock input pin and a test access port controller, said test driver including a data shift register connected to said controlling computer whereby test data may be loaded into said data shift register, said data shift register being connected to said test data input pin and said test data output pin for the purpose of applying said test data to said integrated circuit chip and for receiving data from said integrated circuit chip, characterized by a circular shift register connected to said controlling computer whereby a control word may be loaded into said circular shift register, an end stage of said circular shift register being connected to said test mode select pin for the purpose of repeatedly applying said control word to said test mode select pin. It should be understood that by a circular shift register is meant a shift register in which bits shifted out at one end are entered into the other end. The present invention advantageously avoids the need to re-load the circular shift register when the same control word is required by the next test procedure. EP-A-415615 which was published after the priority date of the present application (Art. 54(3) EPC), discloses a test signal generator for testing ICs built according to the IEEE P1149.1 boundary scan standard. The generator comprises a circular shift register to generate periodical sequences of TMS-data. An embodiment of the present invention will now be described with reference to the accompanying drawings, wherein:- Figure 1 is a schematic diagram of the test driver interfacing an IC chip under test and a controlling computer; Figure 2 is the schematic diagram in Figure 1, with a detailed representation of the test driver; Figure 3 is state diagram of an IC chip TAPC; and Figure 4 is an expanded version of the "scan data register" portion of the state diagram in Figure 3. Since the invention resides primarily in the novel structure combination and the method of operation of well-known computer circuits and devices, and not in the specific detailed structure thereof, the structure, control, and arrangement of these well-known circuits and devices are illustrated in the drawings by use of readily understandable block representations and schematic diagrams, which show only the specific details pertinent to the present invention. This is done in order not to obscure the disclosure with structural details which will be readily apparent to those skilled in the art in view of the description herein. Also, various portions of these systems have been appropriately consolidated and simplified to stress those portions pertinent to the present invention. In Figure 1 an IC chip 102 adhering to the previously mentioned IEEE standard is connected to a test driver 104 via test access port (TAP) lines 108-114. The test driver 104 is also connected to a controlling computer 106. In accordance with the standard the IC chip 102 has a TAP controller (not shown, and its TAP consists of four pins identified as follows: test data in (TDI) 108; test data out (TDO) 110; test mode select (TMS) 112; and test clock (TCK) 114. All communication between the IC chip 102 (via the TAP) and the test driver 104 is well-defined by the standard. The TDI and TDO pins receive and transmit the test data used during the actual testing of the IC chip 102. The TMS pin 112 receives a series of bits which determine the state of the TAPC. The state machine of the TAPC is shown in Figures 3 and 4, and will be explained infra . The description so far has pertained to the standard without regard to the specifics of the test driver of the present invention. Turning now to Figure 2, all of the test data to be utilized by the IC chip 102 is introduced to a parallel-load shift or data register 202 via a bus 204 from the controlling computer 106. A "load" or "shift" signal is received by the data register 202 on line 240 to determine whether the data register 202 is to load data from the controlling computer 106, or shift and output the data to the TDI pin 108. A clock signal is received on line 238 to control the timing of the data register 202 operation. The data register 202 also receives data from the TAPC via the TDO pin, which data is available to be read by the controlling computer 106 via the bus 204. Another parallel-load shift register 230 has stages 206-226, and is a circular shift register serving as a control register. The control register 230 is loaded with a control word received by the controlling computer 106 via the bus 204 and is stored in stages 206-226. A further bit storage stage 228 is connected to the end stage 226 of the control register 230, the stage 228 serving to drive the TMS pin 112 via a line 229. In the preferred embodiment, the number of stages in the control register 230 is three more than the number of stages in the data register 202. After each clock pulse, the word in the control register 230 is shifted one stage to the right in the figure. A control counter 232 is of the countdown type, and is loaded with a number equal to the number of stages in the control register by the controlling computer 106 via line 234. After each clock pulse, the control counter sends a shift signal via bus 204 to the control register 230, causing the control register 230 to shift its contents to the right one stage, and decrements the number by one. When the control counter 106 reaches zero, it ceases to send a "shift" signal. The operation of the test driver 104 is as follows. The TAPC is in a "pause" state following a previous control sequence. (Refer to the state diagram in Figures 3 and 4). A TAP circuit means in the form of a state machine 236 in the test driver 104 mirrors the state machine in the TAPC in order to synchronise the operation of the data register 202 with the test operations in the IC chip 102. The TAP state machine 236 supplies a "load" signal via line 240 to the data register 202 which enables the controlling computer 106 to load the data register 202 with test data. Contemporaneously, the control register is parallel-loaded with a control word from the controlling computer 106. Also, the control counter 232 is loaded with the number equal to the stages in the control register. The control counter 232 then sends a "shift" signal to the control register 230, causing it to shift its rightmost bit at stage 226 to stage 228, and also to feed the bit being shifted to the stage 228 from stage 226 back to the first stage 206. The TAPC and the TAP state machine 236 then advance according to the procedure shown in Figure 4. At appropriate places in the state diagram, the data register 202 is shifted to circulate test data in the IC chip 102 under test. The TAPC and the TAP state machine 236 follow the control pattern introduced by the controlling computer 106. The control register 230 continues shifting and feeding back (wrapping around) until the original control word is restored, whereupon, the zero state of the control counter 232 causes the control register 230 to stop shifting. The TAPC and the TAP state machine 236 are returned to the "pause" state, where they are maintained in that state by the bit in the control register stage 228. The controlling computer 106 can read data from or write data to the data register 202 during this time. Also, the controlling computer 106 can change the control word pattern stored in the control register 230 at this time. However, economy is obtained by not having to re-introduce the control word by the controlling computer 106 when the control word is to remain the same during the next sequence. This is because of the wrap-around nature of the control register 230. As can be seen from the portion of the state machine in Figure 4, the number of clock pulses required to shift all of the bits of the data stored in the data register 202 is equal to the number of stages in that register (one clock pulse corresponds to one shift) plus three clock pulses required to change the state machine from the "pause" state through the "exit(2)" and "shift" states, and then back to the "pause" state via the "exit(1)" state. Hence the number of stages in the control register 230 is N + 3 + 1 = N + 4, where N is the number of the stages in the data register 202. The extra stage represents the stage 228, which is used to keep the TAPC and TAP state machine 236 in the "pause" between test data runs. A brief description of the "states" in Figures 3 and 4 will now be given. In the "Test logic reset" state, the IC chip is operating normally, and test circuitry is essentially invisible to it. The "Run test/idle" activates a built-in self-test, but only in IC chips with a special self-testing feature. "Select DR scan" and "Select IR scan" refer to selecting the data registers and instruction registers to scan, respectively. "Scan data register" places the selected data register into the "shift" mode. "Scan instruction register" determines, inter alia , which data registers will be used, and whether the testing will be external or internal. In the "capture" state the logical state of the IC chip pins under test are loaded into a boundary scan register. "Exit(1)" and "Exit(2)" are merely decision points in the state machine, and have no other function. The "Update" state forces the IC chip into either the "Select DR scan" state or the "Run test/idle" state. The above description of the TAPC state machine and the TAP state machine 236 (recall that they are identical in the present invention) was brief, since the state machine is described in detail in the IEEE Standard 1149.1-1990. Variations and modifications to the present invention are possible given the above disclosure.

Claims: A test driver (104) for connecting a controlling computer (106) to an under-test integrated circuit chip (102) having a test access port (TAP) including a test mode select pin (TMS), a test data input pin (TDI), a test data output pin (TDO), a clock input pin (TCK) and a test access port controller (TAPC), said test driver including a data shift register (202) connected to said controlling computer whereby test data may be loaded into said data shift register, said data shift register being connected to said test data input pin and said test data output pin for the purpose of applying said test data to said integrated circuit chip and for receiving data from said integrated circuit chip, said test driver further including a circular shift register (206-226) connected to said controlling computer (106) whereby a control word may be loaded into said circular shift register, an end stage of said circular shift register being connected to said test mode select pin (TMS) for the purpose of repeatedly applying said control word to said test mode select pin. A test driver according to claim 1, characterized in that a further bit storage stage (228) is connected between an end stage (226) of said circular shift register and said test mode select pin (TMS). A test driver according to claim 2, characterized by a test access port circuit means (236) connected to said further stage (228) and to said data register (202) to permit said circuit means to enter a pause state whereby said data shift register may be loaded with test data, or to cause said circuit means to enter a non-pause state whereby said data shift register may have its data contents shifted through each stage of the data shift register. A test driver according to claims 1, 2 or 3, characterized by a decrementing control counter (232) connected to said controlling computer (106) and connected to said circular shift register (206-226), wherein said control counter is loaded with a number equal to the number of shift stages of said circular shift register, and is arranged to send a shift control signal to said circular shift register causing said circular shift register to shift, and to decrement said control counter after each shift until said control counter reaches zero, whereupon said control counter ceases to send shift control signals. A test driver according to any preceding claim, characterized by a clock coupled to said test access port clock pin (TCK) and to said circular shift register (206-226), to control the timing of said integrated circuit chip and said circular shift register. A test driver according to any preceding claim, characterized in that said data shift register (202) and said circular shift register (206-226) are parallel-loaded by said controlling computer (106).

Inventors: CHILES WILTON R, CHILES, WILTON R.
Applicants: NCR INT INC, NCR INTERNATIONAL INC.
Application year: 1991
Main classification: G06F11
IPC codes: G01R31