WO1996041206A1 - Method and apparatus for testing a megacell in an asic using jtag - Google Patents

Method and apparatus for testing a megacell in an asic using jtag Download PDF

Info

Publication number
WO1996041206A1
WO1996041206A1 PCT/US1996/008577 US9608577W WO9641206A1 WO 1996041206 A1 WO1996041206 A1 WO 1996041206A1 US 9608577 W US9608577 W US 9608577W WO 9641206 A1 WO9641206 A1 WO 9641206A1
Authority
WO
WIPO (PCT)
Prior art keywords
megacell
test
circuitry
inputs
output
Prior art date
Application number
PCT/US1996/008577
Other languages
French (fr)
Inventor
Randall L. Mote, Jr.
Original Assignee
Samsung Electronics Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co., Ltd. filed Critical Samsung Electronics Co., Ltd.
Priority to EP96922381A priority Critical patent/EP0834081B1/en
Priority to DE69631658T priority patent/DE69631658T2/en
Publication of WO1996041206A1 publication Critical patent/WO1996041206A1/en
Priority to IL12092797A priority patent/IL120927A0/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318558Addressing or selecting of subparts of the device under test

Definitions

  • the present invention relates to improvements in testing of integrated circuits. Specifically, the invention involves a method and apparatus for testing a megacell within an application specific integrated circuit "ASIC at the chip level. Description of Related Art
  • JTAG International Joint Tests Action Group
  • One implementation of this standard involves designing components (e.g., integrated circuits) for serial boundary-scanned testing by providing shift-register elements daisy chained to form a path around the periphery of an integrated circuit component.
  • the idea behind the serial testing is to shift serial data into and through a number of integrated circuit components.
  • the serial data is applied to inputs of known circuitry to effect outputs as determined by the circuit functions.
  • a master testing circuit compares the return data to an expected result (i.e., a result which is dependent upon the functions of the known circuitry).
  • the serial data inputs applied to the circuit being tested produces known outputs if the circuit is functioning properly. If the data stream returned to the master testing circuit is not as expected, then a malfunction in the circuit is detected by the testing circuit. A careful analysis (under software control) of the deviations in the data stream may isolate any malfunctions within a circuit.
  • Boundary-scanned testing of components can also be expanded to testing of a very large scale integrated (VLSI) circuitry such as an ASIC.
  • An ASIC includes internal logic circuitry which is normally inaccessible via the output pins supplied on the IC package.
  • Such internal logic circuitry within the ASIC is typically vendor-supplied as a module having defined inputs and outputs, and is commonly referred to as a megacell.
  • the test inputs and outputs for the vendor-supplied megacell within the ASIC are connected to special pins on the IC package so that the megacell is accessible for testing purposes by the manufacturer via external pins on the IC package.
  • the extra pins required to test the cell are typically of no use during normal implementation and operation of the IC.
  • the additional test pins sometimes require the manufacturer to increase the IC package to the next larger size die and or package because of the increased number of pins.
  • the IC package takes additional printed circuit board real estate and costs are increased because a larger die size is generally more expensive.
  • the standard JTAG specification allows a megacell within an ASIC to be surrounded internally with JTAG cells.
  • use of this test architecture is incompatible with the way a vendor typically tests megacells supplied by the vendor. That is, megacell vendors generally have a standard test for their megacells. While the standard test vectors and testing methods provided by the vendor to test a megacell are flexible enough to allow for alternate pin ordering when testing their megacells, it is cost prohibitive for a vendor to change the functionality of the standard test. For example, a standard vendor test might be serially loaded through the JTAG port and applied in parallel to the megacell but this would be cost prohibitive since it would multiply the test time by twice the length of the JTAG chain.
  • a JTAG interface is used, in accordance with one aspect of the present invention to load a custom JTAG instruction which will bring the test inputs and outputs for a vendor-supplied megacell within an ASIC to the output pins in place of the normal signals provided on the output pins for use by the fabricator of the ASIC in his chip level testing of that ASIC.
  • extra pins are not required to test the cell. This saves pins and prevents the manufacturer from having to go to the next larger die size and or package size because of additional test pins.
  • printed circuit board real estate is reduced, and costs are reduced because the smaller die size is generally less expensive.
  • the JTAG interface is not used in the manner it was intended (i.e., as the sole interface to the tester). Instead, it is used to place the ASIC in a test mode which allows a vendor's standard megacell test to run, without adding new pins.
  • the present invention is a system which provides for a reduced number of external pins on an integrated circuit (IC) package having JTAG test capability.
  • the system comprises custom designed digital logic circuitry formed within the IC package.
  • the custom designed digital logic circuitry has inputs and outputs.
  • the system further comprises a standardized megacell module having independent functionality formed within the IC package and incorporated into the IC package so as to communicate and function in unison with the custom designed digital logic circuitry.
  • the megacell module has test inputs and test outputs which are used to test functionality of the megacell module.
  • the system also includes a JTAG boundary scan data test register having outputs which stores a test vector used to test integrity of inputs and outputs of the IC package.
  • the system comprises first selection circuitry having first inputs connected to at least one of the outputs of the data test register and at least one of the test outputs of the megacell module, where the first selection circuitry further receives a first selection input and provides one of the first inputs as an output based upon the first selection input; and second selection circuitry having second inputs connected to the output of the first selection circuitry and to at least one of the outputs of the custom designed digital logic circuitry, where the second selection circuitry further receives a second selection input and provides one of the second inputs as an output based upon the second selection input.
  • the system of the invention additionally comprises a JTAG instruction register which stores instruction bits, and wherein the instruction bits are used to determine the first selection input to the first selection circuitry and the second selection input to the second selection circuitry.
  • the system includes a plurality of external pins connected as outputs of the second selection circuitry so that the test outputs of the megacell module are provided on the external pins when the instruction register is set to cause the first and second selection circuitry to propagate the megacell module test inputs and outputs to the external pins.
  • the invention is a method of testing a megacell within an integrated circuit having the megacell as an integral component of circuitry within the integrated circuit.
  • the megacell has at least one test output signal having no connection external to the integrated circuit during operation of the integrated circuit.
  • the integrated circuit has a plurality of signals which are provided as outputs on respective pins of the integrated circuit during the operation of the integrated circuit.
  • the method comprises applying a serial instruction to the integrated circuit via a JTAG input pin to place the integrated circuit into a predetermined test mode; selectively disabling one of the plurality of output signals from a respective first pin of the integrated circuit; selectively routing the test output from the megacell to the respective first pin of the disabled output signal; applying a test input to the megacell via a second pin of the integrated circuit to stimulate the megacell to perform a test operation; and monitoring the test output of the megacell at the respective first pin of the integrated circuit.
  • Figure 1 is a schematic block diagram which illustrates the configuration of a JTAG test circuit.
  • Figure 2 is a schematic block diagram which shows an IC circuit having a megacell with test input/output terminals connected to external pins of the IC.
  • Figure 3 is a state diagram showing the operation of the TAP controller circuit used to control the JTAG test circuit.
  • Figure 4 is a schematic block diagram showing an improved JTAG test circuit which provides a connection of an internal megacell with an external pin.
  • FIG. 1 is a schematic block diagram showing an integrated circuit (IC) chip 100 configured for testing using a JTAG IEEE 1149.1 daisy-chain boundary-scan serial testing system.
  • the exemplary JTAG system shown in Figure 1 comprises a master pattern generator/comparator 102 which outputs a data/instruction signal over a line 105, a mode signal over a line 107, and a clock signal over a line 109.
  • the data/instruction signal line 105 is also referred to as the TDI signal line
  • the mode signal line 107 is referred to as the TMS signal line
  • the clock signal line 109 is referred to as the TCK signal line.
  • the output lines 105, 107, and 109 of the pattern generator/comparator 102 connect to external input pins extending from the IC 100 so that a TAP controller state machine 110 within the IC 100 receives the signals via the lines 105, 107, and 109.
  • the TAP controller state machine 110 connects to a data shift register 115 via a serial data line 117 and a clock enable line 119.
  • the TAP controller state machine 110 further connects to an instruction shift register 120 via a serial instructions line 122 and a clock enable line 124. It should be noted here that, typically, the TDI line
  • the serial data line 117, and the serial instructions line 122 are connected to a common node and the lines
  • 105, 117, and 122 differ only insofar as they are considered as carrying data, instructions, or both.
  • the data shift register 115 is connected in parallel with a latched data register 130, while the instruction shift register 120 connects in parallel with a latched instruction register 140.
  • Each of the bit storage locations within the latched data register 130 connects to a first input of a multiplexer within the IC 100.
  • one of the storage locations of the latched data register 130 connects to a first input of a 2:1 multiplexer 145 via a line 147.
  • each of the storage locations within the latched data register 130 connects to an input of a multiplexer within the IC 100; however, for simplicity of illustration, only one multiplexer 145 is depicted in Figure 1 as connected to the latched data register 130.
  • the latched instruction register 140 connects in parallel to a decoder 150 which is used to decode the instructions stored within the latched instruction register 140.
  • the decoder 150 provides select output to each of the JTAG multiplexers within the IC 100 (i.e., the multiplexers used to provide JTAG forced output levels). However, again for simplicity of illustration, the decoder 150 is shown in Figure 1 to provide only a single select output to the multiplexer 145 via a line 152.
  • a second input of the multiplexer 145 connects to the normal integrated circuitry 160 within the IC 100 via a line 162.
  • the normal integrated circuitry 160 within the IC 100 is the circuitry which performs the specified functions which the IC 100 carries out during normal operation (i.e., when the IC 100 is not being tested).
  • the output of a multiplexer 145 connects to an output pin on the surface of the IC 100 via a line 165.
  • the data shift register 115 and the instruction shift register 120 respectively output serial data and instruction lines 172, 174 as first and second inputs to a 2:1 multiplexer 170 which, in turn, outputs a serial data return line 175 to the pattern generator/comparator 102.
  • the pattern generator/comparator 102 In operation, the pattern generator/comparator 102 generates a pattern of data and/or instructions (typically called a test vector) which are serially transmitted over the line 105 to the TAP controller state machine 110.
  • the pattern generator/comparator 102 further provides a mode and a clock signal to the TAP controller state machine 110 via the lines 107, 109, respectively.
  • the TAP controller state machine 110 responds to the mode and clock signals to shift the data or instructions provided on the line 105 into either the data shift register 115 (i.e., when data are provided along the line 105) or into the instruction shift register 120 (i.e., when instructions are provided over the line 105).
  • the data which is shifted into the data shift register 150 and the instructions which are shifted into the instruction shift register 120 are serially clocked into their respective shift registers 115, 120 under the control of the TAP controller state machine 110.
  • TAP controller state machine 110 For example, if 70 data bits are to be shifted into the data shift register 115 and 30 instruction bits are to be shifted into the instruction shift register 120, a total of 100 clock cycles will be taken to shift each of the data and instruction bits into their respective shift registers.
  • the shift registers 115 and 120 parallel latch the data and instructions contained within the shift registers 115, 120 into the respective latched registers 130, 140.
  • the instructions latched into the register 140 are decoded by the decoder 150 to select the appropriate output of the multiplexer 145, as well as any other JTAG multiplexers (not shown) within the IC 100.
  • each of the JTAG multiplexers receives a JTAG input which is connected to the latched data register 130.
  • the multiplexer 145 is enabled by the decoder 150 via the line 152 to select the input 147 connecting to a storage location within the register 130.
  • the output 165 of the multiplexer 145 is forced to the bit value stored within the register 130.
  • the output connections of the IC 100 over the line 165 may be tested for defects. For example, if the storage location connected to the multiplexer 145 via the line 147 contains a high voltage level bit (i.e., corresponding to a digital 1), then the output of the multiplexer 145 along the line 165 should be detected at the output pin of the IC 100 to be a digital 1.
  • test circuitry to which the IC 100 is connected will register an error so that the IC 100 may be designated as defective. This test is performed for each of the inputs and outputs designated by the decoder 150 in response to the instructions loaded by the pattern generator/comparator 102.
  • the IC 100 includes a multiplexer 170 which selectively shifts out the data passing through the register 115 or the instructions passing through the register 120 via the lines 172 or 174 under the control of the TAP controller state machine 110. Finally, the data output from the last IC is transferred back to the pattern generator/comparator 102 via the serial return line 175.
  • FIG. 2 is a schematic block diagram which depicts an IC 200 including a vendor-supplied megacell 210 in addition to normal integrated circuitry 220.
  • the megacell 210 operates as a functional unit within the IC 200 which receives inputs from and provides inputs to the normal circuitry 220 via lines 225.
  • the vendor-supplied megacell 210 is distinguished from the normal circuitry 220 in that the vendor-supplied megacell 210 has a standardized structure and function provided by the vendor, while the normal circuitry is custom designed by an ASIC designer.
  • the megacell module has an independent functionality (i.e., the megacell could be used to perform the same function in a variety of different surrounding circuit configurations so that this functionality is substantially independent from the other circuitry within the IC 200).
  • a separate set of test vectors than those used to test the overall IC 200 are typically used to separately test the functionality of the megacell 210.
  • an ASIC designer uses standard functional logic blocks such as UARTS, phase locked loops, etc., as a part of the ASIC design.
  • An ASIC vendor supplies structure for these standard functional logic blocks, which the ASIC designer incorporates into a custom ASIC.
  • These standard functional blocks are referred to as megacells, and the megacell vendor typically supplies test vectors which are used by the chip foundry during the manufacturing process to test the megacell within the ASIC.
  • the ASIC can be tested as an entire unit, but if malfunctions are discovered in the entire unit, it will be difficult to determine if the malfunctions are due to custom circuitry whose structure is provided by the ASIC designer or due to the cell vendor-supplied megacell circuitry.
  • test outputs from the megacell 210 require multiple output pins 235 on the exterior surface of the ASIC 200.
  • the vendor-supplied test vectors are applied to the test inputs 230, and the resulting pattern on the test outputs 235 is measured to determine if the megacell is functioning correctly.
  • the testing of the megacell functionality is typically performed at the chip foundry (i.e., as a test after fabrication), but is not necessary after the chip is in normal operational use.
  • the present invention provides for a reduction of the number of output pins on an IC package which incorporates a megacell circuit.
  • the savings afforded by the present invention could be significant (e.g., on the order of one or two dozen pins could be eliminated) so that a more cost effective (i.e., smaller) die size and IC package could be used.
  • FIG. 3 is a state diagram which illustrates the operation of the TAP controller 110 in response to control signals provided on the mode and clock lines 107, 109.
  • the TAP controller state machine 110 begins in an idle state 300 which constitutes a controller state between scan operations. Once entered, the TAP controller 110 will remain in the idle state 300 as long as the TMS is held low. In the idle state 300, activity in selected test logic occurs only when certain instructions are present as is well understood in the art. For instructions loaded in the instruction register 140 that do not cause functions to execute in the idle TAP controller state 300, all test data registers selected by the current instruction shall retain their previous state (i.e., idle). Furthermore, the instructions loaded within the instruction register 140 do not change while the TAP controller 110 is in the idle state 300.
  • the select data register scan state 305 is a temporary controller state in which all test data registers selected by the current instruction retain their previous state. If TMS is held low while a rising edge is applied to TCK, then the TAP controller 110 transitions to a capture data register state 315, while if TMS is held high, and a rising edge is applied to TCK, then the TAP controller state machine 110 transitions to a select instruction register scan state 310.
  • TAP controller state machine 110 transitions into the capture data register state 315, then, in this state, data may be parallel-loaded into the data register 130 from the shift data register 115 on the rising edge of TCK. If the JTAG test circuitry does not include a parallel-loaded data register 130, or if capturing is not required for the selected test, then the data register retains its previous state unchanged. Furthermore, the bits stored within the instruction registers 140, 120 remain unchanged while the TAP controller state machine 110 is in the captured data register state 315. When the TAP controller 110 is in the capture data register state 315 while TMS is held low and a rising edge is applied to TCK, then the controller enters a shift data register state 320.
  • TMS is held high while the rising edge is applied to TCK
  • the TAP controller state machine 110 transitions to an exit data register state 325 directly from the capture data register state 315.
  • shift data register state 320 data along the line 105 is shifted into the data shift register 115 via the line 117.
  • an additional bit of data is shifted into the data shift register 115 over the line 117.
  • the TAP controller 110 continues in the shift data register state 320 as long as TMS is held low. Thus, as many data bits as are necessary to load the prespecified test vectors into the shift registers 115 are shifted into the register 115 while TMS is held low in the state 320.
  • the TAP controller state machine 110 When the TAP controller 110 is in the shift data register state 320 and a rising edge is applied to TCK while TMS is held high, then the TAP controller state machine 110 enters the exit data register state 325.
  • the exit data register state 325 is a temporary controller state. If TMS is held high, a rising edge applied to TCK causes the TAP controller 110 to enter an update data register state 340, while if TMS is held low while the rising edge is applied to TCK then the TAP controller 110 enters a pause data register state 330.
  • the pause data register state 330 allows the shifting of the test data register 315 to be temporarily halted.
  • the TAP controller 110 remains in pause data register state 330 while TMS is held low.
  • the TAP controller state machine 110 When TMS is held high and a rising edge is applied to TCK, then the TAP controller state machine 110 enters an exit 2 data register state 335 which is also a temporary controller state. If a rising edge is applied to TCK while TMS is held low, then the TAP controller state machine 110 returns to the shift data register state 320. However, if TMS is held high while a rising edge is applied to TCK, then the TAP controller state machine 110 transitions from the exit 2 data register state 335 to the update data register state 340. As shown in Figure 1, the shift data register 115 includes a latched parallel output to prevent changes to the data in the data register 130 while data is shifted in the associated shift register path 115 in response to certain instructions with the instruction register 140.
  • the update data register state 340 data is latched from the shift register 115 onto the parallel output of the shift register 115 on the falling edge of TCK.
  • this data is stored within the latched data register 130 so that the data within the register 130 does not change other than in the update data register state unless operation during the execution of a self-test is required (e.g., during the idle state in response to a design-specific public instruction).
  • the instructions stored within the instruction shift register 120 and the instruction latch data register 140 do not change while the TAP controller 110 is within the update data register state 340.
  • the TAP controller 110 enters the select data register scan state 305 when TMS is held high, or the idle state 300 when TMS is held low.
  • TMS is held high, and a rising edge is applied to TCK while the TAP controller state machine 110 is in the select data register state 305, then the TAP controller state machine 110 transitions to the select instruction register scan state 310.
  • TAP controller state machine 110 transitions into the capture instruction register state 345, then, in this state, instructions may be parallel-loaded into the instruction register 140 from the shift instruction register 120 on the rising edge of TCK. If the JTAG test circuitry does not include a parallel-loaded instruction register 140, or if capturing is not required for the selected test, then the instruction shift register 120 retains its previous state unchanged. Furthermore, the bits stored within the data registers 130, 115 remain unchanged while the TAP controller state machine 110 is in the captured instruction register state 345. When the TAP controller 110 is in the capture instruction register state 345 while TMS is held low and a rising edge is applied to TCK, then the controller enters a shift instruction register state 350.
  • TMS is held high while the rising edge is applied to TCK
  • the TAP controller state machine 110 transitions to an exit instruction register state 355 directly from the capture instruction register state 345.
  • the shift instruction register state 350 instructions along the line 105 are shifted into the instruction shift register 120 via the line 122.
  • an additional bit of instruction is shifted into the instruction shift register 120 over the line 122.
  • the TAP controller 110 continues in the shift instruction register state 350 as long as TMS is held low. Thus, as many instruction bits as are necessary to load the prespecified instruction vectors into the shift registers 120 are shifted into the register 120 while TMS is held low in the state 350.
  • the TAP controller state machine 110 When the TAP controller 110 is in the shift instruction register state 350 and a rising edge is applied to TCK while TMS is held high, then the TAP controller state machine 110 enters the exit instruction register state 355.
  • the exit instruction register state 355 is a temporary controller state. If TMS is held high, a rising edge applied to TCK causes the TAP controller 110 to enter an update instruction register state 370, while if TMS is held low while the rising edge is applied to TCK then the TAP controller 110 enters a pause instruction register state 360.
  • the pause instruction register state 360 allows the shifting of the test instruction register 345 to be temporarily halted.
  • the TAP controller 110 remains in pause instruction register state 360 while TMS is held low.
  • TMS is held high and a rising edge is applied to TCK
  • the TAP controller state machine 110 enters an exit-2 instruction register state 365 which is also a temporary controller state. If a rising edge is applied to TCK while TMS is held low, then the TAP controller state machine 110 returns to the shift instruction register state 350. However, if TMS is held high while a rising edge is applied to TCK, then the TAP controller state machine 110 transitions from the exit-2 instruction register state 365 to the update instruction register state 370.
  • the shift instruction register 120 includes a latched parallel output to prevent changes to the instruction in the instruction register 140 while instruction is shifted in the associated shift register path 120 in response to certain instructions with the instruction register 140.
  • the update instruction register state 370 instructions are latched from the shift register 120 onto the parallel output of the shift register 120 on the falling edge of TCK.
  • these instructions are stored within the latched instruction register 140 so that the instructions within the register 140 do not change other than in the update instruction register state unless operation during the execution of a self-test is required (e.g., during the idle state in response to a design-specific public instruction).
  • the data stored within the data shift register 115 and the latched data register 130 do not change while the TAP controller 110 is within the update instruction register state 370.
  • the TAP controller 110 When the TAP controller 110 is in the update instruction register state 370 and a rising edge is applied to TCK, the TAP controller 110 enters the select data register scan state 305 when TMS is held high, or the idle state 300 when TMS is held low.
  • the TAP controller 110 If within the select instruction register state 310 TMS is held high while a rising edge is applied to TCK, the TAP controller 110 enters the test logic reset state 342. When the TAP controller state machine 110 enters the test logic reset state 342, the test logic is disabled so that normal operation of the on-chip system logic (i.e., in response to signals received through the system pins) can continue unhindered. The TAP controller 110 remains in the test logic reset state 342 while TMS is held high. By holding TMS low during a rising edge on TCK, the TAP controller state machine 110 will enter the idle state 300.
  • FIG 4 is a schematic block diagram which shows an exemplary internal JTAG test circuit within an IC 400.
  • the TAP state controller 110, the data and instruction shift registers 115, 120, and other associated JTAG circuitry are not shown in Figure 4.
  • the IC 400 includes the aforementioned JTAG circuitry having substantially the same operation as described above.
  • the IC 400 may, for example, comprise an application-specific integrated circuit (ASIC) which includes custom-digital circuitry designed by an ASIC designer (represented in Figure 4 as normal circuitry 410) and a vendor-supplied structure for a megacell which the ASIC designer incorporates into the custom ASIC (represented as the megacell circuitry 420 in Figure 4).
  • ASIC application-specific integrated circuit
  • the normal circuitry 410 communicates via input and output lines 422 with the megacell circuitry 420.
  • the megacell circuitry 420 may comprise a standard arithmetic logic unit, microprocessor, or other circuitry which has a standard design and can be implemented as an independent module within the ASIC 400.
  • the normal circuitry 410 receives inputs from external pins such as pins 423, 425, via lines 433, 435. Of course, it will be understood that typically the normal circuitry 410 will receive on the order of dozens, or even hundreds of inputs but or purposes of clarity in illustrating the present invention, only the input terminals 423, 425 are shown to connect to the normal circuitry 410.
  • the normal circuitry 410 may also output certain signals to the megacell circuitry 420 via a line 437 which connects to a first input of a 2-to-1 multiplexer 440.
  • the multiplexer 440 further receives an input signal from an external pin 445 via a second input 447.
  • the output of the multiplexer 440 is provided to an input of the megacell 420 via a line 449 as shown in Figure 4.
  • the multiplexer 440 receives a select input from a decoder 450 via a line 452.
  • the megacell circuitry 420 further receives test inputs from an AND-gate 455 and an OR-gate 457.
  • the megacell circuitry 420 will typically include several test inputs, but the AND-gate 455 and the OR-gate 457 are shown to provide two exemplary test inputs to the megacell circuitry 420.
  • the AND-gate 455 receives a first input via the line 452 and a second input via the line 433 from the input pin 423.
  • the OR-gate 457 receives a first inverting input via the line 452 and a second input via the line 435 from the input pin 425.
  • pin input and output buffers are assumed to be present but are not shown for ease of illustration.
  • the normal circuitry 410 connects to an input of a JTAG output multiplexer 460 via a line 462. Again, it should be understood, that the normal circuitry 410 will typically include on the order of tens or hundreds of outputs, however, for clarity of illustration, only the output 462 is depicted in Figure 4.
  • the output of a 2-to-1 multiplexer 460 is provided to an external pin via a line 464.
  • a select input of the 2-to-1 multiplexer 460 is provided by decoder 450 via a line 466.
  • the second input of the 2-to-1 multiplexer 460 would connect directly to a latch boundary scan data register so that the JTAG standard input value would force the output terminal 465 to be equal to the JTAG bit when the appropriate select signal was provided to the input of the 2-to-l multiplexer 460.
  • the second input of the multiplexer 460 may also receive an output from the megacell circuitry 420 via a 2-to-1 multiplexer 470 over a line 472.
  • the 2-to-l multiplexer 470 receives a first input via a line 474 from the megacell circuitry 420.
  • the 2-to-1 multiplexer 470 further receives a second input from a latch boundary scan data register 480 via a line 476.
  • the 2-to-1 multiplexer 470 receives a select input from the decoder 450 via a line 478.
  • the decoder 450 decodes instructions contained within a latched instruction register 484.
  • the normal circuitry 410 and the megacell circuitry 420 receive inputs via a plurality of input pins (e.g., the input pins 423, 425 and 445) and process these inputs in accordance with the ASIC design to provide the appropriate output values on a plurality of output pins (e.g., the output pin 465).
  • the normal circuitry 410 and the megacell circuitry 420 exchange information via internal circuit paths (e.g., the circuit paths 422, 437, 449 and 474) so that the megacell circuitry 420 acts as a module which performs a prespecified function that supports the overall operation of the ASIC 400.
  • the JTAG circuitry found in the ASIC 400 is specially modified to provide an output path for the megacell circuitry 420 so that the megacell circuitry 420 may be tested by the chip foundry without requiring additional output pins to be provided on the ASIC 400.
  • the additional multiplexer 470 allows the second input to the multiplexer 460 to be used alternately as a JTAG output or as a megacell output as determined by the signal on the select line 478 from decoder 450.
  • the same output line 464 which is used to alternately output the JTAG standard boundary scan output or the normal circuitry output value may also be used to output the test signal from the megacell circuitry 420.
  • the selection of the output signal on the line 464 from one of the three possible outputs is coordinated under the control of the decoder 450 as determined by the instructions contained within the latched instruction register 484.
  • implementation of the present invention may require additional storage locations or decode patterns within the latched instruction register 484, to provide for the additional control signals.
  • present instruction registers within JTAG test circuitry typically are user defined so that spare decode states can be used to provide for additional control information.
  • test vector inputs are applied to selected external input pins (e.g., the pins 423, 425).
  • selected external input pins e.g., the pins 423, 425.
  • the test vector inputs supplied to the terminals 423, 425 are passed through the AND-gate 455 and the OR-gate 457 to the test inputs of the megacell circuitry 420.
  • the outputs of the AND-gate 455 and the OR-gate 457 are set to low and high, respectively, so as to prevent the test inputs to the megacell circuitry 420 from changing during normal operation.
  • the megacell circuitry 420 When the standard test vector inputs applied at the input terminals 423, 425 are propagated through to the test inputs of the megacell circuitry 420, the megacell circuitry 420 outputs signals in response to the test vector inputs over multiple output lines.
  • the output line 474 In the example of Figure 4, only the output line 474 is shown for ease of illustration; however, it will be understood that a plurality of output lines will be provided to a plurality of 2-to-1 multiplexers (such as the multiplexer 470) in order to fully test the functional characteristics of the megacell circuitry 420.
  • the signal output by the megacell circuitry 420 in response to the test vector inputs is provided as the first input to the multiplexer 470 over the line 474.
  • the latched instruction register 484, when in the megacell test mode, further contains instruction bits which cause the decoder 450 to assert the select signal on the line 478 to select the megacell test output on the line 474.
  • the output of the megacell circuitry 420 in response to the test vector inputs is provided on the line 472 at the output of the multiplexer 470.
  • the decoder 450 further provides a signal on the line 464, in response to the instructions within the register 484, to select the input line 472 so that the megacell circuitry test output is provided on the line 464 to the output pin 465.
  • the test vector inputs will cause the appropriate pattern of test vector outputs to appear on the output pins for which a path is provided from the megacell circuitry 420.
  • the output pin 465 will be indicative of the functionality of the megacell circuitry 420 when the test vector inputs are applied to the input pins 423, 425.
  • the functionality of the megacell circuitry 420 may be tested without the provision of additional output pins on the ASIC 400.
  • the instruction register 484 is loaded with the appropriate instruction bits to cause the decoder 450 to select either the normal operation mode or the JTAG test mode.
  • the JTAG TAP state controller 486 causes the decoder 450 to select the first input 462 of the multiplexer 460 so that the signal on the line 462 is output to the pin 465 via the multiplexer 460 and the line 464. Further, the decoder 450 outputs a low signal on the line 452 so that the test inputs to the megacell circuitry 420 are held to defined values so that the operation of the megacell circuitry 420 is not affected by the inputs on the pins 423, 425.

