Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MULTI-PHASE LOGIC BUILT-IN SELF-TEST OBSERVATION SCAN TECHNOLOGY
Document Type and Number:
WIPO Patent Application WO/2024/076370
Kind Code:
A1
Abstract:
A circuit comprises scan chains comprising scan cells and one or more observation scan chains. The scan chains comprise scan cells. The one or more observation scan chains comprises observation scan cells. Testing the circuit comprises a scan-capture phase and an observation scan phase. During the scan-capture phase, both the scan cells and the observation scan cells operate in a shift mode and a capture mode alternately. During the observation scan phase, the scan cells operating in the shift mode and the observation scan cells operating in a shift-observation mode.

Inventors:
MUKHERJEE NILANJAN (US)
LIU YINGDI (US)
SOLECKI JEDRZEJ (US)
RAJSKI JANUSZ (US)
Application Number:
PCT/US2022/077755
Publication Date:
April 11, 2024
Filing Date:
October 07, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS IND SOFTWARE INC (US)
International Classes:
G01R31/3185
Foreign References:
US20200327268A12020-10-15
US20180252768A12018-09-06
US20170003343A12017-01-05
US6327687B12001-12-04
US6353842B12002-03-05
US6539409B22003-03-25
US6543020B22003-04-01
US6557129B12003-04-29
US6684358B12004-01-27
US6708192B22004-03-16
US6829740B22004-12-07
US6874109B12005-03-29
US7093175B22006-08-15
US7111209B22006-09-19
US7260591B22007-08-21
US7263641B22007-08-28
US7478296B22009-01-13
US7493540B12009-02-17
US7500163B22009-03-03
US7506232B22009-03-17
US7509546B22009-03-24
US7523372B22009-04-21
US7653851B22010-01-26
Other References:
MOGHADDAM ELHAM ET AL: "Logic BIST With Capture-Per-Clock Hybrid Test Points", IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, IEEE, USA, vol. 38, no. 6, 1 June 2019 (2019-06-01), pages 1028 - 1041, XP011725058, ISSN: 0278-0070, [retrieved on 20190517], DOI: 10.1109/TCAD.2018.2834441
J. RAJSKIJ. TYSZERM. KASSABN. MUKHERJEE: "Embedded deterministic test", IEEE TRANS. CAD, vol. 23, May 2004 (2004-05-01), pages 776 - 792
Attorney, Agent or Firm:
YANG, Xin (US)
Download PDF:
Claims:
What is claimed is:

1. A circuit, comprising: scan chains comprising scan cells, the scan cells configured to operate in a shift mode or a capture mode based on a scan enable signal, parallel outputs of the scan cells being coupled to functional circuitry of the circuit; one or more observation scan chains comprising observation scan cells, the observation scan cells configured to operate in a shift mode, a capture mode, or a shift-observation mode based on the scan enable signal and an observation scan enable signal, outputs of the observation scan cells being uncoupled to the functional circuitry of the circuit; and a test controller comprising circuitry configured to generate the scan enable signal and the observation scan enable signal for testing the circuit, the testing comprising a scan-capture phase and an observation scan phase, both the scan cells and the observation scan cells operating in the shift mode and the capture mode alternately during the scan-capture phase, and the scan cells operating in the shift mode and the observation scan cells operating in the shift-observation mode during the observation scan phase.

2. The circuit recited in claim 1, wherein a number of test patterns for the observation scan-capture phase is smaller than or equal to a number of test patterns for the scan phase.

3. The circuit recited in claim 1, further comprising: a pseudorandom pattern generator configured to generate test patterns to be shifted into the scan chains and the one or more observation scan chains; and a test compactor to compact test responses shifted out from the scan chains and the one or more observation scan chains.

4. The circuit recited in claim 1, wherein each of the observation scan cells comprises: a state element; and selection and combination circuitry comprising: combination circuitry configured to combine a signal from a serial input port of the each of the observation scan cells with a signal from a parallel input port of the each of the observation scan cells to generate an observation scan signal, and selection circuitry configured to select an input signal for the state element from the signal from the serial input port, the signal from the parallel input port, and the observation scan signal based on the scan enable signal and the observation scan enable signal.

5. The circuit recited in claim 4, wherein the selection and combination circuitry further comprises: another combination circuitry configured to combine the signal from the parallel input port with an output signal of the state element to generate a capture-accumulation signal, wherein the selection circuitry is configured to select the input signal for the state element from the signal from the serial input port, the signal from the parallel input port, the observation scan signal, and the capture-accumulation signal based on the scan enable signal and the observation scan enable signal.

6. The circuit recited in claim 4, wherein the combination circuitry comprises an XOR gate.

7. The circuit recited in claim 4, wherein the state element is a flip-flop.

8. The circuit recited in claim 4, wherein the selection circuitry comprises a 2-to-l multiplexer and two AND gates.

9. One or more computer-readable media storing computer-executable instructions for causing one or more processors to perform a method, the method comprising: creating a circuit in a circuit design, the circuit comprising: scan chains comprising scan cells, the scan cells configured to operate in a shift mode or a capture mode based on a scan enable signal, parallel outputs of the scan cells being coupled to functional circuitry of the circuit; one or more observation scan chains comprising observation scan cells, the observation scan cells configured to operate in a shift mode, a capture mode, or a shift-observation mode based on the scan enable signal and an observation scan enable signal, outputs of the observation scan cells being uncoupled to the functional circuitry of the circuit; and a test controller comprising circuitry configured to generate the scan enable signal and the observation scan enable signal for testing the circuit, the testing comprising a scan-capture phase and an observation scan phase, both the scan cells and the observation scan cells operating in the shift mode and the capture mode alternately during the scan-capture phase, and the scan cells operating in the shift mode and the observation scan cells operating in the shift-observation mode during the observation scan phase.

10. The one or more computer-readable media recited in claim 9, wherein a number of test patterns for the observation scan-capture phase is smaller than or equal to a number of test patterns for the scan phase.

11. The one or more computer-readable media recited in claim 9, wherein the circuit further comprises: a pseudorandom pattern generator configured to generate test patterns to be shifted into the scan chains and the one or more observation scan chains; and a test compactor to compact test responses shifted out from the scan chains and the one or more observation scan chains.

