0% found this document useful (0 votes)
25 views26 pages

Advanced Digital Electronic Lec2 (Autosaved)

Uploaded by

asia group
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views26 pages

Advanced Digital Electronic Lec2 (Autosaved)

Uploaded by

asia group
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Programmable Logic

PAL, PLA
PLAs
Programmable Logic Array

 Pre-fabricated building block of many


AND/OR gates (or NOR, NAND)
"Personalized" by making/ breaking
connections among the gates.

 General purpose logic building blocks.

2
PLA

Inputs

Dense array of Dense array of


AND gates Product OR gates
terms

Outputs

3
PLA

4
PLA

• A 3×2 PLA with 4 product terms.

5
Design for PLA:
Example
 Implement the following functions using PLA
F0 = A + B' C'
F1 = A C' + A B Input Side:
F2 = B' C' + A B
F3 = B' C + A 1 = asserted in term
0 = negated in term
- = does not participate
Personality Matrix
Product Inputs Outputs
term A B C F0 F1 F2 F3 Output Side:
AB 1 1 - 0 1 1 0 1 = term connected to output
Reuse 0 = no connection to output
BC - 0 1 0 0 0 1
AC 1 - 0 0 1 0 0 of
terms
BC - 0 0 1 0 1 0
A 1 - - 1 0 0 1

6
Example: Continued

F0 = A + B' C'
F1 = A C' + A B
F2 = B' C' + A B
F3 = B' C + A

Personality Matrix
Product Inputs Outputs
term A B C F0 F1 F2 F3
AB 1 1 - 0 1 1 0
BC - 0 1 0 0 0 1 Reuse
AC 1 - 0 0 1 0 0 of
1 0 1 0 terms
BC - 0 0
A 1 - - 1 0 0 1

7
Constants
 Sometimes a PLA output
must be programmed to
be a constant 1 or a
constant 0.
− P1 is always 1
because its product
line is connected to
no inputs and is
therefore always
pulled HIGH;
− this constant-1 term
drives the O1 output.
 No product term drives
the O2 output, which is
therefore always 0.
 Another method of
obtaining a constant-0
output is shown for O3.

8
BCD to Gray Code Converter
A B C D W X Y Z A A
0 0 0 0 0 0 0 0 AB AB
0 0 0 1 0 0 0 1 CD 00 01 11 10 CD 00 01 11 10
0 0 1 0 0 0 1 1 00 0 0 X 1 00 0 1 X 0
0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0
01 0 1 X 1 01 0 1 X 0
0 1 0 1 1 1 1 0
0 1 1 0 1 0 1 0 D D
0 1 1 1 1 0 1 1 11 0 1 X X 11 0 0 X X
1 0 0 0 1 0 0 1 C C
1 0 0 1 1 0 0 0 10 0 1 X X 10 0 0 X X
1 0 1 0 X X X X
1 0 1 1 X X X X B B
1 1 0 0 X X X X
K-map for W K-map for X
1 1 0 1 X X X X
1 1 1 0 X X X X
1 1 1 1 X X X X A A
AB AB
CD 00 01 11 10 CD 00 01 11 10

00 0 1 X 0 00 0 0 X 1

Minimized Functions: 01 0 1 X 0 01 1 0 X 0
D D
11 1 1 X X 11 0 1 X X
W=A+BD+BC C C
X = B C' 10 1 1 X X 10 1 0 X X
Y=B+C
Z = A'B'C'D + B C D + A D' + B' C D' B B
K-map for Y K-map for Z

9
10
A B C D

BD

4 product terms per each OR gate BC

BC’

Product terms cannot be shared !

B
PLA achieves higher flexibility
C
at the cost of lower speed!

BCD

AD’

BCD’

W X Y Z
11
PALs

• Programmable Array Logic


 a fixed OR array.

Inputs

Dense array of Dense array of


AND gates Product OR gates
terms

Outputs

12
PAL
inputs

1st output
section

2nd output Only functions with


section at most four
products can be
implemented
3rd output
section

4th output
section

13
PAL

x
x

W = ABC + CD
X = ABC + ACD + ACD + BCD
Y = ACD + ACD + ABD

14
15
Helper Terms
 If an I/O pin’s output-
control gate produces
a constant 1, → the
output is always
enabled, but the pin
may still be used as
an input too.
 → outputs can be
