Mod 1
Mod 1
Syllabus
MODULE 1
● BASICS OF TESTING AND FAULT MODELING: Introduction to Testing - Faults in digital circuits -
Modelling of faults - Logical Fault Models - Fault detection - Fault location -Fault dominance -Logic
Simulation - Types of simulation - Delay models - Gate level Event-driven simulation.
IMPORTANCE OF TESTING
● The feature size of an Integrated Circuit (IC) refers to the smallest dimension of a component or structure
(such as a transistor gate, interconnect, or other elements) that can be fabricated on a semiconductor chip.
● It is often expressed in nanometers (nm) or micrometers (µm) and directly influences the performance, power
consumption, and density of the IC.
● The reduction in feature size increases the probability that a manufacturing defect in the IC will result in a
faulty chip. A very small defect can easily result in a faulty transistor or interconnecting wire when the feature
size is less than 100nm.
● Furthermore, it takes only one faulty transistor or wire to make the entire chip fail to function properly or at
the required operating frequency.
● Yet, defects created during the manufacturing process are unavoidable, and, as a result, some number of ICs
is expected to be faulty; therefore, testing is required to guarantee fault free products, regardless of whether
the product is a VLSI device or an electronic system composed of many VLSI devices.
Failures and Faults
1.Failure:
• Occurs when a circuit/system deviates from its specified behavior.
2.Fault:
• A physical defect that may or may not cause a failure.
• Characterized by nature, value, extent, and duration.
3.Nature of Faults:
• Logical Fault: Causes a logic value to flip to the opposite state.
• Nonlogical Fault: Includes issues like clock signal malfunction, power failure, etc.
4.Value of a Logical Fault:
• Can be fixed or varying erroneous logical values.
5.Extent of Faults:
• Local Fault: Affects a single variable (e.g., logical fault).
• Distributed Fault: Affects multiple components (e.g., clock malfunction).
6.Duration of Faults:
• Permanent Fault: Lasts indefinitely.
• Temporary Fault: Occurs for a short time.
A circuit error is a wrong output signal produced by a defective circuit. A circuit defect may
lead to a fault, a fault can cause a circuit error, and a circuit error can result in a system
failure.
To test a circuit with n inputs and m outputs, a set of input patterns is applied to the circuit
under test (CUT), and its responses are compared to the known good responses of a fault-free
circuit. Each input pattern is called a test vector.
If the CUT is an n-input combinational logic circuit, we can apply all 2n possible input patterns
for testing stuck-at faults; this approach is called exhaustive testing.
Applying all possible input test patterns to an n-input combinational logic circuit also
illustrates the basic idea of functional testing, where every entry in the truth table for the
combinational logic circuit is tested to determine whether it produces the correct response.
Practical approach is to select specific test patterns based on circuit structural information and
a set of fault models. This approach is called structural testing. Structural testing saves time
and improves test efficiency, as the total number of test patterns is decreased because the
test vectors target specific faults that wouldresultfromdefectsinthemanufacturedcircuit.
Fault Coverage in VLSI Testing
Fault coverage is a key metric in VLSI (Very Large Scale Integration) testing that measures the effectiveness of test
patterns in detecting faults in a circuit. It is defined as:
Higher fault coverage ensures that more faults are detected, reducing the risk of manufacturing defects in semiconductor
chips.
Any input pattern, or sequence of input patterns, that produces a different output response in
a faulty circuit from that of the fault-free circuit is a test vector,or sequence of test vectors,
that will detect the faults. The goal of test generation is to find an efficient set of test vectors
that detects all faults considered for that circuit.
Modelling of Faults
Causes of Faults in Circuits:
▪ Defective components
▪ Breaks in signal lines
▪ Short-circuiting of signal lines
▪ Lines shorted to ground or power supply
▪ Excessive delays
▪ Errors in design specifications
▪ Design rule violations
Fault Representation:
• A fault is modeled based on the change it produces in circuit signals.
Common Fault Models:
1.Stuck-at Fault – Signal remains fixed at logic ‘1’ or ‘0’.
2.Bridging Fault – Unintended connection between two signal lines.
3.Stuck-open Fault – A node fails to establish a connection when required.
Stuck-at Faults:
● Single stuck-at fault: Assumes that a fault in a logic gate result in one of its inputs or the output being fixed to
either a logic 0 (stuck-at-0) or a logic 1 (stuck-at-1).
● Multiple stuck-at fault: assumed that more than one signal line in the circuit are stuck at logic 1 or logic 0; in
other words, a group of stuck-at faults exist in the circuit at the same time
Causes:
•Increased device density in VLSI chips.
•Physical defects in MOS circuits.
These elements can be transistor terminals or connections between transistors and gates. The
case of an element being shorted to power (VDD) or ground (VSS) is equivalent to the stuck-at
fault model; however, when two signal wires are shorted together, bridging fault models are
required.
In the first bridging fault model proposed, the logic value of the shorted nets was modeled as a
logical AND or OR of the logic values on the shorted wires. This model is referred to as the
wired-AND/wired-OR bridging fault model.
The wired-AND bridging fault means the signal net formed by the two shorted lines will take on
a logic 0 if either shorted line is sourcing a logic 0, while the wired-OR bridging fault means the
signal net will take on a logic 1 if either of the two lines is sourcing a logic 1.
Therefore, this type of bridging fault can be modeled with an additional AND or OR gate, as
illustrated in Figure 1.9a, where AS and BS denote the sources for the two shorted signal nets
and AD and BD
BREAKS AND TRANSISTOR STUCK-ON/-OPEN FAULTS IN CMOS
CMOS circuits can experience breaks or opens due to missing conducting material or extra insulating material.
These breaks can be classified into:
● Intragate Breaks
● Signal Line Breaks
Intragate Breaks
Occur within a gate, disconnecting the source, drain, or gate of a transistor.
Identified in Fig. 1.9 at positions b₁, b₂, and b₃.
Break Effect
Asignificant portion of digital system malfunctions is caused by temporary faults. These faults contribute to over
90% of total maintenance expenses due to their challenging detection and isolation
Transient Faults
○ Nonrecurring and temporary in nature.
○ Caused by external factors such as α-particle radiation or power supply fluctuations.
○ Do not cause physical damage and are not repairable.
○ Major source of failures in semiconductor memory chips.
● Intermittent Faults
○ Recurring faults that reappear periodically.
○ Caused by factors such as loose connections, partially defective components, or poor designs.
○ Can be aggravated by aging components, eventually becoming permanent.
○ Environmental factors like temperature, humidity, and vibration also contribute.
○ The likelihood of occurrence depends on protective measures (shielding, filtering, cooling).
Controllability and Observability
Controllability:
In order to generate a test a for a stuck-at fault on a signal line, it must first be forced to a value
that is opposite to the stuck-at value on the line.
This ability to apply input patterns to the primary inputs of a circuit to set up appropriate logic
value at desired locations of a circuit is known as Controllability.
For example, in the presence of a stuck-at-0 fault, the location of the fault must be set to logic 1
via the primary inputs; this is known as 1-controllability.
Similarly, for a stuck-at-1 fault, the location of the fault must be set to logic 0 to excite the fault;
this is known as 0-controllability.
Observability:
Test generation process requires application of appropriate input values at the primary inputs so
the effect of the fault is observable at the primary outputs.
The ability to observe the response of a fault on an internal node via the primary outputs of a
Undetectable Faults
A fault is considered to be undetectable if it is not possible
to activate the fault or to sensitize its effect to primary
outputs.
In other words, a test for detecting the fault does not exist.
To illustrate, let us consider the α s-a-0 fault shown in
Figure 1.10.
It is not possible to set the node α to logic 1. Therefore,
the fault cannot be excited and thus undetectable.
The fault β s-a-0 can be excited by making ab=10, but no
sensitized path is available for propagating the effect of
the fault to the output; hence, the fault is undetectable.
A combinational circuit is denoted as redundant if it has
an undetectable fault.
MODULE-2
Fault Detection in Logic Circuits
● Objective of Testing:
● Challenges in Testing:
○ Efficient test pattern selection is crucial for detecting faults without exhaustive testing.
TEST GENERATION FOR COMBINATIONAL LOGIC CIRCUITS
Method for fault detection in a combinational circuit using a truth table and fault matrix approach.
The most straightforward method for generating tests for a particular fault is to compare the re sponses of the fault-free and the
faulty circuit to all possible input combinations.
Any input combination for which the output responses do not match is a test for the given fault.
Figure 2.2: (a) Circuit under test. (b) Fault matrix. (c) Minimal test set.
From this example that the fault matrix approach to test generation is not practicable when
the number of input variables is large.
We now discuss some alternative techniques developed to solve test generation problems.
Path Sensitization
Path Sensitization
Refer Class Notes
fault α s-a-0
D-Algorithm
1. Singular Cover
2. Propagation D-Cube
3. Primitive D-Cube
Singular Cover
● Singular Cover of logic
gate is a compact form of
truth table
● The propagation D-cubes of a gate are those that cause the output of the gate to depend only on one or
more of its specified inputs.
● Thus, a fault on a specified input is propagated to the output.
● "D" represents a discrepancy signal, indicating a node in a circuit that exhibits a different value under
faulty conditions compared to its normal, non-faulty state.
● Discrepancy Signal:
The "D" signal signifies that a node's value is different when a fault (e.g., a stuck-at-0 or stuck-at-1
fault) is present compared to when the circuit is operating normally.
● The D-algorithm uses a notation where 'D' represents a node that is 0 under normal conditions and 1
under faulty conditions, and 'D complement' (often denoted as D') represents a node that is 1 under
normal conditions and 0 under faulty conditions.
The propagation D-cube of a three-input NOR gate can be formed as shown in Figure 2.7
Primitive D-cube of a fault
The primitive D-cube of a fault (pdcf) is used to specify the existence of a given fault.
It consists of an input pattern which shows the effect of a fault on the output of the gate.
For example, if the output of the NOR gate shown in Figure 2.6 is s-a-0, the corresponding pdcf is:
Here, D is interpreted as being 1 if the circuit is fault-free and is 0 if the fault is present. The
pdcf’s for the NOR gate output s-a-1 are:
Let us consider a three-input NAND gate with input lines a, b, and c and output line f. The singular cubes for
the fault-free NAND gate are:
D-Algorithm
Let us next consider how the various cubes described are used in the D-algorithm method to
generate a test for a given fault. The test generation process consists of three steps:
Step 1: Select a pdcf for the given fault.
Step 2: Drive the D (or D’ ) from the output of the gate under test to an output of the circuit by
successively intersecting the current test cube with the propagation D-cubes of successive gates. A
test cube represents the signal values at various lines in the circuit during each step of the test
generation process. The intersection of a test cube with the propagation D-cube of a successor gate
results in a test cube.
Step 3: Justify the internal line values by driving back toward the inputs of the circuit, assigning
input values to the gates so that a consistent set of circuit input values may be obtained.
D-Algorithm Steps
Figure 2.8a.
Solution: Solved in
Class
The consistency operation at step 4 terminates unsuccessfully because the output of G3 has to be set to 1.
This can be done only by making input B=0; however, B has already been assigned 1 in step 1.
A similar problem will arise if D is propagated to the output via G3 instead of G2.
Note: Any D- Cube that represents a partially formed test during D-Drive is called ‘test cube’.
The only way the consistency problem can be resolved is if the D output of G1 is propagated to the output of
the circuit via both G2 and G3 as shown in Figure 2.8c. No consistency operation is needed in this case, and
the test for the given fault is AB=11. This test also detects the output of G2 s-a-0, the output of G3 s-a-0, and
the output of G4 s-a-1.
Assignment:1) Find Test Vector using D-Algorithm