Upload
murthy-yn
View
7.466
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Useful for M.Tech VLSI Students of SKUCET, ANANTAPUR and others
Citation preview
Dr.Y.Narasimha Murthy.,Ph.D [email protected]
UNIT III – DIGITAL SYSTEM DESIGN
Introduction : The concepts of fault modeling ,diagnosis ,testing and fault tolerance of digital
circuits have become very important research topics for logic designers during the last decade.
With the developments in VLSI technology, there is a drastic increase in the number of
components on a single chip.As a result of increase in the chip density ,the probability of fault
occurring also increased. So,the logic designer must always consider two points. One is ,to
confirm whether the digital circuit operates correctly and is free from faults.This involves the
process of fault diagnosis and and testing. The second is , correct operation of the circuit is to be
ensured even in the presence of faults. This is the process of fault tolerance.
There are different types of faults in digital circuits.A Fault in a circuit is defined as the physical
defect of one or more components of the circuit.Faults can be either permanent or temporary.
Permanent faults are caused by the breaking or wearing out of components. Permanent faults are
also called Hard and Solid faults. Temporary faults are also known as soft faults are those faults
that occur only certain intervals of time. These faults can be either transient or intermittent.
A Transient fault is usually caused by some externally induced signal disturbance ,such as
power supply fluctuations .An Intermittent fault is one that often occurs when a component is in
the process of developing a permanent fault.
Based on the effect of faults ,they are also classified as Logical or Parametric .A logical fault
changes the Boolean function realized by the digital circuit ,while a parametric fault alters the
magnitude of the circuit parameter causing a change in speed,current or voltage .A very
important parametric fault is the delay fault ,which is caused by slow logic gates.This type of
faults leads to problems of Hazards or critical races. The extent of a fault specifies whether the
effect of the fault is localized or distributed. A local fault affects only a single variable, whereas
a distributed fault affects more than one. A logical fault, for example, is a local fault, whereas the
malfunction of the clock is a distributed fault
Fault modeling:
Logical faults represent the effect of physical faults on the behavior of the modeled system.The
advantage of modeling physical faults as logical faults is firstly fault analysis becomes a
1
Dr.Y.Narasimha Murthy.,Ph.D [email protected]
logical rather than a physical problem ; also its complexity is greatly reduced since many
different physical faults may be modeled by the same logical fault.
Second, some logical fault models are technology-independent in the sense that the same fault
model is applicable to many technologies. Hence, testing and diagnosis methods developed for
such a fault model remain valid despite changes in technology.
And third, tests derived for logical faults may be used for physical faults whose effect on circuit
behavior is not completely understood or is too complex to be analyzed.
A logical fault model can be explicit or implicit. An explicit fault model defines a fault universe
in which every fault is individually identified and hence the faults to be analyzed can be
explicitly enumerated. An explicit fault model is practical to the extent that the size of its fault
universe is not prohibitively large. An implicit fault model defines a fault universe by
collectively identifying the faults of interest typically by defining their characterizing properties.
So, fault modeling is closely related to the type of modeling used for the system. Faults defined
in conjunction with a structural model are referred to as structural faults ; their effect is to modify
the interconnections among components. Functional faults are defined in conjunction with a
functional model ; for example, the effect of a functional fault maybe to change the truth table of
a component or to inhibit an RTL operation.
Fault Classes : There are three important classes logical faults. They are (i) Stuck-at faults (ii)
Bridging Faults and (iii) Delay Faults.
Stuck-At Fault : The most common model used for logical faults is the single Stuck-at Fault. It
assumes that a fault in a logic gate results in one of its inputs or the output is fixed at either a
logic 0 (stuck-at-0) or at logic 1 (stuck-at-1). Stuck-at-0 and stuck-at-l faults are denoted by
abbreviations s-a-0 and s-a-1, respectively.
As an example let us consider a NAND Gate whose input A is s-a-1 .. The NAND gate
perceives the A input as a logic 1 irrespective of the logic value placed on the input. For
example, the output of the NAND gate is 0 for the input pattern A=0 and B=1, when input A is s-
a-1 in. In the
absence of the fault, the output will be 1. Thus, AB=01 can be considered as the test for the A
input s-a-l, since there is a difference between the output of the fault-free and faulty gate.
2
Dr.Y.Narasimha Murthy.,Ph.D [email protected]
The single stuck-at fault model is often referred to as the classical fault model and offers a good
representation for the most common types of defects for e.g., short circuits(shorts ) and open
circuits (opens) in many technologies.
To explain the stuck-at –model ,let us consider Complementary Metal Oxide Semiconductor
realization of two input NAND gate .
The number 1 in the figure below indicates an open, whereas the numbers 2 and 3 denote the
short between the output node and the ground and the short between the output node and the VDD,
respectively.
A short in a CMOS results if not enough metal is removed by the photolitho graphy , whereas
over-removal of metal results in an open circuit . Fault 1 in figure below will disconnect input
A from the gate of transistors T1 and T3. So, this fault can be represented by a stuck at value of
A ; if A is s-a-0, T1 will be ON and T3 OFF, and if A is s-a-l, T1 will be OFF and T3 ON. Fault
2 forces the output node to be shorted to VDD, that is, the fault can be considered as an s-a-l fault.
Similarly, fault 3 forces the output node to be s-a-0.
The stuck-at model is also used to represent multiple faults in circuits. In a multiple stuck-at
fault, it is assumed that more than one signal line in the circuit are stuck at logic 1 or logic 0.In
3
Dr.Y.Narasimha Murthy.,Ph.D [email protected]
other words, a group of stuck-at faults exist in the circuit at the same time. A variation of the
multiple fault is the unidirectional fault. A multiple fault is unidirectional if all of its constituent
faults are either s-a-0 or s-a-l but not both simultaneously.
The stuck-at model is not very effective in accounting for all faults in very large scale
integrated (VLSI), circuits which mainly uses CMOS technology. Faults in CMOS circuits do
not necessarily produce logical faults that can be described as stuck-at faults .For example, in
figure above , faults 3 and 4 create stuck-on transistors faults.
Let us consider the figure (ii) below which implements the Boolean expression
In the diagramt , two possible shorts numbered 1 and 2 and two possible opens numbered 3 and 4
are indicated. Short number 1 can be modeled by s-a-1 of input E ; open number 3 can be
modeled by s-a-0 of input E, input F, or both. On the other hand, short number 2 and open
number 4 cannot be modeled by any stuck-at fault because they involve a modification of the
network function.
For example, in the presence of short number 2, the network function will change to the
following new function given below.
4
Dr.Y.Narasimha Murthy.,Ph.D [email protected]
and open number 4 will change the function to
For this reason, a perfect short between the output of the two gates cannot be modeled by a
stuck-at fault. Without a short, the outputs of gates Z1 and Z2 are
whereas with the short,
Bridging Faults :
Bridging faults are an important class of permanent faults that cannot be modeled as stuck-at
faults. A bridging fault is said to have occurred when two or more signal lines in a circuit are
connected accidently together.
Bridging faults at the gate level has been classified into three types: input bridging and feedback
bridging and non-feedback bridging. An input bridging fault corresponds to the shorting of a
certain number of primary input lines. A feedback bridging fault results if there is a short
between an output and input line. A feedback bridging fault may cause a circuit to oscillate, or it
may convert it into a sequential circuit. Bridging faults in a transistor-level circuit may occur
between the terminals of a transistor or between two or more signal lines. Figure (i) below shows
the CMOS logic realization of the Boolean function
5
Dr.Y.Narasimha Murthy.,Ph.D [email protected]
A short between two lines, as indicated by the dotted line in the diagram will change the function
of the circuit. The effect of bridging among the terminals of transistors is technology-dependent.
For example, in CMOS circuits, such faults manifest as either stuck-at or stuck-open faults,
depending on the physical location and the value of the bridging resistance.
A non-feedback bridging fault identifies a bridging fault that does not belong to either of the
above types. From the above it is clear that ,the probability of two lines getting bridged is higher
if they are physically close to each other.
The theory on the bridging faults assumes that the probability of more than two lines shorting
together is very low,and wired logic is performed at the connections.
In general a bridging fault in positive logic is assumed to behave as a wired-AND(whwere 0 is
the dominant logic value) and a bridging fault in negative logic behaves as a wired –OR(where 1
is the dominant logic value).
If bridging between any s lines in a circuit are considered ,the number of single bridging faults
alone will be ( n/s)! and the number of multiple bridging faults will be very high.
Delay Faults :
Smaller defects, which are likely to cause partial open or short in a circuit, have a higher
probability of occurrence due to the statistical variations in the manufacturing process.These
defects result in the failure of a circuit to meet its timing specifications without any alteration of
6
Dr.Y.Narasimha Murthy.,Ph.D [email protected]
the logic function of the circuit. A small defect may delay the transition of a signal on a line
either from 0 to 1, or vice versa. This type of malfunction is modeled by a delay fault.
The delay faults are two types.They are (a) Gate delay fault and (b).Path delay fault. Gate delay
faults have been used to model defects that cause the actual propagation delay of a faulty gate to
exceed its specified worst case value.
For example, if the specified worst case propagation delay of a gate is x units and the actual
delay is x+Δx units, then the gate is said to have a delay fault of size Δx. The main deficiency
of the gate delay fault model is that it can only be used to model isolated defects, not distributed
defects, for example, several small delay defects.
The path delay fault model can be used to model isolated as well as distributed defects. In this
model, a fault is assumed to have occurred if the propagation delay along a path in the circuit
under test exceeds the specified limit.
Transition and Intermittent faults :
The transition and Intermittent faults are considered as Temporary faults. In digital circuits a
major part of the malfunctioning is due to the temporary faults and these faults are always
difficult to detect and isolate.
Transient faults are non-recurring temporary faults that caused by power supply fluctuations or
exposure of the circuit to certain external radiation(like α-particle radiation).These are not
repairable as there is no physical damage to the hardware.They are the major source of failures in
semiconductor memory chips.
Intermittent faults occur due to loose connections , partially defective components or poor
designs. They are recurring faults that appear on regular basis. The intermittent faults that occur
due to deteriorating or aging components may eventually become permanent.Some intermittent
faults may also occur due to environmental conditions such as temperature ,humidity ,vibration
etc.
The occurance of intermittent faults depends on how well the system is protected from its
physical environment through shielding ,filtering ,cooling etc.An intermittent fault in a circuit
causes malfunction of the circuit only if it is active,if it is inactive ,the circuit operates
correctly.A circuit is said to be in a fault active state if a fault present in the circuit is active and it
is said to be in the fault-not-active state if a fault is present but inactive.
7
Dr.Y.Narasimha Murthy.,Ph.D [email protected]
Since ,the intermittent faults are random ,they can be modelled only by using probabilistic
methods.The first model used was the Two-state first order Markov model.This model is for a
specific class of intermittent faults,which are well behaved and signal independent .An
intermittent fault is well behaved if ,during an application of test pattern ,the circuit under test
behaves as if either it is a fault free or a permanent fault exists.An intermittent fault is signal
independent if its being active doesnot depend on the inputs or the present state of a circuit.
The diagram above shows fault model proposed by Breuer.It assumes that the fault oscillates
between the fault active state (FA) and fault not active state (FN).The transition probabilities
depend on a selected time-step.i.e they have to be changed if this time step is changed.
Fault diagnosis of Combinational circuits by conventional methods:
A very important activity in the manufacturing of digital ICs is to determine whether the circuit
contains a faults ,and if so ,to locate the fault and to replace the faulty components. The task of
finding whether a fault is present or not is called Fault detection and the task of isolating the
fault is called fault location. The combined task of fault detection and location is known as fault
diagnosis.
Testing is a process of diagnosing the faults. Generally testing of logical circuits consists of
applying a set of input combinations to the primary inputs of the circuit. So,the aim of testing is
to verify that each logic gate in the circuit is functioning properly and the interconnections are
good. If a single stuck-at fault is present in the circuit under test, then the problem is to
construct a test set that will detect the fault by utilizing only the inputs and the outputs of the
circuit.
8
Dr.Y.Narasimha Murthy.,Ph.D [email protected]
One of the main objectives in testing is to minimize the number of test patterns. If the function of
a circuit in the presence of a fault is different from its normal function (i.e., the circuit is non
redundant), then an n-input combinational circuit can be completely tested by applying all 2n
combinations to it , however, 2n increases very rapidly as n increases.
There are several different test generation methods for combinational circuits. These methods
are based on the assumptions that a circuit is non-redundant and only a single stuck-at fault is
present at any time.
Path Sensitization Technique:
The basic principle of the path sensitization method is to choose some path from the origin of the
fault to the circuit output. A path is sensitized if the inputs to the gates along the path are
assigned values such that the effect of the fault can be propagated to the output.
To explain this technique let us consider circuit shown in figure below and assume that line α is
s-a-1. To test for α, both G3 and C must be set at 1. In addition, D and G6 must be set at 1 so that
G7=1 if the fault is absent. To propagate the fault from G7 to the circuit output f via G8 requires
the output of G4 to be 1. This is because if G4=0, the output f will be forced to be 1, independent
of the value of gate G7.
The process of propagating the effect of the fault from its original location to the circuit output is
known as the forward trace.
Let us consider now the backward trace, in which the necessary signal values at the gate outputs
specified in the forward trace phase are established. For example, to set G3 at 1, A must be set at
0, which also sets G4=1. In order for G6 to be at 1, B must be set at 0 .It is clear that G6 cannot be
set at 1 by making C=0 because this is inconsistent with the assignment of C in the forward trace
9
Dr.Y.Narasimha Murthy.,Ph.D [email protected]
phase. Therefore, the test ABCD=0011 detects the fault α s-a-1, since the output f will be 0 for
the fault-free circuit and 1 in the presence of the fault. Generally , a test pattern generated by the
path sensitization method may not be unique .
The main drawback of the path sensitization method is that only one path is sensitized at a time.
This does not guarantee that a test will be found for a fault even if one exists.
As an example,let us derive a test for the fault α s-a-0 in the figure (ii) below. To propagate the
effect of the fault along the path G2−G6−G8 requires that B, C, and D should be set at 0. In order
to propagate the fault through G8, it is necessary to make G4=G5=G7=0. Since B and D have
already been set to 0, G3 is1, which makes G7=0. To set G5=0, A must be set to 1 ; as a result,
G1=0, which with B=0 will make G4=1. Therefore, it is not possible to propagate the fault
through G8. Similarly, it is not possible to sensitize the path G2−G5−G8. However, A=0 sensitizes
the two paths simultaneously and also makes G4=0.
Thus, two inputs to G8 change from 0 to 1 as a result of the fault α s-a-0, while the remaining two
inputs remain fixed at 0. Consequently, ABCD=0000 causes the output of the circuit to change
from 1 to 0 in the presence of α s-a-0 and is the test for the fault. This example shows the
necessity of sensitizing more than one path in deriving tests for certain faults and is the principal
idea behind the D-algorithm.
Boolean Difference Method:A combinational circuit can be tested for the presence of a single stuck-at fault by applyinga set
of inputs (a test pattern) that excite a verifiable output response in that circuit. The Boolean
10
Dr.Y.Narasimha Murthy.,Ph.D [email protected]
difference method is one of the important algebraic methods of test generation in which the test
vectors are generated by using the properties of Boolean algebra. The Boolean difference method
is an algebraic procedure for determining the complete set of tests that detect a given fault.
.The method consists of two parts . First, construct a formula expressing the Boolean difference
of a circuit with respect to a given fault. Second, apply a Boolean satisfiability algorithm to the
resulting formula. Since the Boolean difference formula defines the complete set of tests capable
of distinguishing between the faulted and unfaulted circuits, satisfying this formula will give us a
set of inputs that detect the fault.
Let us consider a combinational circuit which realizes the function f(x1,x2,x3---------xn).The
Boolean difference of a function f(x1,x2,x3----------------------xn) with respect to one of its
variables xi is given by
df ( x )dx i
= f ( x1 , x2 , x3−−−x i−1 , 0 ,−−−−−xn )⊕ f (x1 , x2 , x3−−x i−1 ,1 ,−−xn )
Let us denote the function f(x1,x2, x3…..xn-1,0,….xn) by fi(0) and f(x1,x2, x3…..xn-1,1,….xn) by
fi(1).
∴ df ( x )dxi
= f i(0 )⊕ f i(1 )
If
df ( x )dx i
≡0 , then fi(0) ≡ fi(1) and it implies that f(x) is independent of xi .Similarly if
df ( x )dx i
≡1 ,then any change in the value of xi will affect the value of f regardless of remaining
variables.
The objective behind this is to find those values of variables for which
df ( x )dx i
≡1 , as these are
the values that makes the output f ,to be incorrect(faulty) when a fault exists on line xi .
11
Dr.Y.Narasimha Murthy.,Ph.D [email protected]
In order to test xi for a s-a-0 fault it is important to assign the value 1 to x i and to assign all other
values in such a way that
df ( x )dx i
≡1 ,.Consequently ,the set of tests which detect the fault xi s-a-0
is given by the equation xi
df ( x )dx i
≡1 ,
Similarly, the set of tests which detect the fault xi1
df ( x )dx i
≡1 ,
As an example let us consider the circuit shown below.
The Boolean difference with respect to X3 is determined as below.
Using the equation
df ( x )dxi
≡1 ,
To find the tests for detecting a s-a-0 fault ,we get
This expression is equal to 1 when any one of the three product terms is equal to 1.So,each of the
following input combinations is a test for x3 s-a-0.
(x1,x2,x3,x4) = {(0,0,1,1),(1,ϕ ,1,0),(ϕ,1,1,0)}
12
Dr.Y.Narasimha Murthy.,Ph.D [email protected]
Similarly the tests for detecting a s-a-1 fault at x3 are determined from the equation xi1
df ( x )dxi
≡1 ,
is as follows
Hence .
These are the test sets to find the fault .
Kohavi algorithm :
The path sensitization method and the Boolean difference methods are not practically feasible for
multiple faults , even for circuits of ordinary moderate size.This is because both the methods
consider only one fault at a time.and the total number of states to be tested in a circuit with n-
lines become 3n-1 ,if multiple faults are allowed.So,Kohavi & Kohavi proposed a new algorithm
in the year 1972 to overcome this problem.
This technique has two sets of tests,namely a-tests and b-tests and considers the altered Boolean
function realization by the circuit due to the presence of a single fault rather than considering the
faults itself.For the effective implementation of this algorithm ,three restrictions are imposed by
Kohavi.
The first one is that ,the network must be a two –level AND-OR (or) OR-AND network.
The second restriction is that ,each AND gate must realize a prime cube.
The third one is that ,the AND-OR network must implement a Boolean function which is a sum
of intrudant prime implicant.
To explain this algorithm,let us consider a two-level AND-OR circuit and assume that each
AND gate of the circuit realizes an irredundant prime implicant .Hence the output function of
the circuit can be expressed as a sum of irredundant prime implicants or cubes.
Consider a SA0 fault on any of the inputs of an AND gate.the effect of this fault on the output
function is the elimination of the prime implicant realized by the AND gate.
The set of distinguished minterms that tests each AND gate for SA0 faults is called the set of a-
tests .The set of minterms that tests each AND gate for SA1 faults is called the set of b-sets.
13
Dr.Y.Narasimha Murthy.,Ph.D [email protected]
The circuit above realizes the function f= x1 x’2+ x3 x4 .The prime implicants of the function
are x1x’2 = 1022 and x3x4 =2211 which can be found from the Karnaugh map.
References 1.Logic Design Theory –N.N.Biswas
2.Digital circuit testing and Testability –Parag.K.Lala.
14