used to generate first-
pass “helper terms” for
logic functions that
cannot be performed
in a single pass with
the limited number of
AND terms available
for a single output.

16
Read-Only Memory

ROM
ROM
• Decoder
➢ Produces minterms
• ORs 0
1
A‘B’C’D’
A ‘B’C’D
F1
2 A‘B’CD’
➢ Produce SOP’s 3 A‘B’CD
A S3 4 A‘BC’D’
5 A‘BC’D
S2
B 6 A‘BCD’
4:16 7 A‘ BCD
S1 dec
C 8 A B’C’D’ F2
9 A B’C’D
S0 10 A B’CD’
D
11 A B’CD
12 A B C’D’
13 A B C’D
14 A B C D’ F3
15 AB C D

Enb

18
ROM
• ROM
➢ A decoder
D7 X X
➢ A set of programmable D6
X

OR’s D5 X X
D4 X
A A2 D3 X
D2
B A1 D1 X X
A0 D0 X
C

F3 F2 F1 F0

19
ROM vs. PLA/PAL
Fixed Programmable
Inputs Programmable Outputs
AND array
Connections OR array
(decoder)

(a) Programmable read-only memory (PROM)

Programmable Programmable Fixed


Inputs Outputs
Connections AND array OR array

(b) Programmable array logic (PAL) device

Programmable Programmable Programmable Programmable


Inputs Outputs
Connections AND array Connections OR array

(c) Programmable logic array (PLA) device

20
Example
• Find a ROM-based circuit
implementation for:
➢ f(a,b,c) = a’b’ + abc
➢ g(a,b,c) = a’b’c’ + ab + bc
➢ h(a,b,c) = a’b’ + c
• Solution:
➢ Express f(), g(), and h() in m() format
(use truth tables)
➢ Program the ROM based on the 3 m()’s

22
Example
➢ There are 3 inputs and 3 outputs,
thus we need a 8x3 ROM block.
− f = m(0, 1, 7)
− g = m(0, 3, 6, 7)
− h = m(0, 1, 3, 5, 7)
a 0
1
3-to-8 2
b 3
decoder 4
5
c 6
7

f g h
23
ROM as a Memory
• Read Only Memories (ROM) or Programmable
Read Only Memories (PROM) have:
➢ N input lines,
➢ M output lines, and
➢ 2N decoded minterms.
• Can be viewed as a memory with the inputs as
addresses of data (output values),
➢ hence ROM or PROM names!

24
(Memories)
• Volatile:
➢ Random Access Memory (RAM):
− SRAM "static"
− DRAM "dynamic"

• Non-Volatile:
➢ Read Only Memory (ROM):
− Mask ROM "mask programmable"
− EPROM "electrically programmable"
− EEPROM “electrically erasable electrically
programmable"
− FLASH memory - similar to EEPROM with
programmer integrated on chip

25
ROM as Memory
•Read Example: For input (A2,A1,A0) = 011, output is (F0,F1,F2,F3 ) =
0010.
•What are functions F3, F2 , F1 and F0 in terms of (A2, A1, A0)?

Address 8x4 ROM


D0 X X X 0 1 1 0 1
D1
X X
1 0 0 0 0
D2
D3 X 2 1 0 0 1
A A2 D4 X A[2:0] F[3:0]
D5 3 0 0 1 0
B A1 D6 X X
A0 D7 X 3 4 0 0 0 0 4
C
5 1 0 0 0
6 0 0 1 1
7 0 1 0 0
F0 F1 F2 F3
26
Design by ROM: Example
• BCD to 7 Segment Display Controller
ABCD C0 C1 C2 C3 C4 C5 C6
0000 1 1 1 1 1 1 0
0001 0 1 1 0 0 0 0
0010 1 1 0 1 1 0 1
0011 1 1 1 1 0 0 1
0100 0 1 1 0 0 1 1
0101 1 0 1 1 0 1 1
0110 1 0 1 1 1 1 1
0111 1 1 1 0 0 0 0
1000 1 1 1 1 1 1 1
1001 1 1 1 0 0 1 1
1010 X X X X X X X
1011 X X X X X X X
1100 X X X X X X X
1101 X X X X X X X
1110 X X X X X X X
0111 X X X X X X X

27

You might also like