![Page 1: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/1.jpg)
PLA Page 1
ECEn 224
PLAs
Programmable Logic Arrays
![Page 2: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/2.jpg)
PLA Page 2
ECEn 224
PLAs Objectives
• Explain the operation of a PLA
• Use a PLA to implement a logic network
• Given a PLA design, determine the logic functions implemented
![Page 3: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/3.jpg)
PLA Page 3
ECEn 224
Programmable Logic Array (PLA)
...
n Input Lines
ANDArray
...
m Outputs Lines
.
.
.OR
Array
k Word Lines
![Page 4: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/4.jpg)
PLA Page 4
ECEn 224
PLA AND-OR Equivalent
F1 = AB’+ C
F2 = A’C’ + BC
F3 = AB’ + A’C’
F4 = A’C’ + BC + AB’C
ANDArray
ORArray
AB'
C
A'C'
BC
AB'C
CBA
F1
F2
F3
F4
Note: Not every minterm is available
![Page 5: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/5.jpg)
PLA Page 5
ECEn 224
ProductI nput
(Actual)I nput
(Specified) OutputsTerm A A' B B' C C' A B C F1 F2 F3 F4
AB' 1 0 0 1 0 0 1 0 - 1 0 1 0C 0 0 0 0 1 0 - - 1 1 0 0 0
A'C' 0 1 0 0 0 1 0 - 0 0 1 1 1BC 0 0 1 0 1 0 - 1 1 0 1 0 1
AB'C 1 0 0 1 1 0 1 0 1 0 0 0 1
PLA Table Generation
F1 = AB’+ C
F2 = A’C’ + BC
F3 = AB’ + A’C’
F4 = A’C’ + BC + AB’C
![Page 6: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/6.jpg)
PLA Page 6
ECEn 224
+ V
+ V + V
+ V
+ V
A B C
A' B' C'
F1
F2
F3
F4
AB'
CA'C'
BC
AB'C
Internal PLA Structure
Outputs
Inputs
![Page 7: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/7.jpg)
+ V
+ V + V
+ V
+ V
A B C
A' B' C'
F1
F2
F3
F4
AB'
CA'C'
BC
AB'C
PLA Page 7
ECEn 224
Internal PLA Structure
Outputs
Inputs
The AND plane lines get pulled up to +V
![Page 8: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/8.jpg)
PLA Page 8
ECEn 224
+ V
+ V + V
+ V
+ V
A B C
A' B' C'
F1
F2
F3
F4
AB'
CA'C'
BC
AB'C
Internal PLA Structure
The AND plane lines stay at +V unless oneof the connected inputs pulls it low.
0
Outputs
Inputs
![Page 9: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/9.jpg)
PLA Page 9
ECEn 224
+ V
+ V + V
+ V
+ V
A B C
A' B' C'
F1
F2
F3
F4
AB'
CA'C'
BC
AB'C
Internal PLA Structure
The AND plane lines stay at +V unless oneof the connected inputs pulls it low.
1
Outputs
Inputs
![Page 10: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/10.jpg)
PLA Page 10
ECEn 224
+ V
+ V + V
+ V
+ V
A B C
A' B' C'
F1
F2
F3
F4
AB'
CA'C'
BC
AB'C
Internal PLA Structure
The OR plane lines get pulled down to Ground
Outputs
Inputs
![Page 11: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/11.jpg)
PLA Page 11
ECEn 224
+ V
+ V + V
+ V
+ V
A B C
A' B' C'
F1
F2
F3
F4
AB'
CA'C'
BC
AB'C
Internal PLA Structure
The OR plane lines get pulled down to Ground
Outputs
Inputs
![Page 12: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/12.jpg)
PLA Page 12
ECEn 224
+ V
+ V + V
+ V
+ V
A B C
A' B' C'
F1
F2
F3
F4
AB'
CA'C'
BC
AB'C
Internal PLA Structure
The OR plane lines stay at GND unless oneof the AND plane lines pulls it high.
Outputs
Inputs
![Page 13: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/13.jpg)
PLA Page 13
ECEn 224
+ V
+ V + V
+ V
+ V
A B C
A' B' C'
F1
F2
F3
F4
AB'
CA'C'
BC
AB'C
Internal PLA Structure
The OR plane lines stay at GND unless oneof the AND plane lines pulls it high.
Outputs
Inputs
![Page 14: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/14.jpg)
PLA Page 14
ECEn 224
+ V
+ V + V
+ V
+ V
A B C
A' B' C'
F1
F2
F3
F4
AB'
CA'C'
BC
AB'C
Internal PLA Structure
The OR plane lines stay at GND unless oneof the AND plane lines pulls it high.
Outputs
Inputs
![Page 15: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/15.jpg)
PLA Page 15
ECEn 224
+ V
+ V + V
+ V
+ V
A B C
A' B' C'
F1
F2
F3
F4
AB'
CA'C'
BC
AB'C
Internal PLA Structure
The OR plane lines stay at GND unless oneof the AND plane lines pulls it high.
Outputs
Inputs
![Page 16: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/16.jpg)
PLA Page 16
ECEn 224
Another PLA Representation
Outputs
Inputs
AB'
C
A'C'
BC
AB'C
CBA
F1
F2
F3
F4
![Page 17: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/17.jpg)
PLA Page 17
ECEn 224
Programmable Logic Array (PLA)
• All inputs and inverted inputs available• Limited number of AND functions
– This is the biggest difference between a ROM and a PLA
• Complete choice of inputs and inverted inputs for each AND function
• OR function for each output• Complete choice of AND functions for
each OR function (output)
![Page 18: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/18.jpg)
PLA Page 18
ECEn 224
PLA Example
Implement these equations:X = ABC + B’D’ + AB’D + C’D’Y = BC + D’Z = CD + B’D’ + A’BC
in this PLA:CBA D
X Y Z
6 terms or ANDplane lines
8 terms
1 2 3 4
5 6
7 2 8
How can we implement 8 product terms with 6 AND plane lines?
![Page 19: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/19.jpg)
PLA Page 19
ECEn 224
PLA Example
Implement these equations:X = ABC + B’D’ + AB’D + C’D’Y = BC + D’Z = CD + B’D’ + A’BC
A B X A B Y A B Z
C D 00 01 11 10 C D 00 01 11 10 C D 00 01 11 10
00 00 00
01 01 01
11 11 11
10 10 10
![Page 20: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/20.jpg)
PLA Page 20
ECEn 224
PLA Example
Implement these equations:X = ABC + B’D’ + AB’D + C’D’Y = BC + D’Z = CD + B’D’ + A’BC
A B X A B Y A B Z
C D 00 01 11 10 C D 00 01 11 10 C D 00 01 11 10
00 1 1 1 1 00 00
01 1 01 01
11 1 1 11 11
10 1 1 1 10 10
![Page 21: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/21.jpg)
PLA Page 21
ECEn 224
PLA Example
Implement these equations:X = ABC + B’D’ + AB’D + C’D’Y = BC + D’Z = CD + B’D’ + A’BC
A B X A B Y A B Z
C D 00 01 11 10 C D 00 01 11 10 C D 00 01 11 10
00 1 1 1 1 00 1 1 1 1 00
01 1 01 01
11 1 1 11 1 1 11
10 1 1 1 10 1 1 1 1 10
![Page 22: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/22.jpg)
PLA Page 22
ECEn 224
PLA Example
Implement these equations:X = ABC + B’D’ + AB’D + C’D’Y = BC + D’Z = CD + B’D’ + A’BC
A B X A B Y A B Z
C D 00 01 11 10 C D 00 01 11 10 C D 00 01 11 10
00 1 1 1 1 00 1 1 1 1 00 1 1
01 1 01 01
11 1 1 11 1 1 11 1 1 1 1
10 1 1 1 10 1 1 1 1 10 1 1 1
![Page 23: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/23.jpg)
A B X A B Y A B Z
C D 00 01 11 10 C D 00 01 11 10 C D 00 01 11 10
00 1 1 1 1 00 1 1 1 1 00 1 1
01 1 01 01
11 1 1 11 1 1 11 1 1 1 1
10 1 1 1 10 1 1 1 1 10 1 1 1
PLA Page 23
ECEn 224
PLA Example
C’D’ is in X and Y and looks useful
![Page 24: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/24.jpg)
B’D’ is in all three functions
PLA Page 24
ECEn 224
PLA Example
C’D’ is in X and Y and looks useful
A B X A B Y A B Z
C D 00 01 11 10 C D 00 01 11 10 C D 00 01 11 10
00 1 1 1 1 00 1 1 1 1 00 1 1
01 1 01 01
11 1 1 11 1 1 11 1 1 1 1
10 1 1 1 10 1 1 1 1 10 1 1 1
![Page 25: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/25.jpg)
PLA Page 25
ECEn 224
PLA Example
C’D’ is in X and Y and looks useful
B’D’ is in all three functions
A’BC and ABC cover a lot of minterms
A B X A B Y A B Z
C D 00 01 11 10 C D 00 01 11 10 C D 00 01 11 10
00 1 1 1 1 00 1 1 1 1 00 1 1
01 1 01 01
11 1 1 11 1 1 11 1 1 1 1
10 1 1 1 10 1 1 1 1 10 1 1 1
![Page 26: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/26.jpg)
B’D’ is in all three functions
PLA Page 26
ECEn 224
PLA Example
C’D’ is in X and Y and looks useful
The only ones left are AB’ and CD
A’BC and ABC cover a lot of minterms
A B X A B Y A B Z
C D 00 01 11 10 C D 00 01 11 10 C D 00 01 11 10
00 1 1 1 1 00 1 1 1 1 00 1 1
01 1 01 01
11 1 1 11 1 1 11 1 1 1 1
10 1 1 1 10 1 1 1 1 10 1 1 1
![Page 27: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/27.jpg)
PLA Page 27
ECEn 224
PLA Example
X = C’D’ + B’D’ + AB’ + ABCY = C’D’ + B’D’ + ABC + A’BCZ = B’D’ + CD + A’BC
A B X A B Y A B Z
C D 00 01 11 10 C D 00 01 11 10 C D 00 01 11 10
00 1 1 1 1 00 1 1 1 1 00 1 1
01 1 01 01
11 1 1 11 1 1 11 1 1 1 1
10 1 1 1 10 1 1 1 1 10 1 1 1
All of the functions are covered using only 6 product terms
How is this possible?
![Page 28: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/28.jpg)
PLA Page 28
ECEn 224
PLA Example
X = C’D’ + B’D’ + AB’ + ABCY = C’D’ + B’D’ + ABC + A’BCZ = B’D’ + CD + A’BC
Product I nput OutputTerm A B C D X Y Z
C'D'B'D'AB'ABCA'BCCD
![Page 29: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/29.jpg)
PLA Page 29
ECEn 224
PLA Example
X = C’D’ + B’D’ + AB’ + ABCY = C’D’ + B’D’ + ABC + A’BCZ = B’D’ + CD + A’BC
Product I nput OutputTerm A B C D X Y Z
C'D' - - 0 0B'D' - 0 - 0AB' 1 0 - -ABC 1 1 1 -A'BC 0 1 1 -CD - - 1 1
![Page 30: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/30.jpg)
PLA Page 30
ECEn 224
PLA Example
X = C’D’ + B’D’ + AB’ + ABCY = C’D’ + B’D’ + ABC + A’BCZ = B’D’ + CD + A’BC
Product I nput OutputTerm A B C D X Y Z
C'D' - - 0 0 1 1 0B'D' - 0 - 0 1 1 1AB' 1 0 - - 1 0 0ABC 1 1 1 - 1 1 0A'BC 0 1 1 - 0 1 1CD - - 1 1 0 0 1
![Page 31: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/31.jpg)
PLA Page 31
ECEn 224
PLA ExampleX = C’D’ + B’D’ + AB’ + ABC
Y = C’D’ + B’D’ + ABC + A’BC
Z = B’D’ + CD + A’BC
Product I nput OutputTerm A B C D X Y Z
C'D' - - 0 0 1 1 0B'D' - 0 - 0 1 1 1AB' 1 0 - - 1 0 0ABC 1 1 1 - 1 1 0A'BC 0 1 1 - 0 1 1CD - - 1 1 0 0 1
CBA D
X Y Z
![Page 32: PLA Page 1 ECEn 224 PLAs Programmable Logic Arrays](https://reader036.vdocument.in/reader036/viewer/2022062715/56649d765503460f94a56f6f/html5/thumbnails/32.jpg)
PLA Page 32
ECEn 224
Summary
• Explain the operation of a ROM
• Use a ROM to implement a logic network
• Explain the operation of a PLA
• Use a PLA to implement a logic network
• Given a PLA design, determine the logic functions implemented