Abstract

Specially modified JTAG test circuitry is used to provide test inputs and outputs for vendor supplied megacells with buried I/O within an integrated circuit chip. A multiplexer (470) or similar circuit is used to alternatively select between a JTAG boundary scan (480) output or a megacell circuit (420) output in response to JTAG instructions within an instruction register (484). Additionally, a multiplexer (440) or similar circuit is used to alternatively select between an input pin or normal circuitry (410) for input to a megacell's burried input. Furthermore, an AND (455) or OR (457) gate is used to allow test inputs to a megacell, which are normally tied either high or low, to be controlled by an input pin in the special JTAG test mode. In this manner, test vectors applied at test inputs to the megacell circuitry result in test outputs to the megacell circuitry being provided on output pins of the integrated circuit without requiring additional input and/or output pins that are solely operational as test inputs or outputs to the megacell circuitry.

Description

METHOD AND APPARATUS FOR TESTING A MEGACELL IN AN ASIC USING JTAG
BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to improvements in testing of integrated circuits. Specifically, the invention involves a method and apparatus for testing a megacell within an application specific integrated circuit "ASIC at the chip level. Description of Related Art
The increasing complexity of circuit designs and new integrated circuit packaging techniques leads to an ever increasing problem of testing integrated circuits and printed circuit boards. Software testing of digital hardware is constantly improving, however the complexity of the circuitry makes testing more difficult unless the components are designed with testability in mind.
One method for testing circuitry which has received notable attention is the IEEE 1149.1 Boundary-Scanned Standard originated by the International Joint Tests Action Group (JTAG), (hereby incorporated by reference). One implementation of this standard involves designing components (e.g., integrated circuits) for serial boundary-scanned testing by providing shift-register elements daisy chained to form a path around the periphery of an integrated circuit component. The idea behind the serial testing is to shift serial data into and through a number of integrated circuit components. The serial data is applied to inputs of known circuitry to effect outputs as determined by the circuit functions. A master testing circuit compares the return data to an expected result (i.e., a result which is dependent upon the functions of the known circuitry). In other words, the serial data inputs applied to the circuit being tested produces known outputs if the circuit is functioning properly. If the data stream returned to the master testing circuit is not as expected, then a malfunction in the circuit is detected by the testing circuit. A careful analysis (under software control) of the deviations in the data stream may isolate any malfunctions within a circuit.
Boundary-scanned testing of components, as briefly explained above, can also be expanded to testing of a very large scale integrated (VLSI) circuitry such as an ASIC. An ASIC includes internal logic circuitry which is normally inaccessible via the output pins supplied on the IC package. Such internal logic circuitry within the ASIC is typically vendor-supplied as a module having defined inputs and outputs, and is commonly referred to as a megacell. In some circuit boards, the test inputs and outputs for the vendor-supplied megacell within the ASIC are connected to special pins on the IC package so that the megacell is accessible for testing purposes by the manufacturer via external pins on the IC package. However, the extra pins required to test the cell are typically of no use during normal implementation and operation of the IC. Furthermore, the additional test pins sometimes require the manufacturer to increase the IC package to the next larger size die and or package because of the increased number of pins. Thus, the IC package takes additional printed circuit board real estate and costs are increased because a larger die size is generally more expensive. Furthermore, the standard JTAG specification allows a megacell within an ASIC to be surrounded internally with JTAG cells. However, use of this test architecture is incompatible with the way a vendor typically tests megacells supplied by the vendor. That is, megacell vendors generally have a standard test for their megacells. While the standard test vectors and testing methods provided by the vendor to test a megacell are flexible enough to allow for alternate pin ordering when testing their megacells, it is cost prohibitive for a vendor to change the functionality of the standard test. For example, a standard vendor test might be serially loaded through the JTAG port and applied in parallel to the megacell but this would be cost prohibitive since it would multiply the test time by twice the length of the JTAG chain.
SUMMARY OF THE INVENTION A JTAG interface is used, in accordance with one aspect of the present invention to load a custom JTAG instruction which will bring the test inputs and outputs for a vendor-supplied megacell within an ASIC to the output pins in place of the normal signals provided on the output pins for use by the fabricator of the ASIC in his chip level testing of that ASIC. Thus, extra pins are not required to test the cell. This saves pins and prevents the manufacturer from having to go to the next larger die size and or package size because of additional test pins. Thus, printed circuit board real estate is reduced, and costs are reduced because the smaller die size is generally less expensive. The JTAG interface is not used in the manner it was intended (i.e., as the sole interface to the tester). Instead, it is used to place the ASIC in a test mode which allows a vendor's standard megacell test to run, without adding new pins.
Under one aspect, the present invention is a system which provides for a reduced number of external pins on an integrated circuit (IC) package having JTAG test capability. The system comprises custom designed digital logic circuitry formed within the IC package. The custom designed digital logic circuitry has inputs and outputs. The system further comprises a standardized megacell module having independent functionality formed within the IC package and incorporated into the IC package so as to communicate and function in unison with the custom designed digital logic circuitry. The megacell module has test inputs and test outputs which are used to test functionality of the megacell module. The system also includes a JTAG boundary scan data test register having outputs which stores a test vector used to test integrity of inputs and outputs of the IC package. In addition, the system comprises first selection circuitry having first inputs connected to at least one of the outputs of the data test register and at least one of the test outputs of the megacell module, where the first selection circuitry further receives a first selection input and provides one of the first inputs as an output based upon the first selection input; and second selection circuitry having second inputs connected to the output of the first selection circuitry and to at least one of the outputs of the custom designed digital logic circuitry, where the second selection circuitry further receives a second selection input and provides one of the second inputs as an output based upon the second selection input. The system of the invention additionally comprises a JTAG instruction register which stores instruction bits, and wherein the instruction bits are used to determine the first selection input to the first selection circuitry and the second selection input to the second selection circuitry. Finally, the system includes a plurality of external pins connected as outputs of the second selection circuitry so that the test outputs of the megacell module are provided on the external pins when the instruction register is set to cause the first and second selection circuitry to propagate the megacell module test inputs and outputs to the external pins. Under a further aspect, the invention is a method of testing a megacell within an integrated circuit having the megacell as an integral component of circuitry within the integrated circuit. The megacell has at least one test output signal having no connection external to the integrated circuit during operation of the integrated circuit. The integrated circuit has a plurality of signals which are provided as outputs on respective pins of the integrated circuit during the operation of the integrated circuit. The method comprises applying a serial instruction to the integrated circuit via a JTAG input pin to place the integrated circuit into a predetermined test mode; selectively disabling one of the plurality of output signals from a respective first pin of the integrated circuit; selectively routing the test output from the megacell to the respective first pin of the disabled output signal; applying a test input to the megacell via a second pin of the integrated circuit to stimulate the megacell to perform a test operation; and monitoring the test output of the megacell at the respective first pin of the integrated circuit.
Brief Description of the Drawiπos Figure 1 is a schematic block diagram which illustrates the configuration of a JTAG test circuit. Figure 2 is a schematic block diagram which shows an IC circuit having a megacell with test input/output terminals connected to external pins of the IC. Figure 3 is a state diagram showing the operation of the TAP controller circuit used to control the JTAG test circuit.
Figure 4 is a schematic block diagram showing an improved JTAG test circuit which provides a connection of an internal megacell with an external pin.
Detailed Descriotion of the Invention Figure 1 is a schematic block diagram showing an integrated circuit (IC) chip 100 configured for testing using a JTAG IEEE 1149.1 daisy-chain boundary-scan serial testing system. The exemplary JTAG system shown in Figure 1 comprises a master pattern generator/comparator 102 which outputs a data/instruction signal over a line 105, a mode signal over a line 107, and a clock signal over a line 109. It should be understood that according to conventional terminology, the data/instruction signal line 105 is also referred to as the TDI signal line, the mode signal line 107 is referred to as the TMS signal line, and the clock signal line 109 is referred to as the TCK signal line. The output lines 105, 107, and 109 of the pattern generator/comparator 102 connect to external input pins extending from the IC 100 so that a TAP controller state machine 110 within the IC 100 receives the signals via the lines 105, 107, and 109.
The TAP controller state machine 110 connects to a data shift register 115 via a serial data line 117 and a clock enable line 119. The TAP controller state machine 110 further connects to an instruction shift register 120 via a serial instructions line 122 and a clock enable line 124. It should be noted here that, typically, the TDI line
105, the serial data line 117, and the serial instructions line 122 are connected to a common node and the lines
105, 117, and 122 differ only insofar as they are considered as carrying data, instructions, or both.
The data shift register 115 is connected in parallel with a latched data register 130, while the instruction shift register 120 connects in parallel with a latched instruction register 140. Each of the bit storage locations within the latched data register 130 connects to a first input of a multiplexer within the IC 100. For example, as depicted in Figure 1, one of the storage locations of the latched data register 130 connects to a first input of a 2:1 multiplexer 145 via a line 147. Similarly, each of the storage locations within the latched data register 130 connects to an input of a multiplexer within the IC 100; however, for simplicity of illustration, only one multiplexer 145 is depicted in Figure 1 as connected to the latched data register 130. The latched instruction register 140 connects in parallel to a decoder 150 which is used to decode the instructions stored within the latched instruction register 140. The decoder 150 provides select output to each of the JTAG multiplexers within the IC 100 (i.e., the multiplexers used to provide JTAG forced output levels). However, again for simplicity of illustration, the decoder 150 is shown in Figure 1 to provide only a single select output to the multiplexer 145 via a line 152. A second input of the multiplexer 145 connects to the normal integrated circuitry 160 within the IC 100 via a line 162. The normal integrated circuitry 160 within the IC 100 is the circuitry which performs the specified functions which the IC 100 carries out during normal operation (i.e., when the IC 100 is not being tested). The output of a multiplexer 145 connects to an output pin on the surface of the IC 100 via a line 165.
The data shift register 115 and the instruction shift register 120 respectively output serial data and instruction lines 172, 174 as first and second inputs to a 2:1 multiplexer 170 which, in turn, outputs a serial data return line 175 to the pattern generator/comparator 102.
In operation, the pattern generator/comparator 102 generates a pattern of data and/or instructions (typically called a test vector) which are serially transmitted over the line 105 to the TAP controller state machine 110. The pattern generator/comparator 102 further provides a mode and a clock signal to the TAP controller state machine 110 via the lines 107, 109, respectively. As will be described in greater detail below with reference to Figure 3, the TAP controller state machine 110 responds to the mode and clock signals to shift the data or instructions provided on the line 105 into either the data shift register 115 (i.e., when data are provided along the line 105) or into the instruction shift register 120 (i.e., when instructions are provided over the line 105). The data which is shifted into the data shift register 150 and the instructions which are shifted into the instruction shift register 120 are serially clocked into their respective shift registers 115, 120 under the control of the TAP controller state machine 110. Thus, for example, if 70 data bits are to be shifted into the data shift register 115 and 30 instruction bits are to be shifted into the instruction shift register 120, a total of 100 clock cycles will be taken to shift each of the data and instruction bits into their respective shift registers. Of course, as will be described in greater detail below, additional clock cycles will be necessary to transfer data from the pattern generator/comparator 102 to the TAP controller state machine 110 and to change the mode of the TAP controller state machine 110 so that the TAP controller state machine 110 provides the appropriate control signals on the clock enable lines 119, 124.
Once the appropriate data for testing the designated inputs and outputs of the IC 100 are shifted into the shift registers 115, 120, the shift registers 115 and 120 parallel latch the data and instructions contained within the shift registers 115, 120 into the respective latched registers 130, 140. The instructions latched into the register 140 are decoded by the decoder 150 to select the appropriate output of the multiplexer 145, as well as any other JTAG multiplexers (not shown) within the IC 100. As briefly described above, each of the JTAG multiplexers (e.g., the multiplexer 145 shown in Figure 1) receives a JTAG input which is connected to the latched data register 130. Thus, for example, the multiplexer 145 is enabled by the decoder 150 via the line 152 to select the input 147 connecting to a storage location within the register 130. Thus, the output 165 of the multiplexer 145 is forced to the bit value stored within the register 130. In this manner, the output connections of the IC 100 over the line 165 may be tested for defects. For example, if the storage location connected to the multiplexer 145 via the line 147 contains a high voltage level bit (i.e., corresponding to a digital 1), then the output of the multiplexer 145 along the line 165 should be detected at the output pin of the IC 100 to be a digital 1. If this output pin does not generate a digital 1, then the test circuitry to which the IC 100 is connected will register an error so that the IC 100 may be designated as defective. This test is performed for each of the inputs and outputs designated by the decoder 150 in response to the instructions loaded by the pattern generator/comparator 102.
Of course, although not depicted in Figure 1, it will be understood that multiple ICs may be connected in series in a daisy-chain configuration so that the pattern generator/comparator 102 can shift in data and instructions for multiple ICs at one time. Thus, the IC 100 includes a multiplexer 170 which selectively shifts out the data passing through the register 115 or the instructions passing through the register 120 via the lines 172 or 174 under the control of the TAP controller state machine 110. Finally, the data output from the last IC is transferred back to the pattern generator/comparator 102 via the serial return line 175.
Figure 2 is a schematic block diagram which depicts an IC 200 including a vendor-supplied megacell 210 in addition to normal integrated circuitry 220. The megacell 210 operates as a functional unit within the IC 200 which receives inputs from and provides inputs to the normal circuitry 220 via lines 225. The vendor-supplied megacell 210 is distinguished from the normal circuitry 220 in that the vendor-supplied megacell 210 has a standardized structure and function provided by the vendor, while the normal circuitry is custom designed by an ASIC designer. Thus, the megacell module has an independent functionality (i.e., the megacell could be used to perform the same function in a variety of different surrounding circuit configurations so that this functionality is substantially independent from the other circuitry within the IC 200). Furthermore, a separate set of test vectors than those used to test the overall IC 200 are typically used to separately test the functionality of the megacell 210.
Thus, for example, an ASIC designer uses standard functional logic blocks such as UARTS, phase locked loops, etc., as a part of the ASIC design. An ASIC vendor supplies structure for these standard functional logic blocks, which the ASIC designer incorporates into a custom ASIC. These standard functional blocks are referred to as megacells, and the megacell vendor typically supplies test vectors which are used by the chip foundry during the manufacturing process to test the megacell within the ASIC. Typically, the ASIC can be tested as an entire unit, but if malfunctions are discovered in the entire unit, it will be difficult to determine if the malfunctions are due to custom circuitry whose structure is provided by the ASIC designer or due to the cell vendor-supplied megacell circuitry. For this reason, the megacells are tested independently using the test vectors provided by the cell vendor. Additionally, the ASIC designer need not expend the effort to exhaustively test the megacell since this testing will be done via the vendor supplied tests. However, as depicted in Figure 2, in order to test a megacell such as the megacell 210, test outputs from the megacell 210 require multiple output pins 235 on the exterior surface of the ASIC 200. The vendor-supplied test vectors are applied to the test inputs 230, and the resulting pattern on the test outputs 235 is measured to determine if the megacell is functioning correctly. The testing of the megacell functionality is typically performed at the chip foundry (i.e., as a test after fabrication), but is not necessary after the chip is in normal operational use. Thus, for example, only the operational inputs and outputs 240 would be used when the IC 200 is implemented within a circuit during normal operation. Thus, the output pins 235 are superfluous during normal operation of the IC 200. As will be described in greater detail with reference to Figure 4 below, the present invention provides for a reduction of the number of output pins on an IC package which incorporates a megacell circuit. The savings afforded by the present invention could be significant (e.g., on the order of one or two dozen pins could be eliminated) so that a more cost effective (i.e., smaller) die size and IC package could be used.
Figure 3 is a state diagram which illustrates the operation of the TAP controller 110 in response to control signals provided on the mode and clock lines 107, 109. The TAP controller state machine 110 begins in an idle state 300 which constitutes a controller state between scan operations. Once entered, the TAP controller 110 will remain in the idle state 300 as long as the TMS is held low. In the idle state 300, activity in selected test logic occurs only when certain instructions are present as is well understood in the art. For instructions loaded in the instruction register 140 that do not cause functions to execute in the idle TAP controller state 300, all test data registers selected by the current instruction shall retain their previous state (i.e., idle). Furthermore, the instructions loaded within the instruction register 140 do not change while the TAP controller 110 is in the idle state 300. When the TMS (mode signal along the line 107) is high and a rising edge is applied to the TCK signal (clock over the line 109) the TAP controller 110 moves to a select data register scan state 305. The select data register scan state 305 is a temporary controller state in which all test data registers selected by the current instruction retain their previous state. If TMS is held low while a rising edge is applied to TCK, then the TAP controller 110 transitions to a capture data register state 315, while if TMS is held high, and a rising edge is applied to TCK, then the TAP controller state machine 110 transitions to a select instruction register scan state 310.
If the TAP controller state machine 110 transitions into the capture data register state 315, then, in this state, data may be parallel-loaded into the data register 130 from the shift data register 115 on the rising edge of TCK. If the JTAG test circuitry does not include a parallel-loaded data register 130, or if capturing is not required for the selected test, then the data register retains its previous state unchanged. Furthermore, the bits stored within the instruction registers 140, 120 remain unchanged while the TAP controller state machine 110 is in the captured data register state 315. When the TAP controller 110 is in the capture data register state 315 while TMS is held low and a rising edge is applied to TCK, then the controller enters a shift data register state 320. However, if TMS is held high while the rising edge is applied to TCK, then the TAP controller state machine 110 transitions to an exit data register state 325 directly from the capture data register state 315. Within the shift data register state 320, data along the line 105 is shifted into the data shift register 115 via the line 117. Upon the application of each rising edge of TCK while TMS is held low, an additional bit of data is shifted into the data shift register 115 over the line 117. The TAP controller 110 continues in the shift data register state 320 as long as TMS is held low. Thus, as many data bits as are necessary to load the prespecified test vectors into the shift registers 115 are shifted into the register 115 while TMS is held low in the state 320.
When the TAP controller 110 is in the shift data register state 320 and a rising edge is applied to TCK while TMS is held high, then the TAP controller state machine 110 enters the exit data register state 325. The exit data register state 325 is a temporary controller state. If TMS is held high, a rising edge applied to TCK causes the TAP controller 110 to enter an update data register state 340, while if TMS is held low while the rising edge is applied to TCK then the TAP controller 110 enters a pause data register state 330. The pause data register state 330 allows the shifting of the test data register 315 to be temporarily halted. The TAP controller 110 remains in pause data register state 330 while TMS is held low. When TMS is held high and a rising edge is applied to TCK, then the TAP controller state machine 110 enters an exit 2 data register state 335 which is also a temporary controller state. If a rising edge is applied to TCK while TMS is held low, then the TAP controller state machine 110 returns to the shift data register state 320. However, if TMS is held high while a rising edge is applied to TCK, then the TAP controller state machine 110 transitions from the exit 2 data register state 335 to the update data register state 340. As shown in Figure 1, the shift data register 115 includes a latched parallel output to prevent changes to the data in the data register 130 while data is shifted in the associated shift register path 115 in response to certain instructions with the instruction register 140. Thus, in the update data register state 340, data is latched from the shift register 115 onto the parallel output of the shift register 115 on the falling edge of TCK. Thus, this data is stored within the latched data register 130 so that the data within the register 130 does not change other than in the update data register state unless operation during the execution of a self-test is required (e.g., during the idle state in response to a design-specific public instruction). As with each of the states 305-335, the instructions stored within the instruction shift register 120 and the instruction latch data register 140 do not change while the TAP controller 110 is within the update data register state 340. When the TAP controller is in the update data register state and a rising edge is applied to TCK, the TAP controller 110 enters the select data register scan state 305 when TMS is held high, or the idle state 300 when TMS is held low.
If TMS is held high, and a rising edge is applied to TCK while the TAP controller state machine 110 is in the select data register state 305, then the TAP controller state machine 110 transitions to the select instruction register scan state 310.
If the TAP controller state machine 110 transitions into the capture instruction register state 345, then, in this state, instructions may be parallel-loaded into the instruction register 140 from the shift instruction register 120 on the rising edge of TCK. If the JTAG test circuitry does not include a parallel-loaded instruction register 140, or if capturing is not required for the selected test, then the instruction shift register 120 retains its previous state unchanged. Furthermore, the bits stored within the data registers 130, 115 remain unchanged while the TAP controller state machine 110 is in the captured instruction register state 345. When the TAP controller 110 is in the capture instruction register state 345 while TMS is held low and a rising edge is applied to TCK, then the controller enters a shift instruction register state 350. However, if TMS is held high while the rising edge is applied to TCK, then the TAP controller state machine 110 transitions to an exit instruction register state 355 directly from the capture instruction register state 345. Within the shift instruction register state 350, instructions along the line 105 are shifted into the instruction shift register 120 via the line 122. Upon the application of each rising edge of TCK while TMS is held low, an additional bit of instruction is shifted into the instruction shift register 120 over the line 122. The TAP controller 110 continues in the shift instruction register state 350 as long as TMS is held low. Thus, as many instruction bits as are necessary to load the prespecified instruction vectors into the shift registers 120 are shifted into the register 120 while TMS is held low in the state 350.
When the TAP controller 110 is in the shift instruction register state 350 and a rising edge is applied to TCK while TMS is held high, then the TAP controller state machine 110 enters the exit instruction register state 355. The exit instruction register state 355 is a temporary controller state. If TMS is held high, a rising edge applied to TCK causes the TAP controller 110 to enter an update instruction register state 370, while if TMS is held low while the rising edge is applied to TCK then the TAP controller 110 enters a pause instruction register state 360.
The pause instruction register state 360 allows the shifting of the test instruction register 345 to be temporarily halted. The TAP controller 110 remains in pause instruction register state 360 while TMS is held low. When TMS is held high and a rising edge is applied to TCK, then the TAP controller state machine 110 enters an exit-2 instruction register state 365 which is also a temporary controller state. If a rising edge is applied to TCK while TMS is held low, then the TAP controller state machine 110 returns to the shift instruction register state 350. However, if TMS is held high while a rising edge is applied to TCK, then the TAP controller state machine 110 transitions from the exit-2 instruction register state 365 to the update instruction register state 370. As shown in Figure 1, the shift instruction register 120 includes a latched parallel output to prevent changes to the instruction in the instruction register 140 while instruction is shifted in the associated shift register path 120 in response to certain instructions with the instruction register 140. Thus, in the update instruction register state 370, instructions are latched from the shift register 120 onto the parallel output of the shift register 120 on the falling edge of TCK. Thus, these instructions are stored within the latched instruction register 140 so that the instructions within the register 140 do not change other than in the update instruction register state unless operation during the execution of a self-test is required (e.g., during the idle state in response to a design-specific public instruction). As with each of the states 310 and 345-365, the data stored within the data shift register 115 and the latched data register 130 do not change while the TAP controller 110 is within the update instruction register state 370. When the TAP controller 110 is in the update instruction register state 370 and a rising edge is applied to TCK, the TAP controller 110 enters the select data register scan state 305 when TMS is held high, or the idle state 300 when TMS is held low.
If within the select instruction register state 310 TMS is held high while a rising edge is applied to TCK, the TAP controller 110 enters the test logic reset state 342. When the TAP controller state machine 110 enters the test logic reset state 342, the test logic is disabled so that normal operation of the on-chip system logic (i.e., in response to signals received through the system pins) can continue unhindered. The TAP controller 110 remains in the test logic reset state 342 while TMS is held high. By holding TMS low during a rising edge on TCK, the TAP controller state machine 110 will enter the idle state 300.
Figure 4 is a schematic block diagram which shows an exemplary internal JTAG test circuit within an IC 400. For simplicity of illustration of the present invention, the TAP state controller 110, the data and instruction shift registers 115, 120, and other associated JTAG circuitry are not shown in Figure 4. However, it will be understood by those of ordinary skill in the art that the IC 400 includes the aforementioned JTAG circuitry having substantially the same operation as described above. The IC 400 may, for example, comprise an application-specific integrated circuit (ASIC) which includes custom-digital circuitry designed by an ASIC designer (represented in Figure 4 as normal circuitry 410) and a vendor-supplied structure for a megacell which the ASIC designer incorporates into the custom ASIC (represented as the megacell circuitry 420 in Figure 4). The normal circuitry 410 communicates via input and output lines 422 with the megacell circuitry 420. For example, the megacell circuitry 420 may comprise a standard arithmetic logic unit, microprocessor, or other circuitry which has a standard design and can be implemented as an independent module within the ASIC 400.
The normal circuitry 410 receives inputs from external pins such as pins 423, 425, via lines 433, 435. Of course, it will be understood that typically the normal circuitry 410 will receive on the order of dozens, or even hundreds of inputs but or purposes of clarity in illustrating the present invention, only the input terminals 423, 425 are shown to connect to the normal circuitry 410. In addition to outputting signals to the megacell circuitry 420 via the lines 422, the normal circuitry 410 may also output certain signals to the megacell circuitry 420 via a line 437 which connects to a first input of a 2-to-1 multiplexer 440. The multiplexer 440 further receives an input signal from an external pin 445 via a second input 447. The output of the multiplexer 440 is provided to an input of the megacell 420 via a line 449 as shown in Figure 4.
The multiplexer 440 receives a select input from a decoder 450 via a line 452. The megacell circuitry 420 further receives test inputs from an AND-gate 455 and an OR-gate 457. Of course, it should be understood, that the megacell circuitry 420 will typically include several test inputs, but the AND-gate 455 and the OR-gate 457 are shown to provide two exemplary test inputs to the megacell circuitry 420. The AND-gate 455 receives a first input via the line 452 and a second input via the line 433 from the input pin 423. Furthermore, the OR-gate 457 receives a first inverting input via the line 452 and a second input via the line 435 from the input pin 425. Although not shown in Figure 4, pin input and output buffers are assumed to be present but are not shown for ease of illustration.
The normal circuitry 410 connects to an input of a JTAG output multiplexer 460 via a line 462. Again, it should be understood, that the normal circuitry 410 will typically include on the order of tens or hundreds of outputs, however, for clarity of illustration, only the output 462 is depicted in Figure 4. The output of a 2-to-1 multiplexer 460 is provided to an external pin via a line 464. A select input of the 2-to-1 multiplexer 460 is provided by decoder 450 via a line 466. According to conventional circuitry, the second input of the 2-to-1 multiplexer 460 would connect directly to a latch boundary scan data register so that the JTAG standard input value would force the output terminal 465 to be equal to the JTAG bit when the appropriate select signal was provided to the input of the 2-to-l multiplexer 460. However, in accordance with the present invention, the second input of the multiplexer 460 may also receive an output from the megacell circuitry 420 via a 2-to-1 multiplexer 470 over a line 472.
Specifically, the 2-to-l multiplexer 470 receives a first input via a line 474 from the megacell circuitry 420. The 2-to-1 multiplexer 470 further receives a second input from a latch boundary scan data register 480 via a line 476. Finally, the 2-to-1 multiplexer 470 receives a select input from the decoder 450 via a line 478. The decoder 450 decodes instructions contained within a latched instruction register 484.
During normal (i.e., non-test) operation, the normal circuitry 410 and the megacell circuitry 420 receive inputs via a plurality of input pins (e.g., the input pins 423, 425 and 445) and process these inputs in accordance with the ASIC design to provide the appropriate output values on a plurality of output pins (e.g., the output pin 465). During normal operation, the normal circuitry 410 and the megacell circuitry 420 exchange information via internal circuit paths (e.g., the circuit paths 422, 437, 449 and 474) so that the megacell circuitry 420 acts as a module which performs a prespecified function that supports the overall operation of the ASIC 400.
Thus, in order to test the functionality of megacell circuits within ASICs, it is typically necessary to pull certain input and output lines of the megacell to external pins on the ASIC so that the chip foundry can test the megacell circuitry independently using test vectors supplied by the megacell vendor. Of course, as detailed above, this results in a number of extraneous pins on the surface of the IC which are not used during normal operation of the IC. Thus, in accordance with the present invention, the JTAG circuitry found in the ASIC 400 is specially modified to provide an output path for the megacell circuitry 420 so that the megacell circuitry 420 may be tested by the chip foundry without requiring additional output pins to be provided on the ASIC 400. Specifically, the additional multiplexer 470 allows the second input to the multiplexer 460 to be used alternately as a JTAG output or as a megacell output as determined by the signal on the select line 478 from decoder 450. Thus, rather than connecting the test output line 474 of the megacell 420 directly to an external pin, the same output line 464 which is used to alternately output the JTAG standard boundary scan output or the normal circuitry output value may also be used to output the test signal from the megacell circuitry 420. The selection of the output signal on the line 464 from one of the three possible outputs (i.e., the output from a normal circuitry 410, the output from the megacell circuitry 420, or the JTAG boundary scan output from the latch data register 480) is coordinated under the control of the decoder 450 as determined by the instructions contained within the latched instruction register 484. Thus, implementation of the present invention may require additional storage locations or decode patterns within the latched instruction register 484, to provide for the additional control signals. However, present instruction registers within JTAG test circuitry typically are user defined so that spare decode states can be used to provide for additional control information.
When testing the megacell circuitry 420 in accordance with the methods of the present invention, test vector inputs (supplied by the megacell vendor) are applied to selected external input pins (e.g., the pins 423, 425). When the signal on the line 452 is held high, then the test vector inputs supplied to the terminals 423, 425, are passed through the AND-gate 455 and the OR-gate 457 to the test inputs of the megacell circuitry 420. It will be appreciated by those of skill in the art that when not in test mode the signal on the line 452 will be low, the outputs of the AND-gate 455 and the OR-gate 457 are set to low and high, respectively, so as to prevent the test inputs to the megacell circuitry 420 from changing during normal operation. When the standard test vector inputs applied at the input terminals 423, 425 are propagated through to the test inputs of the megacell circuitry 420, the megacell circuitry 420 outputs signals in response to the test vector inputs over multiple output lines. In the example of Figure 4, only the output line 474 is shown for ease of illustration; however, it will be understood that a plurality of output lines will be provided to a plurality of 2-to-1 multiplexers (such as the multiplexer 470) in order to fully test the functional characteristics of the megacell circuitry 420.
The signal output by the megacell circuitry 420 in response to the test vector inputs is provided as the first input to the multiplexer 470 over the line 474. The latched instruction register 484, when in the megacell test mode, further contains instruction bits which cause the decoder 450 to assert the select signal on the line 478 to select the megacell test output on the line 474. Thus, the output of the megacell circuitry 420 in response to the test vector inputs is provided on the line 472 at the output of the multiplexer 470. The decoder 450 further provides a signal on the line 464, in response to the instructions within the register 484, to select the input line 472 so that the megacell circuitry test output is provided on the line 464 to the output pin 465. If the megacell circuitry 420 is functioning correctly, then the test vector inputs will cause the appropriate pattern of test vector outputs to appear on the output pins for which a path is provided from the megacell circuitry 420. Thus, the output pin 465 will be indicative of the functionality of the megacell circuitry 420 when the test vector inputs are applied to the input pins 423, 425. In this manner, the functionality of the megacell circuitry 420 may be tested without the provision of additional output pins on the ASIC 400. When the functionality of the megacell circuitry 420 is not being tested, the instruction register 484 is loaded with the appropriate instruction bits to cause the decoder 450 to select either the normal operation mode or the JTAG test mode. When the JTAG test mode is selected, this causes the decoder 450 to output a select signal over the lines 478 to propagate the input over the line 476 from the latch data register 480 to the output 472 of the multiplexer 470. Furthermore, the decoder 450 outputs a select signal over the line 466 which causes the input on the line 472 (which represents the value of a data bit within the latch data register 480 via the line 476) to be propagated on the output 464 of the multiplexer 460 so that the JTAG boundary scan data bit is provided on the output pin 465 if the output path has integrity.
If, on the other hand, the ASIC 400 is to operate in the normal manner, the JTAG TAP state controller 486 causes the decoder 450 to select the first input 462 of the multiplexer 460 so that the signal on the line 462 is output to the pin 465 via the multiplexer 460 and the line 464. Further, the decoder 450 outputs a low signal on the line 452 so that the test inputs to the megacell circuitry 420 are held to defined values so that the operation of the megacell circuitry 420 is not affected by the inputs on the pins 423, 425.
Although the preferred embodiments of the present invention have been described in detail above, it will be understood to those of ordinary skill in the art that obvious modifications could be made to the invention without departing from its spirit or essential characteristics. Thus, the foregoing description should be considered as illustrative and not restrictive. The scope of the present invention should therefore be defined in view of the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A system which provides for a reduced number of external pins on an integrated circuit (IC) package having JTAG test capability, said system comprising: custom designed digital logic circuitry formed within said IC package, said custom designed digital logic circuitry having inputs and outputs; a standardized megacell module having independent functionality formed within said IC package and incorporated into said IC package so as to communicate and function in unison with said custom designed digital logic circuitry, said megacell module having test inputs and test outputs which are used to test functionality of said megacell module; a JTAG boundary scan data register which stores a test vector used to test integrity of inputs and outputs of said IC package, said boundary scan data register having outputs; first selection circuitry having first inputs connected to at least one of said outputs of said boundary scan data register and at least one of said test outputs of said megacell module, said first selection circuitry further receiving a first selection input and providing one of said first inputs as an output based upon said first selection input; second selection circuitry having second inputs connected to said output of said first selection circuitry and to at least one of said outputs of said custom designed digital logic circuitry, said second selection circuitry further receiving a second selection input and providing one of said second inputs as an output based upon said second selection input; a JTAG instruction register which stores instruction bits, and wherein said instruction bits and the JTAG tap state, are used to determine said first selection input to said first selection circuitry and said second selection input to said second selection circuitry; and a plurality of external pins connected as outputs of said second selection circuitry so that said test outputs of said megacell module are provided on said external pins when said instruction register and tap state are set to cause said first and second selection circuitry to propagate said megacell module test outputs to said external pins.
2. A system as defined in Claim 1, further comprising a switching circuit including first and second inputs and an output, said switching circuit selecting between an input pin connected with said first input of said switching circuit or said custom designed digital logic circuitry connected with said second input of said switching circuit, said output of said switching circuit being connected to said standardized megacell module.
3. A system as defined in Claim 2, wherein said switching circuit comprises a multiplexer.
4. A system as defined in Claim 1, further comprising an AND gate which has an output connected to test inputs of said standardized megacell module, said test inputs of said megacell module being held either high or low during normal testing of said megacell module, so that said test inputs can be controlled by a single input pin during JTAG testing.
5. A system as defined in Claim 1, further comprising an OR gate which has an output connected to test inputs of said standardized megacell module, said test inputs of said megacell module being held either high or low during normal testing of said megacell module, so that said test inputs can be controlled by a single input pin during JTAG testing.
6. A method of testing a megacell within an integrated circuit having said megacell as an integral component of circuitry within said integrated circuit, said megacell having at least one input or output signal having no connection external to said integrated circuit during normal operation of said integrated circuit, said integrated circuit having a plurality of signals which are provided as inputs and/or outputs on respective pins of said integrated circuit during said operation of said integrated circuit, said method comprising: applying a serial instruction to said integrated circuit via a JTAG input pin to place said integrated circuit into a predetermined megacell test mode; selectively disabling one of said plurality of output signals from a respective first pin of said integrated circuit; selectively routing said test output from said megacell to said respective first pin of said disabled output signal; applying a test input to said megacell via a second pin of said integrated circuit to stimulate said megacell to perform a test operation; and monitoring said test output of said megacell at said respective first pin of said integrated circuit.
PCT/US1996/008577 1995-06-07 1996-06-06 Method and apparatus for testing a megacell in an asic using jtag WO1996041206A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP96922381A EP0834081B1 (en) 1995-06-07 1996-06-06 Method and apparatus for testing a megacell in an asic using jtag
DE69631658T DE69631658T2 (en) 1995-06-07 1996-06-06 METHOD AND DEVICE FOR TESTING A MEGA CELL IN AN ASIC USING JTAG
IL12092797A IL120927A0 (en) 1995-06-07 1997-05-28 Method and apparatus for testing a megacell in an asic using jtag

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US48048395A 1995-06-07 1995-06-07
US08/480,483 1995-06-07
US52839795A 1995-09-14 1995-09-14
US08/528,397 1995-09-14

