Digital Electronics
Digital Electronics
Digital Electronics
Once programmed. the data pattern can never be changed. This type of
of
refemed to as ROM. ROMs are highly suited for very high volune usage due
due to read-Only
l ththeir en
Programmable read-only memory (PROM) low nemarycoa n
This type of memory
comes from the manufacturer without any data stored init
.c. empry.Tte
data patten is programmed electrically by the user using a special circuit kn
nown
pogrammer. t can be programmed only once during its life time. Once programm Pk
cannot be altered. This type of memory 1S known as PROM. These are
highly grammed, the de
suited for hi
volume usage due to their low cost of production.
Erasable programmable read-only memory (EPROM)
In this type of memory. data can be written any number of times, i.e. they are reproga
Before it is reprogrammed. the contents already stored are erased by exposing the chip to ul mable
radiation for about 30 minutes. This type of memory is referred to as EPROM.
possible only in MOS technology. Programming is done using a PROM programmer
OM: EPROM
Electrically erasable and programmable read-only memory (EEPROM or EPROM)
This is another type of in is done electrically ratber te
reprogrammable memory which erasing
exposing the chip to the ultraviolet radiation. It is referred to as EEPROM or electrically alterable
ROM (EAROM).
A combinational PLD is an integrated circuit with programmable gates divided intoan AND am
and an
provide an AND-OR sum of products implementation. There threema
OR array to
types of combinational PLDs and they differ in the placement of the programmable coneciann
are
the AND-OR array. The various PLDs used are PALs (programmable array logics,FL
programmable7 logic arrays) and PROMs (programmable readonlymemories)
shows the configuration of the 3 PLDs. The programmable read-only men
Figure
(PROM) has a fixed AND aray constructed as a decoder and a programmable OR auy
AND gates are programmed to provide the product terms for the Boolean function5, *
has progranae
AN
logically summed in each OR gate. The programmable array logic (PAL)
Fixed Butpu
inpuls
Programmable
AND array OR array
The most flexible PLID is the programmable logic array (PLA) where
hred OR Arvs can be programmed. Jhe product terms in the AND array may be
OR
and
a
A N D
and
.
1o provide the required sum of products implementation.
gate.
y
OR
a n y
PROGRAMMAE
urdDy
oGRAMMABLEARRAY LOGIC (PAL)
logic (a registered trade mark of Monolithic Memories) is a particular farnily
anablea g i c devices (PLDS) that is widely used and available from a number of
grauma
mTamma PAL circuits consist of a set of AND gates whose inputs can be programmed
urers. n
a n a t at u r
connected to an OR gate, i.e. the inputs to the OR gate are hard-wired. ie.
ahe outih a fixed OR array and a programmable AND array; Because ónly the AND
With
is progra.
ammable. the PAL easier to program but is not as flexible as the PLA. Some
1S
also allow output inversion to be programmed. Thus, like AND-OR and AND-OR-
ufatthey implement a sum of products logic function. Figure 8.8a shows a small example
E ucture. hefuse symbols representfusible links that can be burned open using
PROM that every input variable and its complement can
ent similar to a programmerNote
AND We then say that the AND gates
ither connected or disconnected the every 1s gate.
Irom
Programmable
AND gates
Programmabie
AND gates
ABC
F-ABC+A
Output
Unused
a (6)
gure 8.8
Basic structure of a PAL circuit, and implementation of F ABC+ ABC.
=
Programmable
AND array
F
(c)
Figure 8.9 Simplifed method for showing connections in circuils
PROGRAMMABLE LOGIC DEVICES 471
EXAMPLE8.4 Using the connection adbreviations, redraw the circuit in Figure 8.9c to
Us
Pl an be programmed to implement F, = ABC+AC+ABC and F, = BC.
S o l u n o n
Circuit
to implement the given functions is shown in Figure 8.10a. Note that
ne edr
e
AND gate has all ts links ntact. Al links intact can be represented by a x in the
u n u s e dA N N L
snown
n in
in Figure 8.108 Such a diagram is sometimes called the fuse map.
Figure 8.106.
as
AND gate
Fixed OR array
ABC
F ABC+ ABC+ AT
ABC
ABC
F= ABC+BC
\BC
PAL Programming
The fuse rmap able
htee co of table consists of
The fir
aPALC D specified in a tabular form. The PAL
terms
numerically.
programning
The second column specifies
Oumn lists the product
472 FUNDAME NTALS OF DIGITAL CIRCUITS
gaekcd w
the equnred paths bhetwcen inputs and AND gates. The third column specif.
OR gates Fr cach product term the inputs are marked with 1, 0, or - (das e
l u t tem ajpears in its tnue torm. the corresponding input variable is t varia Varia
appcars in complemcnted torn, the corresponding input variable is marked i d with
al d with
isahsent in the praduct temm, it is as
marked a- (dash). are I he a0. vne,
The paths etween the
muts n the programming
inputs and the AND gates specified
table. AI in the input column specifies a
under the
connectionne
.
ANID 0 ection ro
anabic to the
gate. A in the nput column
speciiesa conncction from the comathe
anablc to the input of the AND gate. A dash specifies a blown fuse in both the innPetnent
cmplement. It is assumed that a open terminal in the input of an AND gate behaves b e n
s like
The outputs of the OR gates are specified under the column a l
heading outpue
PAL Is specificd by the number of inputs, the number of product terms, and the numheThe s
For n k terms. and m the internal ot outpu
inputs. product outputs logic of the PAL co
invener gates. k AND gates, and m OR gates.
When designing a digital system with a PAL, there is no need to show the intemalIcconnect
of the
unit. All that
is needed is aPAL programming a table which the PAL
from canbepro
to supply the required logic. When implementing combinational circuit with a PA caref.
investigation must be undertaken in order to reduce of distinct
the number Sin product terms.
PAL has a finite of AND gates, this can be dorne by simplifying each
a munimum number of terms.
number Booleanfunci
EXAMPLE 8.5 Implement the following Boolean functions using PAL with four
inpus
and 3-wide AND-OR structure. Also write the PAL programming table.
F A . B. C, D) = E m(2, 12. 13)
F A . B, C, D) = Z m(7, 8, 9, 10, 11, 12, 13, 14, 15)
F(A. B. C. D) = Z m(0, 2, 3, 4, 5, 6, 7, 8, 10, 11. 15)
Solution
F(A, B. C, D) = E m(1, 2, 8, 12, 13).
The K-maps for the above expressions, their minimization and the minimal expresios
obtained from them are shown in Figure 8.11. Note that the function for
terms. The logical sum of two of these terms is equal to F,. By using F, it 1s poSS
F,has four pro
reduce the number of terms for F, from four to three. The implementation of the m inim
0 01 11 0 CD 00 01 11 10
AB
4B 2
15
10
A + BCD
F, ABC+ABCD F2
Figure 8.11 Example 8.5: K-maps (Conta.)
PROGRAMMABLE LOGIC DEVICES 473
00 10
4 800 01 11 10
LT
0
12
12
1
Fa= CD+ AB
L
BD F ABC +ACD+ ABCD
Fi + ACD + ABCD
=
The programming table that specifies the PAL of Figure 8.12b is listed in Figure 8.12a.
sae he given problem has four outputs the table is divided into four sections with three product
i n each to conform with the PAL ot Figure 8.95. The first two sections need only two
t terms to implement the Boolean function. The last section for output F, needs four
from F, we can reduce the function into a function with three
mduct terms. Using the output
ns.
The fuse map for the PAL as specified in the programming table is shown in Figure 8.12b.
ir cach I or 0 in the table, we mark the corresponding intersection in the diagram with the
for intact fuse. For each dash, wewith blown fuses in both the true
mark the diagram
symbol an
ad complement inputs. If the AND gate is not used, we leave all its input fuses intact. Since the
receives both the of each input variable, we have
and the complement
aTesponding input true
Ã=0 and the output of the AND gate is always 0. Usually a x inside the AND gate is used to
ndicate that all its input fuses are intact.
AND Inputs
Product tem Outputs
A B C D F,
F, ABC+ABCD
1
2 1
F2 =A+ BCD
F AB+ CD +BD
8
ABCD
F =
F+ ACD
0 0 0 1
programming
table
(a) PAL
Fixed OR array
F.
(b) Realizalion of the example functions using PAL
Figure 8.12 Example 8.5.
EXAMPLE 8.6 Realize the following functions using a PAL with four
AND-OR structure. Also write the PAL programming table. inputs an
F,A. B. C, D) =E m6, 8,9, 12-15)
F A, B, C, D) Z m(4-7, 10-11)
=
FA, B. C, D) 2 m(1,4-7, 10-15) =
F(A. B. C, D) =Z m(4-7,9-15)
Solution
The first step the
in
realization is to obtain the minimal form of all
the gc
sum of products
products
K-maps for the given functions, their Sum
nimal.SOP
Tunctons. The
expressions obtained from them are shown in minimization, and tne
Each section in the Figure 8.13. Therea e
provision for
three products give becomes
only as
inputs toOR gates. So some
necessary. Observe that out of four terms two of the terms
man
of F, are equa
PROGRAMMABLE LOGIC DEVICES 475
cm of F, and the remeining two terms. The PAL
C n
as
the s
CD
A B0 0
01
AB 00
01 11 10
00
15 14
10
10
F, AB + AC + BCD Fa AB+ ABC+ ACD+ BC
=Fa+ BC+ACD
01 11 10 00 01 11 10
AB 00 AB
00
3 AND
o | g a each
2 13 15
1 H OP gai
AD + AC
F= AB+ ABC F=B +
AC+ BCDD
F, =AB+
F A B +ABC
10 B AD
AC
F
table
PAL p r o g r a m m i n g
(a)
Example 8.6 (Contd.)
Figure 8.14
476 FUNDAMENTALs OF DIGITAL CIRCUITS
Fixed OR array
F F2
(6) Realization of the example functions using PAL
Figure 8.14 Example 8.6.
8.8
PROGRAMMABLE LOGIC ARRAY(PLA)
The PLA represents another
type of
c h i t e c t u r e
vender to
vender
to produce a user made PLA that has the required internal paths between
prod
the
sedby second type of PLA available is called a field programmable logic amray or
ies uls.
Programmable
AND gates
Programmable
OR gates
Ouly Out
Out, Oug
PLA
Structure of (an
unprogrammed) CirCt
'gure 8.15
to
be programmed
XAMPLE 8.7 Snow how the PLA
circuit in Figure
8. 15 would
solTheutitruth
on t Drawing
the K-maps
for the sum
and the c a n y O u t 18
CotAB+ACi+BC
To implement these expressions, we nced a
the inputs to the OR gates of the PLA can be
4-input OR gate and a 3 input (
programmed, we can imni Eate
c\pressions as shown in Figure 8.16c.
nputs Outputs
implernent ihe give
C S C
01 11 10 BC
A00
1 10
1
S ABCn+ABCin+ABC +ABC,
(a) i u t h table
Cout An+ BC,
(6) R-maps AB
-ANDgo
ABCin
ABCn
ABC
ABC
AB
AC
BC
(c)
S Out
L
Implementation of full-adder Unused
G, =
m(2, 3, 4, 5)
E m(1, 2. 5, 6)
G, =
G-8,8,88
G,B
Binary Gray
B B 2
0 B,
G,B,B, B,B,
(b) K-map
(Cona.)
(a) Conversion table code
converter
binary-to-Gray
Figure 8.17 PLA as a
3-bit
Example
anple 8.8. Use ot
8.8:
'14o
480 FUNDAMENTALS OF DIGITAL CIACUITS
f1 4 o
B,8
B,B2
B,8
(c) Implementation
igure 8.17 Example 8.8: Use of PLA G
as a 3-bit
binary-to-Gray code converle.
P
Polarity fuse
-**
intact
O P,+ P2+ Pa
D
Polarity fuse blown
Q =
P, +Pz+P
=
P, P2 Pa
Polarity
tuse
A Prográmming Table
it iS marked as a- ash).
marked with
aLJt
(dash) specifies a
of the AND AND gate
in the input of an
wariable to the input It IS assumed that an open terminal
between the
A N D and
terms that are included in the function.
The paths with Is for those product of the AND
a r e marked a path from the output
variables requires
The output I in the output
c o l u m n
It is assumed
term that has
a a blown fuse.
Each product with a - (dash) specify dictates
Those marked
the OR gate. a T (true) output
of like O. Finally,
gate to the input
a
OR gate behaves and a C (complemen)
terminal in the input of a n connected to 0,
that an open X-OR gate be
other of the corresponding
input
tnat
the terms. and
the
a connection to 1. the number of product
Specifies number of inputs, PLA
PLA is specified by
the
outputs the
internal logic of the
Size of
ne a
terms, and m
number For n inputs, k product and m A-OR gates.
uputs. AND gates, m OR gates,
butfer inverter gates, k
functions
ne implementation of the Boolean
F AB+A +
BC 8.19b
F = AC +
unit
unit as
as was
g
done in Fi1gu 8.19b. All that is be
ve PLA Can required logic. investigation
must
supply the
careful
to PLA, finite
has a
grammed circuit with
a
terms.
Since a
PLA
of distinct
function
number Boolean are
berin the each vanables
ber of t simplified
not be
ms, The n D e r of literals in
should
a term is function that
terms
able
uhie any way. Both the ue a n d the complement ofeach provides
product
ich one tru terms
which
and
one
are can be
be exprec fewer product
Omm exP
non to other
other functions.
to
with a
482 FUNDAMENTALS OF DIGITAL CIRCUITS
AB
AC
ABC
3C
B BC C
AB+AC +BC
=
Considering the ls ofF, (AB+ AC +BC)
AT)=ABC+ AB+AC
PROGRAMMABLE LOGIC DEVICES 483
the
Oso f
Considernng
F= ABC + +
Theretore,
FC) = AB+ AB+
EC.F.(T), F,(C), the combination that gives the minimum number of product
bmo f
F,(T)
F (T) =
AB + AC + ABC
distinct terms: AB, AC, and BC and ABC. The PLA programming table for
Thisg i v e s f o u r
AB+ AC + BC
AC+BC+ ABB F, =
F(T) =
00 01 10
00 01 11 10
ABC+
AB+ AC
Fa
AB+ A C AB +AC
F2(T) =
ABC+
Fa(C)=ABC
K-map
1or F2
(b) K-maps.
8.9:
Example
8.20
Figure
Outpuls
Inpuls
Product tefm
A B C
(C) (
Fi
AB
ABC table
(Conta)
programming
a n dfuse
map
PLA table
(a) Programming
8.9:
Example
Figure 21