Professional Documents
Culture Documents
Plaminimization 140207073226 Phpapp02
Plaminimization 140207073226 Phpapp02
Plaminimization 140207073226 Phpapp02
&
PLA TESTING
ANANTAPUR-515001-A.P
yayavaram@yahoo.com
10/18/15
Prologue- PLA
PLA(Programmable Logic Array) is a LSI
based
(Large Scale Integration ) device and its
Field programmable version is called FPLA.
PLA is an array logic device with matrix
like structure which is designed to
implement random logic expressions in sum
of Product form(SOP).
10/18/15
Contd..
Contd..
PLAs are used to implement control units
of CPUs, arithmetic circuits, decoders and
finite state machines (FSMs).
PLAs can also be used to implement the
"IF-THEN ELSE conditional statement"
present in programs written using
hardware description languages.
They have been used in the design of an
entire Microprocessor, terminal control
units, ALU chips and other logic systems.
10/18/15
Structure of a PLA
Diagram-PLA
10/18/15
10/18/15
ROM &PLA
The internal organization of the PLA is
different from that of the ROM.
ROM consists of a decoder at the input while it
is replaced with an AND array which realizes
selected product terms of the input variables.
The basic difference is PLA implements a sumof-products expression, while a ROM directly
implements a truth table.
10/18/15
PLA- OPTIMIZATION
The major disadvantage of the PLA is that
most practical logic problems leave much PLA
area unused.
A straight forward physical design results into
a significant waste of silicon area, which is
undesirable.
Also, speed and power become critical
parameters as the size of the PLA increases
10/18/15
Contd..
Contd..
Due to the regular structure the PLA takes
more area (space) when implemented in a
VLSI chip than the Gate or Standard cell
circuits.
To accommodate all components and
modules with in a small area (for
area efficient design) two important
operations are used.
One is the Minimization and the other
is the Folding of PLAs
10/18/15
11
Contd..
12
13
Contd..
With the advancements in VLSI ,the problem of
minimization has become more cumbersome, due
to increase in the number of variables.
Hence most of the classical methods
have become almost outdated.
The first cube based algorithm MINI
was
developed at IBM by Hong et al in 1974.
Most extensively used PLA minimizer currently
available is ESPRESSO II ,developed at the
university of California-Berkeley by Brayton et al.
10/18/15
14
Contd..
The McBoole logic minimizer developed at McGill
university by Dagenais et al is based on the QuineMcCluskey philosophy and generates all the prime
cubes.
Another better multiple-output minimization
algorithm than ESPRESSO II and McBoole in
many PLAs has been developed at IISc,
Bngalore,India by Gurunath and Biswas in 1989.
This algorithm is based on switching theoretic
concepts and is a fast technique for the
determination of essential prime cubes only.
10/18/15
15
PLA Folding
Folding
is
a
technology-independent,
topological minimization technique, developed
for array structures , that attempts to place two
or more input/output (product term) signals
together so that they can share the same
physical column (row).
It does not change the implementation of the
logic in any manner, but reduces the number of
columns and rows, and consequently reduces
the area of the PLA.
10/18/15
16
Simple folding
When a pair of inputs or outputs share the
same column or row, respectively. It is
assumed that the input lines and the output
lines are either on the upper or lower sides of
the columns thus, there no intersections
between folded lines.
17
Multiple folding
It is a more general technique where the input
and output lines are folded as much as possible
to minimize the number of columns,
respectively rows, in AND and OR matrices.
This method reduces the area. However,
routing of the input and output lines is more
complicated, and another metal or poly-silicon
layer may be required.
Therefore, multiple folding is efficient when the PLA
is a component of a large system where several metal
or poly-silicon layers are already required
10/18/15
18
Contd
Bipartite folding is a special example of
simple folding where column breaks between
two parts in the same column must occur at the
same horizontal level in either the AND or
OR-matrix.
Constrained folding is a restricted folding
where some constrains such as the order and
place of lines are given and accommodated
with other folding
10/18/15
19
Contd..
It has been shown that PLA folding problems are
NP-complete and the number of possible solutions
approximates c! or r!, were c and r are the number of
columns and rows in the initial PLA, respectively.
As the number of inputs and outputs is very large in
recent modern PLAs ,its not possible to implement
these algorithms manually.
Hence the procedure of folding is automatized, and
many computer based (CAD tools) algorithms have
been proposed
10/18/15
20
Column Folding
Column folding is the sharing of a single physical
column by two or more columns (input/output
signals) of a PLA.
Column folding is said to be simple if utmost two
signals (logical columns) share a single physical
column.
It is called multiple if more than two columns can
share a single column.
21
Column folding
(a)Original
PLA
10/18/15
22
23
Contd..
24
Contd..
25
Row Folding
Row folding is defined as the sharing of a
single physical row by two or more product
terms (logical rows) of a PLA.
Row folding is called simple if only two rows
share a single row and is called multiple if
more than two rows share a single row.
Row folding is more complex than column
folding, due to the fact that rows interact with
both the input and output columns.
10/18/15
26
Row-Folding-Example
10/18/15
27
Contd..
In order that two rows can be folded together, it is
necessary that the input columns feeding one row
be separated from those that feed the other by the
output columns. Such separation segments the
PLA.
There are two ways to segment PLAs for simple
row folding.
One, that splits the original AND-plane resulting
in the AND-OR AND structure.
The other that yields the OR-AND-OR structure.
10/18/15
28
Contd..
The PLA in the AND-OR-AND form, consists
of two AND-planes (the left and the right) and
an OR-plane between these two planes.
The OR-AND-OR PLA consists of two ORplanes (the left and the right) on either side of
an AND-plane.
In both cases, a row belonging solely to the left
(AND- or OR-) plane can be folded only with a
row belonging solely to the right (AND or
OR-) plane.
10/18/15
29
Contd..
10/18/15
30
TESTING-TESTABILITY
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 and as a result
of increase in the chip density ,the
probability of fault occurring also
increased.
10/18/15
31
Contd..
The purpose of testing is to know the faults in
a system responsible for the degradation of the
performance and for unwanted effects in terms
of time and power etc.
It also helps to know whether the
manufactured chip meets the expected
specifications.
Among the various tests Functional tests,
Diagnostic tests and Parametric tests are very
important.
10/18/15
32
Types of Faults
33
Fault Modeling
10/18/15
34
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.
10/18/15
35
Contd..
36
Contd..
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.
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 other words, a group of stuck-at faults exist
in the circuit at the same time.
10/18/15
37
Contd..
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.
Some times the faults may be due to
faults in transistors also.
10/18/15
38
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 have
been classified into three types:
input bridging and feedback bridging
and non-feedback bridging.
10/18/15
39
Contd..
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.
10/18/15
40
Contd..
10/18/15
41
Contd..
10/18/15
42
Delay Faults
43
Contd..
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.
10/18/15
44
Contd..
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.
10/18/15
45
46
Contd..
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.
10/18/15
47
Contd..
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
10/18/15
48
PLA TESTING
Programmable logic arrays (PLAs) are used to
implement any Boolean function. Hence , they
have become a popular device in the
realization of both combinational and
sequential logic circuits and are used
extensively in VLSI designs and as LSI
devices on printed circuit boards.
The widespread application of PLAs makes
PLA testing an important issue. Though PLAs
offer many advantages, they also present new
testing problems
10/18/15
49
10/18/15
50
51
52
10/18/15
53
Contd..
The testable PLA, shown in earlier slide has
three checkers.
C1 is a totally self-checking (TSC) l-out-of-m
checker on all product lines and detects any fault
that destroys the non-concurrent property, such
as a product line stuck at 1(0), or any missing
and/or extra cross point in the AND array.
C2 is a TSC two-rail checker that tests all single
stuck-at faults on the bit lines and input
decoders. C3 is an output-code checker.
10/18/15
54
Contd..
C3 is an output-code checker. Its complexity
depends on how the outputs are coded.
The simplest code makes all output patterns
have even (odd) parity. Here, only one extra
output line needs to be added, and C 3 would be
a parity checker.
In general, C3 is not a TSC checker and may
not be fully tested during normal operation,
since the inputs to C3 are basically the PLA's
outputs that are not directly controllable.
10/18/15
55
Contd..
Testing occurs concurrently with normal
operation.
Most errors are caught by one of the three
checkers. However, the circuit is not totally selfchecking.
Therefore off-line testing is still needed to ensure
a high fault coverage.
56
57
Contd..
Let N, be the number of used cross points on
bit line bi. One can add an extra product line
and make connections to it such that every bit
line has an even(odd) number of connections
with product lines.
Then any single cross-point fault on bi
changes the parity of Ni.
The same is true for output lines. Therefore
single cross point faults can be detected by
parity checking on these lines.
10/18/15
58
Contd..
To test a PLA easily, it must be possible to
control individually each bit and product line,
and sensitize each product line through the OR
array.
To obtain more efficient testable PLA designs,
some researchers have focused on reducing
area overhead and/or increasing fault coverage.
This can be done using the idea of parity
compression
10/18/15
59
Signature-Testable PLAs
Signature analysis is a simple and effective
way for testing digital systems, and several
self-testing PLA designs using this concept
have been proposed.
In these approaches ,a set of input patterns is
applied and the results are compressed to
generate a signature , which, when compared
with a known correct value, determines
whether the PLA is faulty or not.
10/18/15
60
10/18/15
61
References
This lecture is totally incomplete with out the
help of the following references. My heartfelt
thanks to these authors.
1. Partition Based Algorithms for PLA
Folding By .Karthikeyan Kannappan.
2. Digital systems Testing and TestableDesign
By Miron Abramovici.
3. Logic Design Theory- N. Biswas.
10/18/15
62