You are on page 1of 7

ELEC 261

Digital Logic Design

Lecture 23.
Read-Only Memories & Programmable Logic Arrays

Read-Only Memories
Memory is like an array of mailboxes (registries of binary data)
A stored array of binary data which can be read only, but not changed
In general, 2n m ROM

I/P lines

O/P lines

words*
each
bits long

For each combination of inputs on the n input lines, the corresponding pattern
of 0s and 1s (a word) is generated on the m output lines
- typical sizes range from (32 words x 4 bits) to (512K words x 8 bits) or larger

ROM Realization of Logic Functions


A B C F0 F1 F2 F3
A
B
C

ROM
8 words
x 4 bits

F0 F1 F2 F3

a. Block diagram

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

b. Truth table for ROM

F0 =
F1 =

= A'B' + AC
= B + AC

F2 =
F3 =

= A'B' + BC
= AC + B

ROM Realization of Logic Functions


ROM consists of a decoder and a memory array.
When a particular input sequence is applied to the n decoder inputs, exactly
one of the 2n outputs is set to 1. This output line selects one of the words in
the memory array.
decoder outputs mi
are consecutive
minterms
ROM outputs Fi
are generated by
ORing selected
minterms
Switching elements
pass 1 to output,
otherwise resistors
at the top set
output to 0
EE280 Lecture 23

23 - 4

Code Conversion Network using ROM


The ROM realizes conversion between BDC (8421) code and Excess-3 code

Decimal Input
digit ABCD

0000

0001

0010

0011

0
1

0100

0101

0110

0111

1000

1001

1010

1011

A
B
C
D

ROM

W
X
Y
Z

Code Conversion Network using ROM


m0
m1
m2
m3
m4
m5
m6
m7
m8
m9
m10
m11
m12
m13
m14
m15

4-line to 16-line
DECODER

A
B
C
D

Output
W

ROM Realization of Logic Functions


Internal structure of a 128 x 1 ROM using two-dimensional decoding
- rectangular form reduces complexity and increases flexibility
- note the inverted decoder, and +5V on ROM output lines

EE280 Lecture 23

23 - 7

ROM Types
Mask-programmable (ROM)
- Permanent programming done at fabrication time
- Diodes blown at factory as per customer order
- Very expensive and therefore feasible only for large quantity orders
Programmable ROM (PROM)
- User programmed after purchase, called field-programmable ROM
(FPROM)
- Reprogrammable by user, erasable by UV emission, called erasable,
programmable ROM (EPROM)
Electrically erasable, programmable ROM (EEPROM)
- User can erase individual words; switching elements can be enabled/disabled
- Can be erased and reprogrammed limited number of times, typically 100 to
1000 times

Programmable Logic Arrays (PLA)


Performs the same basic functions as ROM

ROM

- the inner organization is different


- decoder is replaced with an AND array
and realizes selected product terms of
the input variables
- output functions are realized by OR
array that Ors together the product
terms

- PLA implements SOP expressions, while


ROM implements a truth table

PLA

EE280 Lecture 23

23 - 9

Programmable Logic Arrays (PLA)


PLA with n I/P's and m O/P's can realize
PLA is used instead of ROM when n is large, and number of terms is not large
e.g., if n = 16

Programmable Logic Arrays (PLA)


PLA can be represented by a PLA table

Inputs

Outputs

A B C

f1 f2 f3 f4

AC

0 0

A B

1 0

AC

1 1

BC

0 1

Product terms

PLA - Example
Design PLA that implements
following functions

abd
abd

Programmable Arrays Logic (PAL)


The PAL has many features in common with PROM and PLA
The PAL is a special case of the of the PLA in which the
array is
programmable and the
array is fixed by the manufacturer
Because for PAL only AND array is programmable it is cheaper than PLA; it
is also easier to program and therefore often used

A B

B C

AND gates with 6 inputs


(A, A, B, B, C, C)

You might also like