Ch7-Memory Programmable Logic
Ch7-Memory Programmable Logic
1
Introduction
There are two types of memories that are used in digital
systems:
• Random-access memory(RAM): perform both the write
and read operations.
• Read-only memory(ROM): perform only the read
operation.
The read-only memory is a programmable logic device.
Other such units are Programmable Logic Array(PLA),
Programmable Array Logic(PAL), and Field-
programmable Gate Array(FPGA).
2
Array logic
• A typical programmable logic device may have hundreds to
millions of gates interconnected through hundreds to
thousands of internal paths.
• In order to show the internal logic diagram in a concise
form, it is necessary to employ a special gate symbology
applicable to array logic.
3
4
Random-Access Memory
• A memory unit stores binary information in groups of bits called words.
• The communication between a memory and its environment is achieved
through data input and output lines, address selection lines, and control
lines that specify the direction of transfer.
4
5
Content of a memory
• Each word in memory is
assigned an identification
number, called an address,
starting from 0 up to 2k-1,
where k is the number of
address lines.
• The number of words in a
memory with one of the
letters K=210, M=220, or
G=230.
64K = 216 2M = 221
4G = 232 5
Types of memories
7
Dynamic RAM
8
Dynamic RAM
9
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
10
Read-Only Memory (ROM)
12
Read-Only Memory (ROM)
• Design 8 x 4 ROM
13
Read-Only Memory (ROM)
3x8
• 8 x 4 ROM Decoder
Address Data 0
0 0 0 0000 1
0 0 1 1101 2
A2 I2
0 1 0 0011 3
A1 I1
0 1 1 1000 4
A0 I0
1 0 0 1111 5
1 0 1 1001 6
1 E 7
1 1 0 0111
1 1 1 0000
D3 D2 D1 D0
0 no connection
1 connection
14
Example
15
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)
16
Types of ROMs
17