12. The one or more computer-readable media recited in claim 9, wherein each of the observation scan cells comprises: a state element; and selection and combination circuitry comprising: combination circuitry configured to combine a signal from a serial input port of the each of the observation scan cells with a signal from a parallel input port of the each of the observation scan cells to generate an observation scan signal, and selection circuitry configured to select an input signal for the state element from the signal from the serial input port, the signal from the parallel input port, and the observation scan signal based on the scan enable signal and the observation scan enable signal.

13. The one or more computer-readable media recited in claim 12, wherein the selection and combination circuitry further comprises: another combination circuitry configured to combine the signal from the parallel input port with an output signal of the state element to generate a capture-accumulation signal, wherein the selection circuitry is configured to select the input signal for the state element from the signal from the serial input port, the signal from the parallel input port, the observation scan signal, and the capture-accumulation signal based on the scan enable signal and the observation scan enable signal.

14. The one or more computer-readable media recited in claim 12, wherein the combination circuitry comprises an XOR gate.

15. The one or more computer-readable media recited in claim 12, wherein the state element is a flip-flop.

16. The one or more computer-readable media recited in claim 12, wherein the selection circuitry comprises a 2-to-l multiplexer and two AND gates.

17. A method, comprising: testing a circuit, wherein the circuit comprises scan chains and one or more observation scan chains, the scan chains comprising scan cells, the one or more observation scan chains comprising observation scan cells, and wherein the testing comprises a scan-capture phase and an observation scan phase, both the scan cells and the observation scan cells operating in a shift mode and a capture mode alternately during the scan-capture phase, and the scan cells operating in the shift mode and the observation scan cells operating in a shift-observation mode during the observation scan phase.

Description:
UNITED STATES PATENT APPLICATION

FOR

Multi-Phase Logic Built-In Self-Test Observation Scan Technology

INVENTORS:

NILANJAN MUKHERJEE

YINGDI LIU JEDRZEJ SOLECKI JANUSZ RAJSKI

PREPARED BY:

SIEMENS INDUSTRY SOFTWARE INC. 5800 GRANITE PARKWAY, SUITE 600 PLANO, TEXAS 95024

(503) 685-0626 Multi-Phase Logic Built-In Self-Test Observation Scan Technology

FIELD OF THE DISCLOSED TECHNOLOGY

[01] The presently disclosed technology relates to the field of circuit testing. Various implementations of the disclosed technology may be particularly useful for improving test coverage and reducing test application time.

BACKGROUND OF THE DISCLOSED TECHNOLOGY

[02] Since its advent nearly five decades ago, scan has become one of the most influential and industry-proven structured design for test (DFT) technology. It allows a direct access to memory elements of a circuit under test (CUT) by reusing them to form shift registers in a test mode. An automatic test equipment (ATE) or another source of test patterns feeds serial inputs of the scan chains, and then the same ATE or a test response compactor captures test responses that leave the scan chains through their serial outputs. As all scan cells are typically controlled by a single scan enable signal, scan chains remain functionally indistinguishable, i.e., they all either shift data in and out or capture test responses. The resultant high controllability and observability of internal nodes made it possible to automatically generate high quality test patterns and to debug the discovered defects. Moreover, simple architecture of scan chains enables their automated stitching and insertion supported by electronic design automation (EDA) tools.

[03] With the scan-based test paradigm firmly in place, several more advanced DFT technologies have been proposed. Noticeably, many logic built-in self-test (LBIST) schemes employ scan as their operational baseline to achieve high quality test using a limited volume of test data. Usually, these solutions comprise a pseudorandom test pattern generator (PRPG) feeding scan chains and a multiple-input signature register (MISR) compacting shifted-out responses. The same rules apply to test data compression where PRPG is typically re-placed with an on-chip test data decompressor.

[04] Drawbacks of scan-based testing are mainly related to the fact that all scan chains are filled with a test pattern before it is applied. As a result, the vast majority of test time is spent on shifting test data. Consider a design with 100-cell long scan chains. Applying 10,000 double-capture test patterns will require 1,000,000 shift cycles and 20,000 capture cycles. Thus, as low as 2% of cycles are actually spent on testing: applying test stimuli and capturing test responses. In terms of test time, the result would be even worse, as the scan shift frequency is usually much lower than that in a capture (functional) mode. In logic BIST, the test time efficiency could be even lower. A typical scan shift frequency is on the order of 10s of MHz whereas a functional clock frequency can be up to several GHz. Hence, 99.99% of test time can be spent on scan shifting.

[05] Electronics content in vehicles is constantly growing, which enables advanced safety features, new information and entertainment services, and greater energy efficiency. Integrated circuits for the automotive electronics market must adhere to stringent requirements for quality and reliability, which are largely driven by safety standards such as ISO 26262 and Automotive Safety Integrity Level (ASIL) targets. ISO 26262 compliance requires the adoption of more advanced test solutions. In particular, for an integrated circuit to achieve necessary levels of reliability, LBIST capabilities should respond to challenges posed by automotive parts and to support a number of in-field test requirements including an ability to run periodic tests during functional operations. These periodic tests should be performed in short time periods due to strict limits on the length of power-up or idle times. It is thus advantageous to develop test techniques that can shorten test application time without adversely impacting fault coverage. One of the leading potential contributors to low fault coverage or high pattern counts is unknown states (Xs) captured by scan cells. Preventing all X bits from reaching a test response compactor is desirable for safety critical devices which must test themselves during system operations.

BRIEF SUMMARY OF THE DISCLOSED TECHNOLOGY

[06] Various aspects of the disclosed technology relate to multi-phase observation scan techniques. In one aspect, there is a circuit, comprising: scan chains comprising scan cells, the scan cells configured to operate in a shift mode or a capture mode based on a scan enable signal, parallel outputs of the scan cells being coupled to functional circuitry of the circuit; one or more observation scan chains comprising observation scan cells, the observation scan cells configured to operate in a shift mode, a capture mode, or a shiftobservation mode based on the scan enable signal and an observation scan enable signal, outputs of the observation scan cells being uncoupled to functional circuitry of the circuit; and a test controller comprising circuitry configured to generate the scan enable signal and the observation scan enable signal for testing the circuit, the testing comprising a scan-capture phase and an observation scan phase, both the scan cells and the observation scan cells operating in the shift mode and the capture mode alternately during the scancapture phase, and the scan cells operating in the shift mode and the observation scan cells operating in the shift-observation mode during the observation scan phase.

