PLD&Memory
PLD&Memory
Memory &
Programmable Logic Devices
1
Memory
▪ Memory: A collection of cells capable of storing binary
information (1s or 0s) – in addition to electronic circuit
for storing (writing) and retrieving (reading) information.
n data
input lines
n
k
k address lines Memory unit
2k words
• n data lines (input/output) n bits per word
Read/Write
• k address lines
• 2k words (data unit) n
• Read/Write Control n data
• Memory size = 2k X n output lines
Memory
Two Types of Memory:
2
Types of Memories
◼ In random-access memory, the word locations may be
thought of as being separated in space, with each word
occupying one particular location.
Types of Memories
◼ In a random-access memory, the access time is always
the same regardless of the particular location of the
word.
3
Programmable Logic Devices
▪ Programmable Logic Device (PLD) is an integrated
circuit with internal logic gates and/or connections that
can in some way be changed by a programming
process
▪ Examples:
❖ PROM
❖ Programmable Logic Array (PLA)
❖ Programmable Array Logic (PAL) device
❖ Complex Programmable Logic Device (CPLD)
❖ Field-Programmable Gate Array (FPGA)
▪ A PLD’s function is not fixed
▪ Can be programmed to perform different functions
Why PLDs?
▪ Fact:
❖ It is most economical to produce an IC in large volumes
▪ But:
❖ Many situations require only small volumes of ICs
❖ Many situations require changes to be done in the field, e.g.
Firmware of a product under development
4
PLD Hardware Programming Technology
▪ In the Factory - Cannot be erased/reprogrammed by
user
❖ Mask programming (changing the VLSI mask) during
manufacturing
▪ Programmable only once
❖ Fuse
❖ Anti-fuse
▪ Reprogrammable (Erased & Programmed many times)
❖ Volatile - Programming lost if chip power lost
• Single-bit storage element
❖ Non-Volatile - Programming survives power loss
• UV Erasable
• Electrically Erasable
• Flash (as in Flash Memory)
Digital Logic & Computer Design
by M. Morris Mano 9
5
Programmable Logic Devices
Fuses Fused
Fixed programmable
Inputs Outputs
AND array OR array
Fuses Fused
Fixed
Inputs programmable Outputs
OR array
AND array
x1 x1 = A.B
x2 x2 = A’.B
x3 x3 = A.B’
6
Read-Only Memory (ROM)
▪ A device in which “permanent” binary information is
stored using a special device (programmer)
k inputs 2k x n n outputs
(address) ROM (data)
0 1-word data
1
Addresses 2
3
:
: : 1-bit data
: :
:
n
word size
7
Read-Only Memory (ROM)
▪ Different types of ROM devices available:
❖ ROM: Read-Only Memory
Data written into memory by mask programming during
manufacturing time. Expensive start-up cost but economical for
high volume. Cannot be erased after data are programmed in.
❖ PROM: Programmable ROM
Semi-custom chip. Fuses can be broken by special hardware
programmer unit. Cost-effective for low volumes. Cannot be
erased after programming.
8
Programming a ROM
9
Programmable Read-Only Memory (PROM)
I0 X X X X
AND array
X X X X
Fixed
I1 X X X X
X X X X
I2 X X X X
X X X X
Programmable
O1
OR array
O2
. .
Ok
m0 m1 m2 m3 m4 m5 m6 m7
Minterms
F1 F2 F3 F4
10
Realising Logic Functions with PROMs
▪ Example (8 x 3 ROM):
f1(A,B,C) = A.B + B’.C
f2(A,B,C) = (A+B’+C).(A’+B)
f3(A,B,C) = A + B.C
C X X X X
AND array
X X X X
Fixed
B X X X X
X X X X
A X X X X
X X X X
Programmable
X X X X f1 = S m(1,5,6,7)
OR array
X X X X X f2 = S m(0,1,3,6,7)
X X X X X f3 = S m(3,4,5,6,7)
m0 m1 m2 m3 m4 m5 m6 m7
Minterms
11
Realising Logic Functions with PROMs
Minterms
Address
input
C 0
3x8 1
B 2
A decoder 3
4
5
6
7
8 x 3 ROM
0: 0 1 0
1: 1 1 0
2: 0 0 0
3: 0 1 1
4: 0 0 1 f1 = Sm(1,5,6,7) f3 = Sm(3,4,5,6,7)
5: 1 0 1
f2 = Sm(0,1,3,6,7)
6: 1 1 1
7: 1 1 1
12
Combinational Circuit Implementation with ROM
Example: Design a combinational circuit using ROM. The
circuit accepts a 3-bit number and generates an output
binary number equal to the square of the number.
0 B1
13
Sequential Circuit Implementation with ROM
14
Programmable Logic Array (PLA)
▪ Combination of a programmable AND array followed by
a programmable OR array.
▪ Example: Design a PLA to realise the following three
logic functions and show the internal connections.
f1(A,B,C,D,E) = A’.B’.D’ + B’.C.D’ + A’.B.C.D.E’
f2(A,B,C,D,E) = A’.B.E + B’.C.D’.E
f3(A,B,C,D,E) = A’.B’.D’ + B’.C’.D’.E + A’.B.C.D
B
X X X X
AND array
C X X X X
X
D X X
X X X X
E X X X
X
Programmable
OR array
A'.B'.D'XB'.C.DX' A'.BX.C.D.E' f1
X X f2
X X X f3
P1 P2 P3 P4 P5 P6 P7
A'B'D' A'BCDE' B'CD'E A'BCD
B'CD' A'BE B'C'D'E
Digital Logic & Computer Design
by M. Morris Mano 30
15
Random Access Memory (RAM)
▪ A memory unit stores binary information in groups of bits
called words.
▪ The data consists of n lines (for n-bit words). Data input
lines provide the information to be stored (written) into
the memory, while data output lines carry the
information out (read) from the memory.
▪ The address consists of k lines which specify which
word (among the 2k words available) to be selected for
reading or writing.
▪ The control lines Read and Write (usually combined into
a single control line Read/Write) specifies the direction
of transfer of the data.
RAM Architecture
16
Random Access Memory (RAM)
▪ Content of a 1024 x 16-bit memory:
Memory address
binary decimal Memory content
0000000000 0 1011010111011101
0000000001 1 1010000110000110
0000000010 2 0010011101110001
: : :
: : :
1111111101 1021 1110010101010010
1111111110 1022 0011111010101110
1111111111 1023 1011000110010101
17
Random Access Memory (RAM)
▪ The Read/Write operation:
Select
Select
R
Read/Write
Read/Write
18
Random Access Memory (RAM)
▪ Logic construction of a 4 x 4 RAM (with decoder and OR
gates):
19
Random Access Memory (RAM)
▪ An array of RAM chips: memory chips are combined to
form larger memory.
▪ A 1K x 8-bit RAM chip:
RAM 1K x 8
S0 0 1024 – 2047
1 DATA (8) (8)
S1 2 ADRS (10)
3 CS
1K x 8
RW
2048 – 3071
Read/write DATA (8) (8)
ADRS (10)
CS
1K x 8
RW
3072 – 4095
DATA (8)
▪ 4K x 8 RAM
(8)
ADRS (10)
CS
1K x 8 Output
RW
data
Digital Logic & Computer Design
by M. Morris Mano 40
20
The End
41
21