The invention relates generally to integrated circuits and, more particularly, to testing integrated circuits.
Production testing and system testing are operations that are commonly performed to verify the operation of integrated circuits. Production testing is used to verify operation of mission circuitry in an individual integrated circuit, before that integrated circuit is deployed in a mission environment. The mission circuitry is the circuitry that performs the operations (e.g., digital data processing operations) that are to be performed in a mission environment. The mission environment may be, for example, a physical assembly, such as a printed circuit board, on which the integrated circuit is provided, or any subsystem or system that contains such a physical assembly. System testing is used to verify operation of the mission circuitry while the integrated circuit is deployed in the mission environment.
The scan data outputs of the scan paths 12 provide output test information (formatted as serial scan data) on respectively corresponding serial channels 19. Compressor logic C receives the output test information from the serial channels 19, compresses the output test information, and outputs the compressed information (formatted as serial scan data) on a plurality of output tester channels 14. The output tester channels 14 are serial channels that drive respectively corresponding output terminals 17 of the integrated circuit 10. In the example of
The production test equipment 15 provides a scan enable signal 101 and a scan clock 102 to the scan paths 12 of the integrated circuit 10 via input terminals at 16. The scan clock 102 is also provided to the compressor and decompressor logic at C and D.
According to the prior art, system test circuitry is often provided as so-called LBIST (logic BIST (built-in-self-test)) circuitry. The LBIST circuitry is used for system tests such as line checks, reliability checks, power-up tests, field debug tests, failure analysis, and others. In addition to the fact the LBIST circuitry occupies space in the integrated circuit that could otherwise be occupied by mission circuitry, LBIST circuitry presents various implementation issues. Some examples of such implementation issues are set forth below.
The LBIST approach can require lengthy gate-level insertion cycle times, and the addition of X-bounding gates. Inadequate coverage with pseudo-random vectors can lead to additional gates in critical paths. The use of signature registers can make debugging difficult. For example, a single X can corrupt the signature register, and tracing back to the X-source can be difficult. The LBIST approach is generally design intrusive. It affects most functional paths, and disadvantageously requires multiplexing most functional clocks in order to control them during system test. Even a small change in the mission circuitry design requires either a re-insertion of LBIST, or a suitable design modification to ensure that the same signature is maintained, which affects iteration-based designs particularly adversely.
It is desirable in view of the foregoing to provide for system testing of integrated circuits that avoids difficulties associated with the LBIST approach.
The integrated circuit 20 includes selectors (multiplexers in some embodiments) 21-23 that permit the production test scan paths 12 to be re-used for system testing under control of a JTAG (IEEE 1149.1) architecture 24. The JTAG architecture 24 is typically available in many digital integrated circuits, making it a convenient mechanism with which to implement the re-use of the production test scan paths 12 for system testing. The selectors 21-23 are controlled by a system test mode signal 200 produced by the JTAG architecture 24. When the signal 200 is active, the selectors 21-23 select a system test mode configuration. The selectors 21-23 select a production test mode configuration when the signal 200 is inactive.
In some embodiments, the signal 200 is inactive when the integrated circuit apparatus 20 powers up, and remains inactive until the JTAG architecture 24 is exercised appropriately to activate the signal 200 (as described in detail hereinbelow). With the signal 200 inactive, production test mode configuration for production test operations is selected, and the scan paths 12 receive decompressed input test information from decompressor logic D on serial channels 18 via selector 22. So the input test information from the production test equipment 15 on the input tester channels 13 drives the production testing as in
The JTAG architecture 24 makes the system test mode signal 200 active to select the system test mode configuration for system test operations. In this system test configuration, the scan paths 12 receive decompressed test input information from decompressor logic Ds on serial channels 205 via selector 22, and the input test information is provided by the system test equipment 201 on the JTAG TDI terminal of the integrated circuit 20. The decompressor logic Ds thus provides 1 bit-to-80 bit decompression. Also with system test mode signal 200 active, the scan enable signal 101A for the scan paths 12 is provided from the JTAG architecture 24 via the selector 23, so a system test scan enable signal 204 produced by the JTAG architecture controls the scan paths 12. Also with the system test mode signal active, the system test equipment 15 receives compressed output test information from compressor logic Cs. This compressed information is provided on the JTAG TDO (test data out) terminal of the integrated circuit 20, via signal path 206 and selector 21. The compressor logic Cs receives the output test information on the production test serial channels 19, and thus performs 80 bit-to-1 bit compression. The compressor logic Cs and the decompressor logic Ds can be readily produced using the same conventional design tools used to produce the compressor logic C and decompressor logic D in
As mentioned above, the JTAG architecture 24 is used to implement re-use of the existing production test scan paths 12 for system testing. The structure, control, and operation of the JTAG architecture are all well known in the art. The state machine of the JTAG TAP (test access port) Controller is shown in
In some embodiments, the JTAG architecture 24 controls system testing in system test mode as follows. A system test instruction code is shifted serially into the instruction register (not explicitly shown) contained in the JTAG architecture 24, via the JTAG TDI (test data input) terminal of the integrated circuit 20. This system test instruction code is decoded by the JTAG architecture 24. In some embodiments, the system test mode signal 200 is activated by the decoding of the system test instruction code, and is otherwise inactive. This decoding of the system test instruction code also results in selection of a JTAG test data register (TDR) that corresponds to the system test instruction code. This selected TDR, also referred to herein as the system test TDR, can be programmed (by shifting bits thereinto via the TDI terminal) appropriately to support system testing via the production test scan paths 12.
In some embodiments, a scan enable bit defined within the system test TDR provides the system test scan enable signal 204. This permits the scan enable signal 101A for the scan paths 12 to be controlled by appropriately programming the system test TDR during system test mode. The scan enable bit of the system test TDR is set to place the scan paths 12 in scan shift mode, and is cleared to place the scan paths 12 in scan capture mode. With the integrated circuit 20 configured in system test mode, and with the enable bit of the system test TDR set, the TMS and TCK terminals of the integrated circuit 20 can be used to manipulate the TAP Controller state machine of
Once the scan paths 12 are filled with the decompressed input test information from the serial channels 205, the system test TDR is re-programmed to clear the scan enable bit therein, thereby placing the scan paths 12 in scan capture mode. With the scan paths 12 in scan capture mode, the clock controller 25 exercises the clock signal 102A as necessary to perform the desired test. For example, to perform a so-called “stuck-at” test, the clock controller 25 provides a single clock pulse to the mission circuitry while the scan paths 12 are in scan capture mode. As another example, to perform a so-called “transition fault” test, the clock controller 25 “leaks” at least two clock pulses of the functional clock 27 to the mission circuitry while the scan paths 12 are in scan capture mode. The functional clock 27 is the clock (typically generated by a phase locked loop on the integrated circuit 20) that normally controls operation of the mission circuitry 11.
After the mission circuitry 11 has been exercised as required for the desired test operation, the system test TDR is re-programmed to set the scan enable bit thereof, thereby returning the scan paths 12 to scan shift mode. At this point, the JTAG architecture 24 is operated appropriately to shift out to the compressor logic CS the information that has been captured in the scan paths 12, and simultaneously to shift into the decompressor logic DS more input test information from the TDI terminal (if needed).
In some embodiments, the system test scan enable signal 204 is produced by decoding the JTAG TAP Controller state machine of
If the gating bit 42 in the system test TDR is set while the integrated circuit is in system test mode, then, when the state machine of
The multiplexer 68 is controlled by the output of an OR gate 69 whose inputs are the system test mode signal 200 and a production test mode signal that the JTAG architecture 24 provides to the clock controller 25 at 210 (see also
As shown in
For stuck at testing in either system test mode or production test mode, when the capture enable signal 62, the scan enable signal 101A, and the transfault bit are all low, the switch 64 is disabled (opened) because the gate_clock_on output of OR gate 602 that drives the enable input of the switch 64 is low. Accordingly, the clk_out signal 60 is disconnected from the multiplexer 63. When the capture_enable bit goes high in the selected (system test or production test) TDR, the signal 62 pulses high, which enables (closes) the switch 64 to feed the output of multiplexer 63 to clk_out 60. This connection occurs via multiplexer 67, because the sela_gated output of OR gate 604 is high due to the sela_wire output of NAND gate 603 being high. The switch 64 remains closed for the duration of the pulse produced at 62 by the pulse generator 61. The permits clk_out 60 to receive a clock edge of the next pulse of whichever scan clock is currently selected by multiplexer 63, thereby subjecting the mission circuitry 11 to stuck at testing.
For transition fault testing in either system test mode or production test mode, when the capture enable signal 62 and the scan enable signal 101A are low, and the transfault bit is high, the switch 64 is disabled (opened) because the gate_clock_on output of OR gate 602 is low. Accordingly, the clk_out signal 60 is disconnected from the multiplexer 63. With the scan enable signal 101A low and the transfault bit high, the sela_wire output of NAND gate 603 is low, which enables operation of clock leak logic 66. The clock leak logic 66 operates to enable (close) the switch 65 appropriately to drive the trans_fault_clock_wire signal with a series of equally-sized groups of two or more adjacent pulses of the functional clock 27. The size of the group of functional clock pulses produced depends upon the transition fault testing that is to be performed. A new group of functional clock pulses appears on trans_fault_clock_wire in response to each pulse of the clock selected by multiplexer 63. When the capture_enable bit goes high, the capture_enable signal 62 pulses high. In response to the pulse at 62, the output of inverter 605 takes the sela_gated output of OR gate 604 low for the duration of the pulse 62, so multiplexer 67 passes to clk_out 60 the next group of functional clock pulses on trans_fault_clock_wire, thereby subjecting the mission circuitry 11 to transition fault testing.
The use of gated TCK 209 rather than TCK (see
In system test mode, rather than shifting in the compressed input test information via the TDI terminal as in
An output response monitor (ORM) 52 receives the compressed output test information on the output tester channels 14 (see also
Although exemplary embodiments of the invention have been described above in detail, this does not limit the scope of the invention, which can be practiced in a variety of embodiments.
This application claims the priority under 35 U.S.C. §119(e)(1) of co-pending provisional application Ser. No. 60/893,135 filed Mar. 6, 2007 and incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60893135 | Mar 2007 | US |