[07] A number of test patterns for the observation scan-capture phase may be smaller than or equal to a number of test patterns for the scan phase.

[08] The circuit may further comprise a pseudorandom pattern generator configured to generate test patterns to be shifted into the scan chains and the one or more observation scan chains; and a test compactor to compact test responses shifted out from the scan chains and the one or more observation scan chains.

[09] Each of the observation scan cells may comprise: a state element; and selection and combination circuitry, the selection and combination circuitry comprising: combination circuitry configured to combine a signal from a serial input port of the each of the observation scan cells with a signal from a parallel input port of the each of the observation scan cells to generate an observation scan signal, and selection circuitry configured to select an input signal for the state element from the signal from the serial input port, the signal from the parallel input port, and the observation scan signal based on the scan enable signal and the observation scan enable signal. The combination circuitry may comprise an XOR gate. The state element may be a flip-flop. The selection circuitry comprises a 2-to-l multiplexer and two AND gates.

[10] The selection and combination circuitry may further comprise: another combination circuitry configured to combine the signal from the parallel input port with an output signal of the state element to generate a capture-accumulation signal, wherein the selection circuitry is configured to select the input signal for the state element from the signal from the serial input port, the signal from the parallel input port, the observation scan signal, and the capture-accumulation signal based on the scan enable signal and the observation scan enable signal.

[11] In another aspect, there are one or more non-transitory computer-readable media storing computer-executable instructions for causing one or more processors to perform a method, the method comprising: creating the above circuit in a circuit design.

[12] In still another aspect, there is a method, comprising: testing a circuit, wherein the circuit comprises scan chains and one or more observation scan chains, the scan chains comprising scan cells, the one or more observation scan chains comprising observation scan cells, and wherein the testing comprises a scan-capture phase and an observation scan phase, both the scan cells and the observation scan cells operating in a shift mode and a capture mode alternately during the scan-capture phase, and the scan cells operating in the shift mode and the observation scan cells operating in a shift-observation mode during the observation scan phase. [13] Certain inventive aspects are set out in the accompanying independent and dependent claims. Features from the dependent claims may be combined with features of the independent claims and with features of other dependent claims as appropriate and not merely as explicitly set out in the claims.

[14] Certain objects and advantages of various inventive aspects have been described herein above. Of course, it is to be understood that not necessarily all such objects or advantages may be achieved in accordance with any particular embodiment of the disclose technology. Thus, for example, those skilled in the art will recognize that the disclose technology may be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other objects or advantages as may be taught or suggested herein.

BRIEF DESCRIPTION OF THE DRAWINGS

[15] Figure 1 illustrates an example test architecture that may be implemented according to various embodiments of the disclosed technology.

[16] Figure 2 illustrates an example of a conventional scan cell.

[17] Figure 3 illustrates an example of an observation scan cell that may be implemented according to various embodiments of the disclosed technology.

[18] Figure 4 illustrates a table summarizing the four operational modes in which the observation scan cell in Fig. 3 may operate and the associated settings for the two control signals.

[19] Figure 5 illustrates how X bits captured by regular scan cells can corrupt observation scan cells using an observation scan system. [20] Figure 6 illustrates a multi-phase observation scan scheme that can be employed to reduce the impact of X bits according to various embodiments of the disclosed technology.

[21] Figure 7A illustrates a table showing characteristics of four industrial designs along with X state injections and the resulted corruptions of observation scan chains under a singlephase observation scan scheme.

[22] Figure 7B illustrates a table showing test pattern counts needed for 90% test coverage under various test schemes and/or conditions for the four industrial designs shown in Fig. 7A.

[23] Figure 8 illustrates an example of a block diagram of an observation scan cell that may be implemented according to various embodiments of the disclosed technology.

[24] Figure 9 illustrates another example of a block diagram of an observation scan cell that may be implemented according to various embodiments of the disclosed technology.

[25] Figure 10 illustrates a programmable computer system with which various embodiments of the disclosed technology may be employed.

DETAILED DESCRIPTION OF THE DISCLOSED TECHNOLOGY

General Considerations

[26] Various aspects of the disclosed technology relate to multi-phase observation scan techniques. In the following description, numerous details are set forth for the purpose of explanation. However, one of ordinary skill in the art will realize that the disclosed technology may be practiced without the use of these specific details. In other instances, well-known features have not been described in detail to avoid obscuring the presently disclosed technology. [27] Some of the techniques described herein can be implemented in software instructions stored on a computer-readable medium, software instructions executed on a computer, or some combination of both. Some of the disclosed techniques, for example, can be implemented as part of an electronic design automation (EDA) tool. Such methods can be executed on a single computer or on networked computers.

[28] Although the operations of the disclosed methods are described in a particular sequential order for convenient presentation, it should be understood that this manner of description encompasses rearrangements, unless a particular ordering is required by specific language set forth below. For example, operations described sequentially may in some cases be rearranged or performed concurrently. Moreover, for the sake of simplicity, the disclosed flow charts and block diagrams typically do not show the various ways in which particular methods can be used in conjunction with other methods.

[29] The detailed description of a method or a device sometimes uses terms like “combine,” “generate,” and “operate” to describe the disclosed method or the device function/structure. Such terms are high-level abstractions. The actual operations or functions/structures that correspond to these terms will vary depending on the particular implementation and are readily discernible by one of ordinary skill in the art.

[30] As used in this disclosure, the singular forms “a,” “an,” and “the” include the plural forms unless the context clearly dictates otherwise. Additionally, the term “includes” means “comprises.” Moreover, unless the context dictates otherwise, the term “coupled” means electrically or electromagnetically connected or linked and includes both direct connections or direct links and indirect connections or indirect links through one or more intermediate elements not affecting the intended operation of the circuit.

