Jia-Liang Chiou Han-Chia Cheng. Department of Electrical Engineering. National Tsing-Hua University, Taiwan. Abstract. VDD. We address in this paper the ...
Modeling and Testing of Intra-Cell Bridging Defects Using Butterfly Structure Lu-Yen Ko
Shi-Yu Huang Jia-Liang Chiou Han-Chia Cheng Department of Electrical Engineering National Tsing-Hua University, Taiwan
Abstract We address in this paper the defect modeling and testing of intra-cell bridging defects from the layout perspective. For defect modeling, we incorporate a butterfly structure to resolve the potential non-logical effect a bridging defect may cause. By doing so, a realistic Boolean fault model at the gate level can thus be generated for each defect under consideration. Furthermore, the test vectors can be generated by a formulation on top of existing ATPG tools. Experimental results indicate that simple stuck-at test set can only achieve 85% coverage for intra-cell bridging defects for ISCAS85. The proposed systematic flow can further boost it to
1.
VDD
logic-level
layout-based higher
defect coverage Fig. 1: A potential paradigm shift to layout-based testing.
99%F.
It is quite often that a bridging defect inside a cell could fighting condition, i.e., multiple signals could drive a cell's output, with some of them to Vdd and the others to GND. The resulting voltage of the output signal could be non-logical, instead of a logic level. The fighting conditions will become harder to resolve with the shrink of the supply voltage and the noise margins of the logic signals. In this work, we present a layout-based test methodology for defects occurring inside a cell. There are three major steps in this methodology: defect analysis, defect modeling, and test generation. In defect analysis, we take the layout of the circuit under test (CUD) in GDS format and decide the top two most likely bridging defects based on critical area analysis [5][12]. For each defect, we use a defect modeling procedure to convert its behavior as faithfully as possible into a Boolean fault model based on exhaustive quick SPICE simulation. Finally, we invoke an ATPG tool to generate deterministic patterns for each undetected defect based on a formulation to be proposed. Such a layout-based approach has been pioneered by many other researchers [6][7][8][17][20]. As compared to their works, the contributions made in this work are mainly in two aspects: (1) We propose a scheme called butterfly structure to resolve the ambiguous voltage level inside a faulty cell, and (2) We derive a systematicformulation for generating vectors for any defect modeled as a gate-level sub-circuit. 2. Defect Analysis In this work, we follow the popular critical area concept [5] [12] to decide the top 2 most likely defects.
Introduction Test set quality has long been assessed by the stuck-at fault coverage. However, this metric is getting more and more challenged. Evidence shows that 100% stuck-at fault coverage may not be adequate to catch a high percentage of real physical defects. In response to this problem, a number of new test generation methods have been proposed. N-detection is a direct enhancement of existing ATPG tools [10][13][15]. For each stuck-at fault, multiple test vectors, instead of just one, are generated. The strategy is to generate a large number of high-quality test vectors with good fault propagation capability, and hopefully a lot defects can thus be detected. More recently, fault diagnosis based on N-detection test set has also been studied [19]. For interconnection faults, N-detection seems to be quite satisfactory. However, there is no clear guidance as for detecting defects inside logic cells. In some sense, it is more like a semi-random approach, and thus the overall defect coverage can only be achieved at the cost of a large number of test vectors. In addition, it is often not easy to decide how big the parameter N in this N-detection methodology should be for a circuit under test. On the other hand, the defect-based testing (DBT) has also been touted as another promising solution, marking a potential paradigm shift to the transistor-level or even the layout-level testing as illustrated in Fig. 1 [2][3][10][11][2 1]. In a DBT methodology, the most important task is the defect modeling - an activity to answer where the most likely defects are and what their resulting behaviors will be. For the first question, the critical area concept [5] has been popularly used. It iS based on the analysis of the layout for identifying the most likely spots for bridging faults. Using this concept, a number of enhancement techniques have been proposed to model the defects at the layout level, or even at the schematic level [6][7] [8][12][14][16][17][18] [20][21].
1-4244-0180-1/06/$20.OO ©2006 IEEE
GND
tranistor4lev
cause a
2.1DftAnlssFo The overall flow is depicted in Fig. 3. A given circuit layout is first parsed into a number of cell layouts. A cell layout is further decomposed into polygons of a number of layers. Polygons with connections (by overlapping or via) are grouped into logical nets. Then the minimum distance of
1
every two nets is estimated to determine the probability of bridging defects. Once the two most likely locations are identified, a short conducting segment is inserted into the layout to mimic the defect as illustrated in Fig. 2. At the end of this flow, totally 2n faulty cell layouts are generated, where n is the total number of cells in the circuit. In this work, we pick only two defects. However, more defects can be selected if necessary. layout of Into cells & polyns =itcllt ihddf teln L by
logic '1' or logic '0' differently by its fanout cells easily, a so-called Byzantine effect [9]. Defet Modeling 3 The defect modeling process is to abstract the behavior of a defect into the logic domain. For a given defect, the entire modeling flow is shown in Fig. 4. A
Defect
Defect injection
(bridging: A & B)
~IeetVt ~ ~ L UNet
bridging 1666i6fi most likely 2
Perfrm defct injection For each defect
Cc
j
(1) Butterfly Struectue Iddhtificatio l
l ___yls Lay4u|
by connectivityanlyiNetA
Idenftify top
St
FaultyLayout)*.|
(2) Fault
Fautlty SchE iAtiac.Ettio1 n
B
(3)
Ehutv SPICE Simulation
E
defecty layouts
,.
\
lCfie
-* Control flow
Data flow
Fig. 4: The defect modeling flow.
Fig. 2: The defect analysis flow.
The inputs include the circuit netlist, the layout of each cell, and a specific defect. As mentioned previously, we perform 2. 2 Defect Classification the defect injection, which adds one conducting segment into the target cell's layout to mimic the defect. Then, we start a During the above defect analysis flow, we can also four-step procedure, including (1) Butterfly structure produce the statistics about the defect types. identification, (2) faulty layout construction, (3) faulty Each net is first categorized as one of five types: input, schematic extraction, and (4) exhasutive SPICE simulation. output, internal, Vdd, or GND. The bridging of the five basic * (Step 1): The butterfly structure identification finds a subtypes gives rise to 13 defect types, including 10 of them circuit from the netlist so that the non-logical effect can be between different net types (e.g., a bridging between input resolved. This identification rule will be demonstrated by and internal), and 3 of them between the same type (i.e., an example later. input-input, output-output, internal_internal). D * (Step 2): After we have identified the bufferfly structure, DD we construct its corresponding faulty layout by direct replacement, i.e., we replace each cell in the butterfly structure by its corresponding layout. A- BH D * (Step 3): Faulty schematic extraction is then performed on o 1n 1 i1 the faulty layout by a commercial tool. The result is a SPICE file with detailed parasitic RC's. If necessary, the S (CouldAbe be ambiguous)... igu ) A interconnection models among cells can be included at Input ul Cthis stage.
O.
inteabal
c
PI'
C
D
iy -
',
.
(Step 4): Exhaustive simulation using a quick SPICE
simulator on the faulty schematic is performed to construct the truth table of the Boolean fault model of the defect under consideration. The Boolean fault model is then converted to a logic circuit. Next, we use an example to illustrate the butterfly strucutre identification process. Example 2: Given a logic circuit as shown in Fig. 5(b), with five inputs {XI, X2, X3, X4, X5} and one output {z1}. There are six logic cells in this circuit with their output signals denoted as {a, b, c, d, e, J}, respectively. Suppose that the cell generating signalf is a faulty cell, with an input-to-input type of bridging defect. Fighting condition could cause ambiguity at signals c and d. These two ambiguous (or potentially nonlogical) signals are marked in bold lines. To resolve the ambiguity, we trace back from signals c and d towards the primary inputs by one level, reaching signals {a, b, X4}.
Internal_internal
*
Fig. 3: Examples of defect types in NAND4.
Example 1: Two examples of defect types for 4-input NAND cell are shown in Fig. 3, namely, input internal and internal_internal bridging defects. For these two types, nonlogical effect will arise. Take the input_input one for example. When the input vector is {(A, B, C, D) (1,1,0,1)}, there will two driving paths, one to Vdd through the pull-up pMOS, while the other to ground through the pull-down nMOS, leading to a fighting condition. Under such a condition, the voltage level of the output signal Out could be non-logical. This non-logical level could be interpreted as
2
These three signals are included as the pseudo-inputs of our butterfly structure. Then, we trace forward towards to the primary outputs from signals c and d by one level, reaching signals {e, J3. These two signals form the pseudo-outputs of our butterfly structure. The resulting sub-circuit is called a butterfly structure because of its outlook as illustrated in Fig. 5(a). Pseudo
Pseudo
follows.
Outputs
Inputs
_ Case 1: The detection is made via single fault effect propagation through signal e, as shown in Fig. 6. In this ecase, the function of a is denoted as:
(a) Illustration of the butterfly structure. X
i-1-
X2
a=,[5
1
circuit). In this example, the outputs of the butterfly subcircuits are denoted as {e,j}, and those of the fault model are {e', f'}. These four signals are fed to a Fault Activation Circuit (FAC), driving signal a. In this miter, we aim to translate the detection conditions into a stuck-at-O fault. The FAC circuit, depending on the number of outputs in the Boolean fault model and on how we want to propagate a fault effect to the primary outputs, could split into multiple forms. We consider the cases when there are two outputs as
L
X4
i
s.
E D
;d
a= (e
e e')(f -f)
, where -= is an equilvalence operator. It mandates that the values of signal e and e' should be different, and those of signal f and f' should be the same in order to force a '1' at signal a. Also, signal a is used to replace signal e as shown in Fig. 6. It can be proved that an input vector for detecting a stuck-at-0 fault can differentiate the behaviors of the butterfly sub-circuit and the Boolean fault model at signals e and e' and this difference can be further propagated to some primary outputs. * Case 2: The detection is made via single fault effect propagation through signal f In this case, the function of a is denoted as: a= (f e f) (e _ e a P ) Also, signal a is used to replace signalf * Case 3: The detection is made via double fault effect propagation through signals e and f in the same polarity. In this case, the function of a is denoted as: ao= (e e e') * (f e f') Also, signal a is used to replace both signals e and f, as shown in Fig. 7(a).
Zi
defect_________________ (b) Example circuit. Fig. 5: The butterfly structure for defect modeling.
Test Generation The previous section implies that we can mostly find a Boolean fault model for a defect, by enlarging the sub-circuit under consideration marginally to a butterfly sub-circuit. Once a Boolean fault model is built, the subsequent test generation can be solved in a number of different ways as proposed in the literature [4] [11] [21 ]. In our system, we incorporate a piggyback program on top of a commercial tool for this purpose. One major feature of this formulation is that it can be adapted to handle a Boolean fault model with multiple outputs, if necessary. This formulation was inspired by the original work in [1] for circuit verification. For a given Boolean fault model as a logic sub-circuit, we construct a model called miter [1]. The conditions for detecting a target defect is transformed to the detection conditions for a stuck-at-0 fault of a signal in this miter, named signal a. 4.
fe)l(e-iea
i
--
.1
Fal
b
LFaultl
FAC
FAC
Find a test vector
Boolean
tisult r
Cc
that detects cc stuck-at-O e se | all]*
'
,
The miter structure for
Double fault propagation in the
same
polarity.
(b) Double fault propagation in opposite polarities.
Fig. 7: Miters for double fault propagation.
FAC: fault activation circuit FAC function: a= (e e') (fflPf)
Fig. 6:
0(a)
detection is is made via double fault effect * Case 4: The tion paga through signals inin opoie polarities. ie e and tohpposite oproepagation polarities.
eade
single fault propagation.
saub-icut andlo the Booeanc fault monsdelratoisthserfutyd su-
aadthnaotcoeoiialydieob
3
inle
In general, this formulation can be extended to the case when there are n (n > 2) outputs in the Boolean fault model. But due to the lack of space, the extension is ommitted. 5. Experimental Results We have implemented the proposed methodology as a system for PSC 0.25um technology in C and Perl 5.8. This system invokes NanoSim for quick SPICE simulation, StartRC for post-layout SPICE netlist generation, and TetraMax for test vector generation. We have conducted experiments on all ISCAS'85 circuits. Table 1 shows the defect coverage improved by our method and the required CPU time. The meanings of some columns are explained in the following: * vector: means the number of test vectors generated by TetraMax, either using traditional stuck-at fault model or
further push it up to 99%. Acknowledgements The authors would like to thank PowerChip Semiconductor Corp. and Syntronix Corp. for their supports in providing the standard cell library in the experiments of this work. References [1] D. Brand, "Verify Large Synthesized Designs," Proc. of Int'l Conference on Computer-AidedDesign, pp. 534-537, Nov. 1993. A. and M. [2] J.Observation, Dworak, D.andDorsey, ELF-MD:Wang, Criteria"Excitation, for High Optimization Mercer,
[3]
our methodology.
[4] J. Ferguson and T. Larrabee, "Test vector Generation for Realistic Bridging Faults in CMOS IC's," Proc. ofInt'l Test Conf., pp. 492-
499, 1991.
[5] A. Ferris-Prabhu, "Defect Size Variations and Their Effect on the
Critical Area of VLSI Devices," IEEE Journal of Solid-State Circuits, Vol. 20, No. 4, pp. 878-880, Aug. 1985. [6] F. M. Goncalves, I. C. Teixeira, and J. P. Teixeira, "Integrated
Approach for Circuit and Fault Extraction of VLSI Circuits," Proc. of IEEE Int'l Symposium on Defect and Fault Tolerance in VLSI
generation.
On the average, the defect coverage has been improved from 84.63% (by suck-at fault test set) to almost 99.03% by our methodology. On the average, the total number of test vectors increases from 50 to 148.
[7]
C17 6 4 C432 175 45 C499 370 61 C1355 302 45 C1908 465 29 C2670 694 66 82 C3540 1020 C53151462064 C5315 1462 64 C6288 2353 38 C7552 2114 61 Avg. ____ 49.5
defect cover.
cover.4 100%o
82.9% 99.5% 89.3% 83.2% 86.3% 64.9°/o 83.
83.4%o
94.6%
77.9%o 84.6%o
vector
4 128 126
defect cover.
10000
99.98% 100% II 1 OOO 67 100% 241 97.17% 231 98.82% 191 98.19%o 81 100% 297 98.13°/ Avg. 147.7 99.2%o
Systems, pp. 96-104, Nov. 1996. Goncalves, I. C. Teixeira, and J. P. Teixeira, "Realistic Fault
F. M.
Extraction
for
High-Quality Design
and Test of VLSI Systems,"
Proc. of IEEE Int'l Symposium on Defect and Fault Tolerance in VLSI Systems, pp.29-37, Oct. 1997.
[8] A. L. Jee and F. J. Ferguson, "Carafe : An Inductive Fault Analysis
Table 1: Results for ISCAS-85 circuits. traditional ours vector
J. Dworak, J. Wicker, S. Lee, M. R. Grimaila, K. M. Butler, B. Stewart, L.-C. Wang, and M. R. Mercer, "Defect-Oriented Testing
and Defective-Part-Level Prediction," IEEE Design and Test of Computers, Vol. 18, No. 1, pp. 31-41, 2001.
* defect cover.: stands for defect coverage of a given test set. * model time: means the CPU time in second for defect modeling, including the quick SPICE simulation. * ATPG time: means the CPU time in second for defect coverage computation and the subsequent test vector
circuit gates
Quality Test Sets," Proc. ofIEEE VLSI Test Symposium pp. 9-16, 2004.
Tool for CMOS VLSI Circuits," Proc. of IEEE VLSI Test Symposium, pp. 92-98, April 1993. model ATPG [9] D. B. Lavo, T. Larabee, and B. Chess, "Beyond the Byzantine Generals: Unexpected Behavior and Bridging Fault Diagnosis," time (sec) time (sec) (sec)Proc. ofInt'l Test Conference, pp. 611-619, 1996. 4 2 [10]E. J. McCluskey, A. Al-Yamani, C.-M Li, C. W. Tseng, E. 452 41 Volkerink, F. Ferhani, E. Li, and S. Mitra, "ELF-Murphy Data on 686 96 Defects and Test Sets," Proc. of IEEE VLSI Test Symposium, pp. 16-22, 2004. 281 47 [ll] P. Nigh and W. Maly, "Layout-Driven Test Generation," Proc. of 222 60 Int'l Conf. on Computer-AidedDesign, pp.154-157,1989. 394 136 [12] P. K. Nag and W. Maly, "Hierarchical Extraction of Critical Area for Shorts in Very Large ICs," Proc. ofIEEE Int'l Symposium on 590 87 Defect and Fault Tolerance in VLSI Systems, pp.19-27, Nov.1995. 732 187 [13]J. H. Patel, "Stuck-At Fault: A Fault Model for the Next 640 394 Millennium," Proc. of Int'l Test Conf., pp. 1166, Oct. 1998. 1733 384 [14]W. A. Pleskacs, D. Kasprowicz, T. Oleszczak, and W. Kuzmicz, Cells Characterization for Defect-Based Testing," 49.5731846% 9.2 157 Proc. s"CMOSof Standard IEEE Int'l Symposium on Defect and Fault Tolerance in 143 (s) (s) 13
477
Conclusion With the supply voltage and the noise margin getting smaller and smaller and the defects becoming more and more ambiguous, the traditional stuck-at fault testing may not be adequate to guarantee the quality of an IC. To cope with this 6.
VLSI Systems, pp. 384-392, Oct. 2001. Pomeranz and S. M. Reddy, "N-pass N-Detection Fault [15]I.Simulation and Its Applications," IEEE Trans. on Computer-Aided
Design ofIntegrated Circuits and Systems, Vol. 21, No. 8, pp. 980986, Aug. 2002.
[16] J. P. Shen, W. Maly, J. Ferguson, "Inductive Fault Analysis of MOS
IEEE Design & Test, pp. 13-26,1985. [17] Z.ICs," Stanojevic and D. M. Walker, "FedEx - A Fast Bridging Fault Extractor," Proc. ofIEEE Int'l Test Conf., pp.696-703, Nov. 2001. [18]J. Segura, A. Keshavarzi, J. Soden, and C. Hawkins, "Parametric Failures in CMOS ICs - A Defect-based Analysis," Proc. ofIEEE Int'l Test pp. 90-99, Oct. 2002. [19]Z. Wang, Conference, M. Marek-Sadowska, K.-H. Tsai, J. Rajski, "Multiple Fault Diagnosis Using N-Detection Tests," Proc. ofInt'l Conf. on Computer Design, pp. 198-201, 2003.
new challenge, the defect-based testing could provide an
alternative solution in addition to the N-detection methodology. In this paper, we presented a complete defectbased test methodology with two major contributions: Firstly, we incorporate an automatic procedure to convert a defect into an equivalent sub-circuit at the logic domain based on a butterfly structure. Secondly, we formulate the defect detecionequiemens as numer o stuk-at aultdetetion problems that can be directly solved by existing ATPG
[20] 5. T.
Zachariah,
and S.
Chakravarty,
"Algorithm to Extract Two-
Node Bridges," IEEE Transactions on Very Large Scale Integration
Systems, Vol. 11l, No. 4, pp.741-744, Aug. 2003.
programs. Experimental results indicate that traditional stuck-at fault test set can only detect around 850% of those
[21] R. Ubar, W. Kuzmicz, W. Pleskacz, and J. Raik, "Defect-Oriented Fault Simulation and Test Generation in Digital Circuits," Proc. of intra-ell bidgin defets wemodeld, whle ou systm canInt'l Symposium on Quality Electronic Design, pp. 365-371, 2001.
4