Publications (1)

Publication Number Publication Date
WO1996041206A1 true WO1996041206A1 (en) 1996-12-19

Family

ID=27046602

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/US1996/008576 WO1996041205A1 (en) 1995-06-07 1996-06-06 Method and apparatus for testing a megacell in an asic using jtag
PCT/US1996/008577 WO1996041206A1 (en) 1995-06-07 1996-06-06 Method and apparatus for testing a megacell in an asic using jtag

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/US1996/008576 WO1996041205A1 (en) 1995-06-07 1996-06-06 Method and apparatus for testing a megacell in an asic using jtag

Country Status (10)

Country Link
US (1) US5805609A (en)
EP (1) EP0834081B1 (en)
JP (1) JP3698166B2 (en)
KR (1) KR100248258B1 (en)
CN (1) CN1089441C (en)
AU (1) AU6251896A (en)
DE (1) DE69631658T2 (en)
IL (2) IL120927A (en)
TW (1) TW297096B (en)
WO (2) WO1996041205A1 (en)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804725B1 (en) * 1996-08-30 2004-10-12 Texas Instruments Incorporated IC with state machine controlled linking module
US6324614B1 (en) * 1997-08-26 2001-11-27 Lee D. Whetsel Tap with scannable control circuit for selecting first test data register in tap or second test data register in tap linking module for scanning data
GB9810512D0 (en) * 1998-05-15 1998-07-15 Sgs Thomson Microelectronics Detecting communication errors across a chip boundary
WO2000019223A1 (en) 1998-09-29 2000-04-06 Siemens Aktiengesellschaft Low redesign application-specific module
BR9916150A (en) * 1998-11-30 2001-11-06 Khamsin Technologies Llc Method and software for user interface device in "last mile" telecommunications cabling
US6496544B1 (en) * 1998-12-14 2002-12-17 Cray Inc. Digital computing system having adaptive communication components
US7657810B2 (en) 2006-02-03 2010-02-02 Texas Instruments Incorporated Scan testing using scan frames with embedded commands
JP3966453B2 (en) * 1999-05-26 2007-08-29 株式会社ルネサステクノロジ Semiconductor integrated circuit
JP2001255356A (en) * 2000-03-08 2001-09-21 Matsushita Electric Ind Co Ltd Test-pattern generation method and test method for semiconductor integrated circuit
US7240254B2 (en) * 2000-09-21 2007-07-03 Inapac Technology, Inc Multiple power levels for a chip within a multi-chip semiconductor package
US7444575B2 (en) * 2000-09-21 2008-10-28 Inapac Technology, Inc. Architecture and method for testing of an integrated circuit device
US6812726B1 (en) 2002-11-27 2004-11-02 Inapac Technology, Inc. Entering test mode and accessing of a packaged semiconductor device
US6754866B1 (en) * 2001-09-28 2004-06-22 Inapac Technology, Inc. Testing of integrated circuit devices
US6732304B1 (en) * 2000-09-21 2004-05-04 Inapac Technology, Inc. Chip testing within a multi-chip semiconductor package
GB2379524A (en) * 2001-09-06 2003-03-12 Nec Technologies Multiplexing pins on an ASIC
US8166361B2 (en) 2001-09-28 2012-04-24 Rambus Inc. Integrated circuit testing module configured for set-up and hold time testing
US8286046B2 (en) 2001-09-28 2012-10-09 Rambus Inc. Integrated circuit testing module including signal shaping interface
US7313740B2 (en) * 2002-07-25 2007-12-25 Inapac Technology, Inc. Internally generating patterns for testing in an integrated circuit device
US8001439B2 (en) * 2001-09-28 2011-08-16 Rambus Inc. Integrated circuit testing module including signal shaping interface
US20040019841A1 (en) * 2002-07-25 2004-01-29 Ong Adrian E. Internally generating patterns for testing in an integrated circuit device
US7061263B1 (en) 2001-11-15 2006-06-13 Inapac Technology, Inc. Layout and use of bond pads and probe pads for testing of integrated circuits devices
JP4173768B2 (en) * 2002-05-21 2008-10-29 松下電器産業株式会社 Circuit device and operation method thereof
US7219281B2 (en) * 2002-07-29 2007-05-15 Stmicroelectronics Pvt. Ltd. Boundary scan of integrated circuits
KR100500442B1 (en) * 2002-11-07 2005-07-12 삼성전자주식회사 Semiconductor memory device and test method thereof
US8063650B2 (en) 2002-11-27 2011-11-22 Rambus Inc. Testing fuse configurations in semiconductor devices
US20050149783A1 (en) * 2003-12-11 2005-07-07 International Business Machines Corporation Methods and apparatus for testing an IC
US7284172B2 (en) * 2004-04-30 2007-10-16 International Business Machines Corporation Access method for embedded JTAG TAP controller instruction registers
US7814377B2 (en) * 2004-07-09 2010-10-12 Sandisk Corporation Non-volatile memory system with self test capability
DE102004043063B4 (en) * 2004-09-06 2008-10-23 Infineon Technologies Ag Method for operating a semiconductor device with a test module
CN100365423C (en) * 2004-10-20 2008-01-30 华为技术有限公司 Automatic connecting system for JTAG chain and implementing method thereof
US7589648B1 (en) * 2005-02-10 2009-09-15 Lattice Semiconductor Corporation Data decompression
FR2888433A1 (en) * 2005-07-05 2007-01-12 St Microelectronics Sa PROTECTION OF A DIGITAL QUANTITY CONTAINED IN AN INTEGRATED CIRCUIT COMPRISING A JTAG INTERFACE
US7274203B2 (en) * 2005-10-25 2007-09-25 Freescale Semiconductor, Inc. Design-for-test circuit for low pin count devices
WO2007069097A1 (en) * 2005-11-02 2007-06-21 Nxp B.V. Ic testing methods and apparatus
CN100442242C (en) * 2006-02-28 2008-12-10 环达电脑(上海)有限公司 Apparatus and system for testing host slot
US7511641B1 (en) 2006-09-19 2009-03-31 Lattice Semiconductor Corporation Efficient bitstream compression
US7466603B2 (en) 2006-10-03 2008-12-16 Inapac Technology, Inc. Memory accessing circuit system
US8327454B2 (en) * 2006-11-14 2012-12-04 Sandisk Technologies Inc. Method for allowing multiple users to access preview content
US20080114772A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Method for connecting to a network location associated with content
US20080114693A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Method for allowing content protected by a first DRM system to be accessed by a second DRM system
US8079071B2 (en) * 2006-11-14 2011-12-13 SanDisk Technologies, Inc. Methods for accessing content based on a session ticket
US8763110B2 (en) * 2006-11-14 2014-06-24 Sandisk Technologies Inc. Apparatuses for binding content to a separate memory device
US20080112562A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Methods for linking content with license
CN101102566B (en) * 2007-06-25 2010-12-08 中兴通讯股份有限公司 A design method and debugging method for mobile phone JTAG debugging interface signals
US7657805B2 (en) * 2007-07-02 2010-02-02 Sun Microsystems, Inc. Integrated circuit with blocking pin to coordinate entry into test mode
US8051338B2 (en) * 2007-07-19 2011-11-01 Cray Inc. Inter-asic data transport using link control block manager
US7902865B1 (en) 2007-11-15 2011-03-08 Lattice Semiconductor Corporation Compression and decompression of configuration data using repeated data frames
US8621125B2 (en) * 2009-10-13 2013-12-31 Intellitech Corporation System and method of sending and receiving data and commands using the TCK and TMS of IEEE 1149.1
CN102236066B (en) * 2010-04-22 2015-07-01 上海华虹集成电路有限责任公司 Method for realizing rapid debugging and locating of chip functional fault and debugging circuit
CN103097902B (en) * 2010-07-29 2015-12-09 德克萨斯仪器股份有限公司 Improve test access port operation at full speed
US8694844B2 (en) 2010-07-29 2014-04-08 Texas Instruments Incorporated AT speed TAP with dual port router and command circuit
CN102778645B (en) * 2011-05-09 2014-09-17 京微雅格(北京)科技有限公司 JTAG (joint test action group) main controller and realization method of JTAG main controller
CN104899123B (en) * 2015-04-24 2017-06-06 英业达科技有限公司 The connecting test apparatus and method of the address setting signal of dimm socket on a kind of mainboard
KR20160139496A (en) * 2015-05-27 2016-12-07 에스케이하이닉스 주식회사 Semiconductor device and semiconductor system
CN108957283B (en) * 2017-05-19 2021-08-03 龙芯中科技术股份有限公司 Irradiation experiment board, monitoring terminal and ASIC chip irradiation experiment system
CN107843828A (en) * 2017-10-26 2018-03-27 电子科技大学 A kind of digital circuit boundary scan control system based on FPGA
CN109917277B (en) * 2019-05-16 2019-08-23 上海燧原智能科技有限公司 Virtual measuring method, device, equipment and storage medium
US10746798B1 (en) 2019-05-31 2020-08-18 Nvidia Corp. Field adaptable in-system test mechanisms
US11204849B2 (en) * 2020-03-13 2021-12-21 Nvidia Corporation Leveraging low power states for fault testing of processing cores at runtime
CN113938125B (en) * 2021-10-19 2023-02-24 浙江大学 Multi-channel configurable testable and trimming digital signal isolator

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4947395A (en) * 1989-02-10 1990-08-07 Ncr Corporation Bus executed scan testing method and apparatus
US5115435A (en) * 1989-10-19 1992-05-19 Ncr Corporation Method and apparatus for bus executed boundary scanning
US5150044A (en) * 1990-03-29 1992-09-22 Mitsubishi Denki Kabushiki Kaisha Semiconductor integrated circuit device comprising scan paths having individual controllable bypasses
US5448575A (en) * 1991-09-17 1995-09-05 Mitsubishi Denki Kabushiki Kaisha Bypass scan path and integrated circuit device using the same

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4855669A (en) * 1987-10-07 1989-08-08 Xilinx, Inc. System for scan testing of logic circuit networks
JP2513762B2 (en) * 1988-01-29 1996-07-03 株式会社東芝 Logic circuit
JP2705326B2 (en) * 1991-02-19 1998-01-28 日本電気株式会社 Magneto-optical head device
US5329533A (en) * 1991-12-26 1994-07-12 At&T Bell Laboratories Partial-scan built-in self-test technique
US5448576A (en) * 1992-10-29 1995-09-05 Bull Hn Information Systems Inc. Boundary scan architecture extension
US5442640A (en) * 1993-01-19 1995-08-15 International Business Machines Corporation Test and diagnosis of associated output logic for products having embedded arrays
US5418470A (en) * 1993-10-22 1995-05-23 Tektronix, Inc. Analog multi-channel probe system
US5497378A (en) * 1993-11-02 1996-03-05 International Business Machines Corporation System and method for testing a circuit network having elements testable by different boundary scan standards
US5809036A (en) * 1993-11-29 1998-09-15 Motorola, Inc. Boundary-scan testable system and method
GB2288666B (en) * 1994-04-12 1997-06-25 Advanced Risc Mach Ltd Integrated circuit control
US5617431A (en) * 1994-08-02 1997-04-01 Advanced Micro Devices, Inc. Method and apparatus to reuse existing test patterns to test a single integrated circuit containing previously existing cores
US5596585A (en) * 1995-06-07 1997-01-21 Advanced Micro Devices, Inc. Performance driven BIST technique

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4947395A (en) * 1989-02-10 1990-08-07 Ncr Corporation Bus executed scan testing method and apparatus
US5115435A (en) * 1989-10-19 1992-05-19 Ncr Corporation Method and apparatus for bus executed boundary scanning
US5150044A (en) * 1990-03-29 1992-09-22 Mitsubishi Denki Kabushiki Kaisha Semiconductor integrated circuit device comprising scan paths having individual controllable bypasses
US5448575A (en) * 1991-09-17 1995-09-05 Mitsubishi Denki Kabushiki Kaisha Bypass scan path and integrated circuit device using the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0834081A4 *