[31] Additionally, as used herein, the term “design” is intended to encompass data describing an entire integrated circuit device. This term also is intended to encompass a smaller group of data describing one or more components of an entire device such as a portion of an integrated circuit device nevertheless.

Design For Test, Scan-Based Test, Test Compression, Logic BIST and Test Points

[32] The reduction in feature size increases the probability that a manufacture defect in the integrated circuit will result in a faulty chip. A very small defect can result in a faulty transistor or interconnecting wire. Even a single faulty transistor or wire can cause the entire chip to function improperly. Manufacture defects are unavoidable nonetheless, no matter whether the manufacturing process is at the prototype stage or the high-volume manufacturing stage. It is thus necessary to test chips during the manufacturing process. Diagnosing faulty chips is also needed to ramp up and to maintain the manufacturing yield.

[33] Testing typically includes applying a set of test stimuli (test patterns) to the circuit-under- test and then analyzing responses generated by the circuit-under-test. Functional testing attempts to validate that the circuit-under-test operates according to its functional specification while structural testing tries to ascertain that the circuit-under-test has been assembled correctly from some low-level building blocks as specified in a structural netlist and that these low-level building blocks and their wiring connections have been manufactured without defect. For structural testing, it is assumed that if functional verification has shown the correctness of the netlist and structural testing has confirmed the correct assembly of the structural circuit elements, then the circuit should function correctly. Structural testing has been widely adopted at least in part because it enables the test (test pattern) generation to focus on testing a limited number of relatively simple circuit elements rather than having to deal with an exponentially exploding multiplicity of functional states and state transitions. [34] To make it easier to develop and apply test patterns, certain testability features are added to circuit designs, which is referred to as design for test or design for testability (DFT). Scan testing is the most common DFT method. In a basic scan testing scheme, all or most of internal sequential state elements (latches, flip-flops, et al.) in a circuit design are made controllable and observable via a serial interface. These functional state elements are usually replaced with dual-purpose state elements called scan cells. Scan cells are connected together to form scan chains - serial shift registers for shifting in test patterns and shifting out test responses. A scan cell can operate as originally intended for functional purposes (functional/mission mode) and as a unit in a scan chain for scan (scan mode). A widely used type of scan cell include an edge-trigged flip-flop with two-way multiplexer for the data input. The two-way multiplexer is typically controlled by a single control signal called scan enable, which selects the input signal for a scan cell from either a scan signal input port or a system signal input port. The scan signal input port is typically connected to an output of another scan cell while the system signal input port is connected to the functional logic. Scan cells can serve as both a control point and an observation point. Control points can be used to set certain logic values at some locations of the circuit-under-test, exciting a fault and propagating the incorrect value to an observation point. Scan testing allows the test equipment to access gates deeply embedded through the primary inputs/outputs and/or some physical test points and can remove the need for complicated state transition sequences when trying to control or observe what is happening at some internal circuit element.

[35] Test patterns for scan testing are typically generated through an automatic test pattern generation (ATPG) process. ATPG usually focuses on a set of faults derived from a gatelevel fault model. A defect is an imperfection caused in a device during the manufacturing process. A fault model is a description of how a defect alters design behavior. In another word, a defect is a flaw or physical imperfection that may lead to a fault. For a given target fault, ATPG comprises two phases: fault activation and fault propagation. Fault activation establishes a signal value at the fault site opposite that produced by the fault. Fault propagation propagates the fault effect forward by sensitizing a path from a fault site to a scan cell or a primary output. A fault at a site is said to be detected by a test pattern if a test response value captured by a scan cell or a primary output is different than the expected value. The objective of ATPG is to find a test pattern that, when applied to the circuit, enables testers to distinguish between the correct circuit behavior and the faulty circuit behavior caused by one or more particular faults. Effectiveness of ATPG is measured by the fault coverage achieved for the fault model and the number of generated vectors (test pattern counts), which should be directly proportional to test application time. Here, the fault coverage is defined as a ratio of the number of detected faults vs. the total number of faults.

[36] The most popular fault model used in practice is the single stuck-at fault model. In this model, one of the signal lines in a circuit is assumed to be stuck at a fixed logic value, regardless of what inputs are supplied to the circuit. The stuck-at fault model is a logical fault model because no delay information is associated with the fault definition. Delay faults cause errors in the functioning of a circuit based on its timing. They are caused by the finite rise and fall time periods of the signals in the gates, as well as, the propagation delay of interconnects between the gates. Transition faults are used for their simplicity in modeling spot defects that affect delays at inputs or outputs of gates. Under scan-based tests, the transition faults are associated with an extra delay that is large enough to cause the delay of any path through the fault site to exceed the clock period.

[37] During the circuit design and manufacturing process, a manufacturing test screens out chips (dies) containing defects. The test itself, however, does not identify the reason for the unacceptable low or fluctuating yield that may be observed. Physical failure analysis (PF A) can inspect the faulty chip to locate the defect location(s) and to discover the root cause. The process usually includes etching away certain layers and then imaging the silicon surface by scanning electronic microscopy or focused ion beam systems. This PFA process is laborious and time consuming. To facilitate the PFA process, diagnosis is often employed to narrow down possible locations of the defect(s) based on analyzing the fail log (fail file, failure file). The fail log typically contains information about when (e.g., tester cycle), where (e.g., at what tester channel), and how (e.g., at what logic value) the test failed and which test patterns generate expected test responses. The layout information of the circuit design may also be employed to further reduce the number of defect suspects.

