1. Field of Invention
Embodiments of the present invention relate to fault testing in electronic circuits. More particularly, the embodiments of the present invention relate to programmable in-situ launch and capture clock generation for at-speed testing.
2. Description of the Background Art
Investigating faults in semiconductor devices is a critical aspect of the manufacturing and maintenance process. As the geometries of semiconductor devices are getting smaller, failures caused by defects in the manufacturing process and design margins are becoming increasingly common. Exemplary failures include those caused by timing-related at-speed faults.
Conventional methods of fault testing, such as stuck-at fault models, etc., are no longer an effective solution. A better method is at-speed testing, i.e., testing the device at its working frequency. At-speed testing is based on a transition fault model and/or a path delay fault model. These models require a device tester to launch the test pattern and capture the response of the device at the operating speed. The functional mode of the at-speed device tester produces two pulses known as a launch clock and a capture clocks. At-speed testing depends on these two clocks to detect at-speed-related defects.
However, maintaining the accuracy of these clocks at higher clock speeds is very costly and difficult. Most often, the device tester's at-speed frequency performance does not scale up with the increasing speed of the device's internal operating frequency. To combat this problem, existing test generation tools use on-chip high-speed test clocks. This is also known as in-situ test clock generation. However, existing test clock generation techniques are not applicable across different technologies, since it is difficult to scale the delay of the clock according to the device requirement. This reduces the accuracy of testing these devices. Moreover, these techniques do not address critical path delay measurement.
Various embodiments of the invention provide a system and method for in-situ launch and capture clock generation. In-situ capture and launch clocks are used to test, diagnose and analyze defects in electronic circuits such as semiconductor devices. They also eliminate external tester dependency. The clocks can be used for testing path delay faults and transition faults at any stage of device production and characterization. The embodiments of the invention can be applied across different technologies, starting from a wafer probe station to a system environment, and therefore, have wide applicability.
In an exemplary embodiment of the invention, a system for generating a launch and capture clock is provided. The system includes i) an in-situ delayed clock generator for generating one or more clocks; ii) a pulse Programmable Selection Generator (PSG) for generating the sequence in which the clocks are to be selected, the clocks being selected with a delay; and iii) a multiplexer for selecting the plurality of clocks, based on the generated sequence, the selected clocks being used for generating the launch and capture clocks.
In another exemplary embodiment of the invention, a method for generating a launch and capture clock is provided. The method includes i) generating one or more clocks with delay, with respect to a system clock; ii) generating a sequence in which the clocks are to be selected with a delay; and iii) selecting the plurality of clocks, based on the selected sequence for generating the launch and capture clocks.
In another exemplary embodiment of the invention, a method for in-situ launch and capture clock generation for semiconductor device testing is provided. The method includes i) generating one or more clocks with delay with respect to a system clock; ii) selecting the sequence of the delay clocks, based on pre-programmed values for pulse selection; iii) selecting the plurality of clocks, based on the selected sequence for generating launch and capture clocks; and iv) adding extra wait time before a launch pulse and after a capture pulse for at least one of the clock cycles generated by the selected clocks.
In yet another exemplary embodiment of the invention, a machine-readable medium with instructions for in-situ launch and capture clock generation for at-speed testing, to detect faults in semiconductors devices, is provided. The medium includes i) one or more instructions for generating one or more clocks with delay, with respect to a system clock; ii) one or more instructions for selecting the sequence of the delay clock, based on pre-programmed values for pulse selection; iii) one or more instructions for selecting one of the plurality of clocks, based on the selected sequence for generating a launch and capture clock; and iv) one or more instructions for adding extra wait time before the launch pulse and after the capture pulse for the multiple clock cycles.
Particular embodiments include a machine readable storage medium including instructions for generating a launch and capture clock signal for at-speed testing to detect faults in semiconductors devices. Also, particular embodiments include an apparatus for generating a launch and capture clock signal, the apparatus comprising a processing system including a processor coupled to a display and user input device and a machine readable storage medium including instructions for generating a launch and capture clock signal for at-speed testing to detect faults in semiconductors devices.
In various embodiments of the invention, the launch and capture clock is generated by using programmable in-situ delay fault test clocks. The first step in programmable in-situ delay fault test clock generation is producing delay clocks. The edges of the clock cycles corresponding to the delay clocks generated are used as the edges of launch and capture clocks. In an exemplary embodiment of the invention, buffers are used to generate clocks with delay. If ‘n’ is the number of buffers used and ‘d’ the unit delay for each of the ‘n’ buffers used, the delay introduced is according to the following relationship.
(n*d)<(TSCLK/2)
Here, (n*d) is the maximum delay edge generated from the unit delay, and TSCLK is the time corresponding to a system clock. The unit delay timing resolution is used as the minimum test resolution. With the use of a unit delay for delay clock generation, the timing resolution can be scaled, i.e., different delays can be used where different resolutions are required for different delay ranges. In an exemplary embodiment of the invention, buffers with different delays can be mixed, or a combination of buffers can be used to generate different delay elements.
In various embodiments of the invention, the system elements of TCG 400 can be implemented in the form of integrated circuits, flip flops, application-specific integrated circuit, system-on-chip, and their combination thereof.
According to an exemplary embodiment of the invention, TCG 400 works by generating plurality of clocks, each with multiples of a unit delay, by delay clock generator 402. There can be zero to ‘n’ number of clocks generated with a delay ‘d’ with respect to the system clock SCLK. An exemplary method for generating the delay clocks has been described in conjunction with
The output signal generated by counter 408 is used as a control signal for multiplexer 412. Based on this control signal, multiplexer 412 selects one of the stored values of pulse selection from the registers (R1, R2 . . . Rn) as an output signal 414. This output signal denotes the sequence in which the delay clocks are to be selected by multiplexer 404, to finally produce the launch and capture clocks, referred to as PCLK. This launch and capture clock is used for at-speed testing of electronic circuits. In various embodiments of the invention, PCLK is problem-free because the delayed clocks do not change at the falling edge of CCLK. In an embodiment of the invention, multiplexer 404 has a setup time requirement on PS at the rising edge of SCLK. Its margin is (TCLK/2)−(n*d)−DELAYCCLK−>PS.
In an exemplary embodiment of the invention, the pulse selection value PS={1, 1, 0}, i.e., PS1=1, PS2=1, and PS3=0. These pulse selection values are taken as an input by multiplexer 412 to produce the waveform represented by 401A. In 401A, PCLK stays low during the first cycle, i.e., C=0. PCLK toggles during the second and third cycles, and stays low during the forth cycle. Similarly, 401B represents the waveform corresponding to pulse selection value PS={2, 2, 0}. PCLK toggles according to (1*d) the delay clock. In both the cases, the delay between the launch and capture clock stays the same as SCLK, i.e., the time period of the delay clock. Waveform 401C represents the pulse selection value PS={3, 4, 0}, where the first pulse is from (2*d) the delay clock and the second pulse is from (1*d) the delay clock. In this case, the delay between the two rising edges of PCLK is shorter than that of SCLK by ‘d’. Similarly, higher speed clock can be also produced for values of pulse selection such as PS={6, 5, 4}.
In an embodiment of the invention, an expanded pulse PSG is provided for adjusting any amount of delay at the edges of the delay clocks. According to an exemplary embodiment, a pulse PSG 406 can be an expanded pulse PSG 502.
Waveform 501C shows the output of the PCLK when RS={1, 1, 0} and FS={1, 1, 0}. In C=1 cycle, edge selection multiplexer 508 takes the rising edge of SCLK as RS1=1, and the falling edge of SCLK as FS1=1. The C=2 cycle also follows SCLK because RS2=1 and FS2=1. Similarly, waveform 501D, when RS={2, 2, 0} and FS={3, 3, 0} are in the cycle of C=1 and take the rising edge of the ‘1*d’ delayed clock and the falling edge of the 2*d delayed clock is selected. So, T2 becomes (TSCLK/2)+1*d. The value of the timing parameter (as mentioned in
According to an exemplary embodiment of the invention, TCG 400 further includes a system element for adding multiple wait cycles. The scan enable (SE) signal used during the internal scan test may be slow for at-speed testing. After switching the SE signal from high to low TCG 400 may need to wait multiple system clock cycles before the launch clock can occur. This provides sufficient time for the scan enable signal to propagate all internal scan flip-flops.
To summarize, various embodiments of the invention provide systems and methods for in-situ launch and capture clock generation. The Programmable In-Situ Delay TCG can perform path delay and signal transition fault testing and can measure speed-related AC characteristics and parameters at any stage of device production and operation. As depicted in the various embodiments of the invention, no external tester is required. The accuracy of the process is also very high. Low-scan testers are used, and therefore, the cost can be controlled. Timing accuracy can scale with device (silicon) technology by using the given technology's unit delay as a base measurement unit. The test clock generator (TCG) of the various embodiments of the invention can be adapted to any application-specific integrated circuit (ASIC), and therefore has wide applicability Moreover, no added ASIC design for test (DFT) design and overhead verification is required, since existing internal-scan test protocols and infrastructures are used. Further, no added functional delay penalty is required. The TCG can be applicable for the multiplexer-based scan (known as mux scan) as well as level-sensitive scan design LSSD-based scan techniques. The embodiments of the invention provide accurate timing measurement and characterization methodology for 90 nm and next generation ASIC delay test solution.
Further, the size of TCG 400 is smaller than conventional TCGs. For example, in the case of a 500 MHz clock, 16 delay taps, up to 4 pulses (1 launch+3 captures):
Pulse Selection (rising edge only): 1200 gate counts
Edge Selection (rising/falling edges): 2500 gate counts
These gate counts are significantly smaller than corresponding conventional systems.
Other exemplary applications with TCGs include creating a Shmoo plot of critical path timing characteristics with unit delay. Failure analysis and device AC characterization for Vt shift and Negative bias temperature instability (NBTI) effects can also be measured.
Detailed working: The TCG can be placed between a Phased Lock Loop (PLL) and the root of the clock tree in the top level. Root of the clock tree is the starting point for the clock tree synthesis. During the functional operational, the system clock from PLL is selected to drive the clock tree. In the slow scan mode, the primary input, Scan_clk, is driving the clock tree for shifting as well as capturing. TCG 400 bypasses the I/O input to PCLK when its reset is high. During the at-speed scan, Scan_clk is selected for the shift clock and PCLK is selected for the at-speed capture clock. The PLL takes the feedback clock directly from PLL_out, so that it stays locked with the reference clock when the slow-speed shift clock is driving the clock tree. The Scan_clk and Scan_enable signals are driven from an Automatic Test Equipment (ATE). TCG 400 generates PCLK, based on the programmed values in the registers, W, RS, and FS. JTAG UDRs (user-defined registers) are used for the programmable registers in this example. The PLL needs to be set up properly and running before the at-speed scan testing.
During the functional operation (1bist_running=0), the PLL_out from PLL drives the clock tree. During the at-speed Logic BIST operation (1bist_running=1), PCLK is used to drive the clock tree. The shift_clock from the clock divider is used for scan shift operations. When scan_enable is low, the PCLK is fed into the clock tree. The logic BIST controller sets the timing parameters, W, RS, and FS. The PLL control setup is carried out through the JTAG interface.
Although the invention has been discussed with respect to specific embodiments thereof, these embodiments are merely illustrative, and not restrictive, of the invention.
Additionally, any signal arrows in the drawings/Figures should be considered only as exemplary, and not limiting, unless otherwise specifically noted. Furthermore, the term “or” as used herein is generally intended to mean “and/or” unless otherwise indicated. Combinations of components or steps will also be considered as being noted, where terminology is foreseen as rendering the ability to separate or combine is unclear.
As used in the description herein and throughout the claims that follow, “a”, “an”, and “the” includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
The foregoing description of illustrated embodiments of the present invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed herein. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes only, various equivalent modifications are possible within the spirit and scope of the present invention, as those skilled in the relevant art will recognize and appreciate. As indicated, these modifications may be made to the present invention in light of the foregoing description of illustrated embodiments of the present invention and are to be included within the spirit and scope of the present invention.
Thus, while the present invention has been described herein with reference to particular embodiments thereof, a latitude of modification, various changes and substitutions are intended in the foregoing disclosures, and it will be appreciated that in some instances some features of embodiments of the invention will be employed without a corresponding use of other features without departing from the scope and spirit of the invention as set forth. Therefore, many modifications may be made to adapt a particular situation or material to the essential scope and spirit of the present invention. It is intended that the invention not be limited to the particular terms used in following claims and/or to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include any and all embodiments and equivalents falling within the scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5617426 | Koenemann et al. | Apr 1997 | A |
6031401 | Dasgupta | Feb 2000 | A |
6650575 | Khanna | Nov 2003 | B1 |
6690219 | Chuang | Feb 2004 | B2 |
6847241 | Nguyen et al. | Jan 2005 | B1 |
6909311 | Foley et al. | Jun 2005 | B2 |
Number | Date | Country | |
---|---|---|---|
20060242474 A1 | Oct 2006 | US |