Also Published As

Publication number Publication date
WO1996041205A1 (en) 1996-12-19
DE69631658D1 (en) 2004-04-01
DE69631658T2 (en) 2004-12-16
AU6251896A (en) 1996-12-30
KR100248258B1 (en) 2000-03-15
CN1089441C (en) 2002-08-21
JPH11506833A (en) 1999-06-15
KR19990022049A (en) 1999-03-25
IL120927A (en) 2000-06-01
EP0834081B1 (en) 2004-02-25
CN1187244A (en) 1998-07-08
EP0834081A1 (en) 1998-04-08
TW297096B (en) 1997-02-01
JP3698166B2 (en) 2005-09-21
US5805609A (en) 1998-09-08
EP0834081A4 (en) 1999-03-24
IL120927A0 (en) 1997-09-30

Similar Documents

Publication Publication Date Title
US5805609A (en) Method and apparatus for testing a megacell in an ASIC using JTAG
US6101457A (en) Test access port
US6574762B1 (en) Use of a scan chain for configuration of BIST unit operation
US4860290A (en) Logic circuit having individually testable logic modules
EP0880708B1 (en) I/o toggle test method using jtag
JP2627464B2 (en) Integrated circuit device
US5428624A (en) Fault injection using boundary scan
US6631504B2 (en) Hierarchical test circuit structure for chips with multiple circuit blocks
US5497378A (en) System and method for testing a circuit network having elements testable by different boundary scan standards
US5450415A (en) Boundary scan cell circuit and boundary scan test circuit
US5404359A (en) Fail safe, fault tolerant circuit for manufacturing test logic on application specific integrated circuits
EP0737337B1 (en) Apparatus and method for testing integrated circuits
US7181705B2 (en) Hierarchical test circuit structure for chips with multiple circuit blocks
JPH06235753A (en) Test based on scanning for analog circuit
WO2005003896A2 (en) Test standard interfaces and architectures
US20020174393A1 (en) Method and apparatus for fault tolerant and flexible test signature generator
WO1996015495A1 (en) Test apparatus/method for level sensitive scan designs
US6349398B1 (en) Method and apparatus for partial-scan built-in self test logic
US20030046625A1 (en) Method and apparatus for efficient control of multiple tap controllers
US6079039A (en) Test circuit and test method for testing semiconductor chip
US20040165071A1 (en) Boundary scan device
JP2869314B2 (en) Boundary scan circuit, boundary scan test circuit, and method of using the same
JP3043871B2 (en) Semiconductor integrated circuit
US6650136B2 (en) Method and apparatus to enhance testability of logic coupled to IO buffers
US7051254B2 (en) Semiconductor integrated circuit device and method for designing a semiconductor integrated circuit device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AZ BB BG BR BY CA CH CZ DE DK EE ES FI GB GE HU IL IS KE KG KZ LR LS LT LU LV MD MG MK MW MX NO PL PT RO RU SD SE SI SK TJ TM TR TT UA UG UZ AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1996922381

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1996922381

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: CA

WWG Wipo information: grant in national office

Ref document number: 1996922381

Country of ref document: EP