[38] Test application in chip manufacturing test is normally performed by automatic test equipment (ATE) (a type of testers). Scan-based tests consume significant amounts of storage and test time on ATE. The data volume increases with the number of logic gates on the chip and the same holds for the number of scan cells. Yet, practical considerations and ATE specifications often limit both the number of pins available for scan in/out and the maximum scan frequency. It is highly desirable to reduce the amount of test data that need to be loaded onto ATE and ultimately to the circuit under test. Fortunately, test patterns are compressible mainly because only 1% to 5% of test pattern bits are typically specified bits (care bits) while the rest are unspecified bits (don't-care bits). Unspecified bits can take on any values with no impact on the fault coverage. Test compression may also take advantage of the fact that test cubes tend to be highly correlated. A test cube is a deterministic test pattern in which the don't-care bits are not filled by ATPG. The correlation exists because faults are structurally related in the circuit.

[39] Various test compression techniques have been developed. In general, additional on-chip hardware before and after scan chains is inserted. The hardware (decompressor) added before scan chains is configured to decompress test stimulus coming from ATE, while the hardware (compactor) added after scan chains is configured to compact test responses captured by the scan chains. The decompressor expands the data from n tester channels to fill greater than n scan chains. The increase in the number of scan chains shortens each scan chain and thus reduces the number of clock cycles needed to shift in each test pattern. Thus, test compression can reduce not only the amount of data stored on the tester but also the test time for a given test data bandwidth.

[40] The embedded deterministic test (EDT) is one example of test compression techniques. The EDT-based compression is composed of two complementary parts: hardware that is embedded on chip, and deterministic ATPG software that generates compressed patterns that utilize the embedded hardware. The EDT hardware features a continuous-flow decompressor. The EDT compression of test cubes is performed by treating the external test data as Boolean variables. Scan cells are conceptually filled with symbolic expressions that are linear functions of input variables injected into the decompressor. In the case of a decompressor comprising a ring generator and an associated phase shifter, a set of linear equations corresponding to scan cells whose values are specified may be used. A compressed pattern can be determined by solving the system of equations. If the compressed pattern determined as such is then scanned in through the decompressor, the bits that were specified by ATPG will be generated accordingly. Unspecified bits are set to pseudorandom values based on the decompressor architecture. Additional details concerning EDT-based compression and decompression are found in J. Raj ski, J. Tyszer, M. Kassab, and N. Mukherjee, “Embedded deterministic test,” IEEE Trans. CAD, vol. 23, pp. 776-792, May 2004, and U.S. Patent Nos. 6,327,687; 6,353,842; 6,539,409; 6,543,020; 6,557,129; 6,684,358; 6,708,192; 6,829,740; 6,874,109; 7,093,175;

7,111,209; 7,260,591; 7,263,641; 7,478,296; 7,493,540; 7,500,163; 7,506,232;

7,509,546; 7,523,372; 7,653,851, of which all are hereby incorporated herein by reference.

[41] Logic built-in self-test (Logic BIST) is a DFT technique that permits a circuit to test itself using embedded test logic without the need of an external tester. Classical Logic BIST applications include detecting infant mortality defects during burn-in test, enabling the use of low-cost and/or low-speed testers that only provide power and clock signals, and in-system self-testing to improve the reliability of the system in aerospace/defense, automotive, telecommunications and healthcare industries. A typical logic BIST system includes a test pattern generator for automatically generating test patterns, a test response analyzer (compactor) for compacting test responses into a signature and a logic BIST controller for coordinating the BIST operation and for providing a pass/fail indication. A pseudo-pattern pattern generator (PRPG), a commonly used test pattern generator, can be constructed from a linear feedback shift register (LFSR) or a cellular automaton. To increase the fault coverage, a weighted LFSR may be employed. Another approach is to combine random test patterns with deterministic patterns in some fashion as the BIST logic can be used to handle compressed test patterns that are generated deterministically and stored on chip.

[42] All of the above mentioned processes, design insertion for testing, test pattern generation, test compression, and test point insertion, are normally performed by various electronic design automation tools such as those in the Tessent family of software tools available from Siemens Industry Software Inc., Plano, Texas.

Observation Scan Architecture

[43] Fig. 1 illustrates an example test architecture 100 that may be implemented according to various embodiments of the disclosed technology. The test architecture 100 comprises scan chains 110, one or more observation scan chains 150, and a test controller 160. The scan chains 110 can be formed by conventional scan cells. The conventional scan cells can be configured to operate in either a shift mode or a capture mode based on a scan enable signal generated by the test controller 160. Fig. 2 illustrates an example of a conventional scan cell 200. The scan cell 200 comprises a state element 210 and a two- way multiplexer 220. The state element 210 can be implemented using an edge-trigged flip-flop. The two-way multiplexer 220 selects a signal from either a serial input port 230 of the scan cell 200 or a parallel input port 240 of the scan cell 200 as the data input signal for the state element 210. The selection is based on a scan enable signal supplied from a scan enable port 250 of the scan cell 200. The serial input port 230 can be coupled to an output of another scan cell in the same scan chain as the scan cell 200 (e.g., one of the scan chains 110 in Fig. 1) while the parallel input port 240 can be coupled to functional circuitry 270.

[44] When the scan enable signal 250 selects the serial input port 230 as the data input signal for the state element 210, the scan cell 200 operates in the shift mode; and when the scan enable signal 250 selects the parallel input port 240 as the data input signal for the state element 210, the scan cell 200 operates in the capture mode. The scan cell 200 fans out into two outputs: a serial output 260 which can be coupled to the serial input port of the next scan cell in the scan chain and a parallel output 280 which can be coupled to the functional circuitry 270. In this setup, the data bit stored in the state element 110 is being applied to the functional circuitry 270 continuously even in the shift mode.

[45] Referring back to Fig. 1, the one or more observation scan chains 150 can be formed by observation scan cells. The observation scan cells can be configured to operate in a shift mode, a capture mode, or a shift-observation mode based on the scan enable signal used by the scan chains 120 and another control signal referred to as an observation scan enable signal. The observation scan enable signal can also be generated by the test controller 160. The test controller 160 may use a counter to facilitate the generation of the observation scan enable signal based on the scan enable signal. Fig. 3 illustrates an example of an observation scan cell 300 that may be implemented according to various embodiments of the disclosed technology. The observation scan cell 300 comprises a state element 310 and selection and combination circuitry 320. The state element 310 can be implemented using an edge-trigged flip-flop. The selection and combination circuitry 320 comprises combination circuitry 321 and selection circuitry 325. The combination circuitry 321 is configured to combine a signal “5” from a serial input port 330 of the observation scan cell 300 with a signal “<7” from a parallel input port 340 of the observation scan cell 300 to generate a signal “s+d”. The serial input port 330 can be coupled to an output of another scan cell in the same scan chain as the scan cell 300 (e.g., one of the one or more observation scan chains 150 in Fig. 1) while the parallel input port 340 can be coupled to functional circuitry 390.

[46] The selection and combination circuitry 320 may further comprise another combination circuitry 323, which is configured to combine the signal “ ” from the parallel input port 340 with a signal “ ?” from an output 370 of the state element 310 to generate a signal “d+Q” . The selection circuitry 325 is configured to select an input signal for the state element 310 from the signal “5”, the signal ’, and the signal “s+ ” if the selection and combination circuitry 320 does not have the combination circuitry 323. If the combination circuitry 323 is present, the signal “s+Q” may also be the fourth signal that can be selected by the selection circuitry 325. The selection is based on two control signals: a scan enable signal from a scan enable port 360 of the observation scan cell 300 and an observation scan enable signal from an observation scan enable port of the observation scan cell 300. It should be noted that while the selection circuitry 325 is shown to receive signals from the combination circuitry 321 and the combination circuitry 323, some part of the selection circuitry 325 may output a signal to either or both of them. One such example will be discussed later.

[47] Based on the two control signals, the observation scan cell 300 can operate in one of the above-mentioned three modes (the shift mode, the capture mode, and the shiftobservation mode) if the selection and combination circuitry 320 does not have the combination circuitry 323. Otherwise, the observation scan cell 300 may operate additionally in a capture-accumulation mode. Fig. 4 illustrates a table summarizing the four operational modes in which the observation scan cell 300 may operate and the associated settings for the two control signals. When the observation scan enable signal is inactivated, for example, the observation scan cell 300 operates like the scan cell 200 in Fig. 2, performing either a shifting operation or a capturing operation during a test based on the scan enable signal. Unlike the scan cell 200, the data bit stored in the observation scan cell 300 is not applied to functional circuitry 390 in either of the two operations. This is because the observation scan cell 300 does not have the same parallel output to inject the stored bit as the scan cell 200 in Fig. 2. When the observation scan enable signal is activated, the observation scan cell 300 can capture test response per shift clock cycle (shift-observation) or capture a test response bit and combine it with the stored bit (capture-accumulation) based on the scan enable signal. Again, the stored bit does not affect the functional circuitry 390.

[48] Referring back to Fig. 1, the test architecture 100 can also comprise a pseudo random pattern generator (PRPG) 130 and a test response compactor 140. The pseudo random pattern generator 130 is configured to generator test patterns for testing the circuit and its outputs are coupled to serial inputs of the scan chains 110 and the one or more observation scan chains 150. The test response compactor 140 is configured to compact test responses and its inputs of are coupled to serial outputs of the scan chains 110 and the one or more observation scan chains 150.

[49] The pseudo random pattern generator 130 can be constructed from a linear feedback shift register (LFSR) or a cellular automaton. Ring generators are a type of linear finite state machines, which can be derived by altering the canonical forms (external feedback, internal feedback) of linear feedback shift registers while maintaining their transition functions. The pseudo random pattern generator 130 can comprise a ring generator and a phase shifter. The phase shifter may comprise XOR gates and can expand the limited outputs of the ring generator to drive a large number of the scan chains 150 and the one or more observation scan chains 150. The test decompressor used by the embedded deterministic test (EDT) can also be implemented using a ring generator and a phase shifter. Accordingly, the manufacturing test and the in-system test can share the same hardware to reduce test circuitry overhead. The pseudo random pattern generator 130 may be configured as a test decompressor during a deterministic test right after the chip is fabricated and then reconfigured to be a pseudo random pattern generator for an in- system test after the chip is installed in a system such as an automobile.

[50] The test response compactor 140 can comprise temporal test response compacting circuitry such as a multiple-input signature register (MISR). The test response compactor 140 can further comprise spatial test response compacting circuitry such as one or more XOR gate networks. The test response compactor 140 can still further comprise X- masking circuitry configured to mask X bits in the test responses.

[51] The test architecture 100 can be employed to shorten test application time by configuring the one or more observation scan chains 150 to operate in the shift-observation mode test while the scan chains 110 is performing a conventional shift operation. The changing content of scan cells in the scan chains 110 becomes stimuli feeding the circuit every clock cycle, and the observation scan cells in the one or more observation scan chains 150 capture and accumulate test responses every clock cycle. The test architecture 100 can also preserve benefits of the conventional test-per-shift approach by allowing the scan chains 110 to capture test responses after the shift operation loads a test pattern.

[52] To increase test coverage, suitable test point locations such as the observation points coupled to the one or more observation scan chains 150 may be determined by searching for internal lines that have low observability, but are preferable propagation paths for a significant number of faults. Moreover, control points coupled to the scan chains 110 may be selected by also considering whether they can improve fault propagation towards test-per-clock-driven observation points, and thus increase their detection probability.

X-Tolerance And Multi-Phase Observation Scan

[53] X states occur in circuit designs due to non-scan flip-flops, uninitialized memory elements, floating buses, bus contentions, internal three-state logic, unwrapped analog modules, false paths, cross-domain paths, or paths with timing closure problems. X states can lead to unknown bits (X bits) in test responses, severely deteriorating test quality. Typically, a test response compactor employs a mechanism for masking X bits, which is referred to as X-masking. Not all X bits captured in scan cells are subsequently masked for manufacturing tests. Designers often try to achieve a tradeoff between on-chip test logic complexity, a collateral damage caused by inadvertent masking of non-X bits, the resultant test coverage and test time, as well as test data needed to control X-masking. On the other hand, an in-system test set-up needs to control scan selection with a minimal amount of data without compromising the high test quality. Preventing all X bits from reaching a test response compactor is often needed for safety critical devices which must test themselves during system operations. This is especially true for compactors comprising multiple-input signature registers whose feedback allows X bits to quickly proliferate, rendering the whole test useless.

[54] A test compactor can employ X-masking circuitry to mask, based on masking information stored in a register, X bits in the test responses. A simple way for X-masking is to mask any scan chains that capture at least one X bit. This can lead to low fault coverage or high pattern counts because many useful test response bits can be masked as well. To solve this problem, the X-masking circuitry may be configured to mask X bits in a per-shift-clock-cycle mode, blocking only certain bits outputted from a scan chain but allowing other bits to be compacted. These two approaches, however, are not effective for the observation scan technology. Any X bit captured by a regular scan cell in a regular scan chain can propagate into the circuit during the shifting operation and corrupt many more observation scan cells in the observation scan chains operating in the shift-observation mode.

[55] Fig. 5 uses an observation scan system 500 to illustrate how X bits captured by regular scan cells can corrupt observation scan cells. The observation scan system 500 comprises regular scan chains 511-514, an observation scan chain 520, a pseudo random pattern generator 530 configured to generate test patterns, and a multiple-input signature register 540 serving as a test response compactor. During a capture operation, three scan cells 521, 523 and 524 in the scan chains 511, 513 and 514, respectively, capture X bits. As discussed previously, these captured X bits are applied to the functional circuitry continuously in the shift mode via the parallel output ports of the scan cells in the scan chains 511, 513 and 514. Therefore, these X bits can cause some X states to be captured by observation scan cells in the observation scan chain 520. Masking the observation scan chain will lose the benefits of the observation scan technology.

[56] A multi -phase observation scan scheme can be employed to reduce the impact of X bits according to various embodiments of the disclosed technology. Fig. 6 illustrates an example of such a multi-phase observation scan scheme. The multi-phase observation scan scheme can comprises two phase: a scan-capture phase 610 and an observation scan phase 620. In the scan-capture phase 610, both scan cells in regular scan chains 630 and observation scan cells in observation scan chains 640 operate in the shift mode and the capture mode alternately. A test pattern is shifted into the scan chains 630 in the shift mode, and a test response is captured by the scan cells in the scan chains 630 in the capture mode. The scan chains 630 then switch back to the shift mode, shifting out the captured test response while shifting in the next test pattern. Unlike the scan cells in regular scan chains 630, the observation scan cells in observation scan chains 640 do not contribute to the application of the test pattern to the circuit because they do not have parallel output ports. Nor do they capture test response in the shift mode. However, the observation scan cells in the observation scan chains 640 can also capture the test response in the capture mode.

[57] In the observation scan phase 620, the scan cells in the regular scan chains 630 operate in the shift mode, and the observation scan cells in the observation scan chains 640 operates in the shift-observation mode. Test stimuli are continuously applied to the circuit by the regular scan chains 630 and corresponding test responses are continuously captured by the observation scan chains 640 in this phase. Timing exception paths are a main source of X states, and thus X states are rarely generated in the shift mode. Even if an observation scan cell captures one, this X bit will not propagate back into the circuit to corrupt other observation scan cells. As such, outputs of most of the observation scan chains 640 do not need to be masked and the observation scan phase 620 can preserve the benefits of the observation scan technology. The number of test patterns for the observation scan-capture phase may be smaller than or equal to a number of test patterns for the scan phase according to some embodiments of the disclosed technology.

[58] Fig. 7A illustrates a table showing characteristics of four industrial designs along with X state injections and the resulted corruptions of observation scan chains under a singlephase observation scan scheme. These four industrial designs DI, D2, D3 and D4 have about 1-3 million gates per design and 1254, 1255, 2502, and 528 scan chains, respectively. Among these scan chains, there are 34, 39, 74, and 7 observation scan chains, respectively. In the single-phase observation scan scheme, the regular scan chains operate in the shift mode and the capture mode alternately while the observation scan chains operate in the shift-observation mode and the capture-accumulation mode alternately. A small number of random Xs are injected into each of the four designs, as shown in the sixth column. As a result, 1-2.5% of the regular scan chains capture X bits, but 57-94% of the observation scan chains capture X bits. This shows that X states can have a significant adverse impact on the single-phase observation scan scheme as the majority of the observation scan chains have to be masked.

[59] Fig. 7B illustrates a table showing test pattern counts needed for 90% test coverage under various test schemes and/or conditions for the four industrial designs shown in Fig. 7A. Column B shows the number of test patterns needed under the condition that neither X states are injected nor observation scan chains are used. Column C shows the number of test patterns needed under the condition that no X states are injected but observation scan chains are used. Column D computes the ratio of Column B vs. Column C, which shows that except for Design 4, using observation scan chains can reduce the pattern count by a factor of greater than 7.

[60] Columns E shows test pattern counts under the condition that X states are injected but no observation scan chains are used. Columns F shows test pattern counts under the condition that both X states are injected and observation scan chains are used in a two- phase observation scan scheme. The ratios of Column E vs. Column F and Column B vs. Column F are listed in Columns G and H, respectively. Columns G shows a significant pattern count reduction when the two-phase observation scan scheme is used. This cannot be achieved using a single-phase observation scan scheme. Even compared with the regular LBST run with no X states, a pattern count reduction over 2.5 times can be achieved for designs D1-D3 using the two-phase observation scan scheme. For Design D4, the two-phase observation scan scheme only requires about 15% more patterns comparing to the regular LBIST run without any Xs.

Examples Of Observation Scan Cell Architecture

[61] Fig. 8 illustrates an example of a block diagram of an observation scan cell 800 that may be implemented according to various embodiments of the disclosed technology. Like the observation scan cell 300 in Fig. 3, the observation scan cell 800 comprises a state element 810 and selection and combination circuitry 820. The state element 810 can be implemented using a flip-flop. The selection and combination circuitry 820 comprises two logic XOR gates 830 and 840 functioning as the combination circuitry 321 and the combination circuitry 323 shown in Fig. 3, respectively. The XOR gate 930 can generate a first signal by combining a signal from a scan input port (SI) 870 of the observation scan cell 800 with a signal from a functional circuit input port (D) 860 (also referred to as parallel input port) of the observation scan cell 800. The XOR gate 840 can generate a second signal by combining the signal from the functional circuit input port (D) 860 of the observation scan cell 800 with an output signal (Q) 815 of the state element 810. The selection and combination circuitry 820 further comprises a four-to-one multiplexer 850 functioning as the selection circuitry 325 shown in Fig. 3. The four-to-one multiplexer 850 can select, based on two selection input signals Ml (880) and M2 (890) of the observation scan cell 800, an input signal for the state element 810 from four signals: the first signal, the second signal, the signal from the scan input port (SI) 870 of the observation scan cell 800, and the signal from the functional circuit input port (D) 860 of the observation scan cell 800. The selection input signals Ml (880) and M2 (890) can be the scan enable signal and the observation scan enable signal in Fig. 4, respectively.

[62] When the signal from the scan input port (SI) 830 of the observation scan cell 800 is selected, the observation scan cell 800 operates in the conventional shift mode. When the signal from the functional circuit input port (D) 840 of the observation scan cell 800 is selected, the observation scan cell 800 operates in the conventional capture mode or in the circuit functional mode. When the first signal is selected, the observation scan cell 800 accumulates the circuit test responses during the shift mode for regular scan cells, corresponding to the shift-observation mode shown in Fig. 4. When the second signal is selected, the observation scan cell 800 accumulates the circuit test responses during a capture mode for regular scan cells, corresponding to the capture-accumulation mode shown in Fig. 4.

[63] Fig. 9 illustrates another example of a block diagram of an observation scan cell 900 that may be implemented according to various embodiments of the disclosed technology. Like the observation scan cell 800, the observation scan cell 900 comprises a state element 910 and selection and combination circuitry 915. Also like the observation scan cell 800, the selection and combination circuitry 915 comprises two logic XOR gates 940 and 930 functioning as the combination circuitry 321 and the combination circuitry 323 shown in Fig. 3, respectively. Unlike the selection and combination circuitry 820 in Fig. 8, the selection and combination circuitry 915 employs two AND gates 923 and 925 along with a two-to-one multiplexer 920, rather than the single four-to-one multiplexer 850, to perform the selection function.

[64] When a selection input signal M2(950) is 0, outputs of both the AND gates 923 and 925 are zero. As such, outputs of the XOR gates 940 and 930 will follow signals from a scan input port (SI) 980 and a functional circuit input port (D) 970, respectively. Another selection input signal Ml (960) will determine whether the signal at the scan input port (SI) 980 or the signal at the functional circuit input port (D) 970 drives the state element 910. These two operation modes correspond to the conventional shift mode and the conventional capture mode, respectively.

[65] When the selection input signal M2(950) is 1, outputs of the AND gates 923 and 925 are the signal from an output port (Q) 990 of the state element 910 and the signal from the functional circuit input port (D) 970, respectively. The XOR gates 940 and 930 thus combine the signal from the functional circuit input port (D) 970 with the signal from the scan input port (SI) 980 and the signal from the output port of the state element 910, respectively. The selection input signal Ml (960) can determine whether the former combined signal or the latter combined signal drives the state element 910, which correspond to the shift-observation mode and the capture-accumulation mode in Fig. 4, respectively.

Illustrative Computing Environment

[66] Some embodiments of the disclosed technology related to inserting test circuitry into a design may be implemented through the execution of software instructions by a computing device, such as a programmable computer. Fig. 10 shows an illustrative example of such a programmable computer (a computing device 1001). As seen in this figure, the computing device 1001 includes a computing unit 1003 with a processing unit 1005 and a system memory 1007. The processing unit 1005 may be any type of programmable electronic device for executing software instructions, but will conventionally be a microprocessor. The system memory 1007 may include both a readonly memory (ROM) 1009 and a random access memory (RAM) 1011. As will be appreciated by those of ordinary skill in the art, both the read-only memory (ROM) 1009 and the random access memory (RAM) 1011 may store software instructions for execution by the processing unit 1005.

[67] The processing unit 1005 and the system memory 1007 are connected, either directly or indirectly, through a bus 1013 or alternate communication structure, to one or more peripheral devices. For example, the processing unit 1005 or the system memory 1007 may be directly or indirectly connected to one or more additional memory storage devices, such as a “hard” magnetic disk drive 1015, a removable magnetic disk drive 1017, an optical disk drive 1019, or a flash memory card 1021. The processing unit 1005 and the system memory 1007 also may be directly or indirectly connected to one or more input devices 1023 and one or more output devices 1025. The input devices 1023 may include, for example, a keyboard, a pointing device (such as a mouse, touchpad, stylus, trackball, or joystick), a scanner, a camera, and a microphone. The output devices 1025 may include, for example, a monitor display, a printer and speakers. With various examples of the computer 1001, one or more of the peripheral devices 1015-1025 may be internally housed with the computing unit 1003. Alternately, one or more of the peripheral devices 1015-1025 may be external to the housing for the computing unit 1003 and connected to the bus 1013 through, for example, a Universal Serial Bus (USB) connection.

[68] With some implementations, the computing unit 1003 may be directly or indirectly connected to one or more network interfaces 1027 for communicating with other devices making up a network. The network interface 1027 translates data and control signals from the computing unit 1003 into network messages according to one or more communication protocols, such as the transmission control protocol (TCP) and the Internet protocol (IP). Also, the interface 1027 may employ any suitable connection agent (or combination of agents) for connecting to a network, including, for example, a wireless transceiver, a modem, or an Ethernet connection. Such network interfaces and protocols are well known in the art, and thus will not be discussed here in more detail.

[69] It should be appreciated that the computer 1001 is illustrated as an example only, and it not intended to be limiting. Various embodiments of the disclosed technology may be implemented using one or more computing devices that include the components of the computer 1001 illustrated in Fig. 10, which include only a subset of the components illustrated in Fig. 10, or which include an alternate combination of components, including components that are not shown in Fig. 10. For example, various embodiments of the disclosed technology may be implemented using a multi-processor computer, a plurality of single and/or multiprocessor computers arranged into a network, or some combination of both.

Conclusion

[70] While the disclosed technology has been described with respect to specific examples including presently preferred modes of carrying out the disclosed technology, those skilled in the art will appreciate that there are numerous variations and permutations of the above described systems and technology that fall within the spirit and scope of the disclosed technology as set forth in the appended claims. For example, while two examples of the selection and combination circuitry in the scan cell have been employed to describe the disclosed technology (Figs. 3 and 5), it should be appreciated that various examples of the disclosed technology may be implemented using the selection and combination circuitry having a topology different from those shown in Figs. 3 and 5.