These slides incorporate figures from Digital Design

These slides incorporate figures from Digital Design
Principles and Practices, third edition, by John F.
Wakerly, Copyright 2000, and are used by permission.
NO permission is given to re-use or publish these
figures, in either original or modified form, in printed,
electronic or any other format.
Slide Set 13
Random access memory
Read-Only Memories
• Program storage
– Boot ROM for personal computers
– Complete application storage for embedded systems.
Two-dimensional decoding
Modern chips use transistors to pull down lines:
Larger example, 32Kx8 ROM
Typical commercial EEPROMs
Microprocessor EPROM application
and I/O
ROM timing
Read/Write Memories
• a.k.a. “RAM” (Random Access Memory)
• Volatility
– Most RAMs lose their memory when power is
– NVRAM = RAM + battery
– Or use EEPROM
• SRAM (Static RAM)
– Memory behaves like latches or flip-flops
• DRAM (Dynamic Memory)
– Memory lasts only for a few milliseconds
– Must “refresh” locations by reading or writing
SRAM operation
• Individual bits are D latches, not
edge-triggered D flip-flops.
– Fewer transistors per cell.
• Implications for write operations:
– Address must be stable before writing cell.
– Data must be stable before ending a write.
control lines
• Chip select
• Output enable
• Write enable
SRAM read timing
• Similar to ROM read timing
SRAM write timing
• Address must be stable before and after
write-enable is asserted.
• Data is latched on trailing edge of (WE & CS).
Bidirectional data in and out pins
• Use the same data pins for reads and writes
– Especially common on wide devices
– Makes sense when used with microprocessor
buses (also bidirectional)
memory read (assuming CS_L is always asserted):
load MAR from bus appears
load MAR from bus disappears
OE_L asserted
load MBR from memory appears
load MBR disappears
OE_L disappears
MAR has memory address
MBR has data
memory write (assuming CS_L is always asserted):
load MAR from bus appears
load MBR from bus appears
enable MBR to memory appears
load MAR from BUS disappears
WE_L appears
load MBR disappears
WE_L disappears
MBR has data
MAR has memory address
SRAM devices
• Similar to ROM packages
28-pin DIPs
32-pin DIPs
• Use latch-type SRAM
cells internally
• Put registers in front of
address and control
(and maybe data) for
easier interfacing with
synchronous systems
at high speeds
• E.g., Pentium cache
DRAM (Dynamic RAMs)
• SRAMs typically use six transistors per bit of
• DRAMs use only one
transistor per bit:
• 1/0 = capacitor
DRAM read operations
– Precharge bit line to VDD/2.
– Take the word line HIGH.
– Detect whether current flows into or out of the cell.
– Note: cell contents are destroyed by the read!
– Must write the bit value back after reading.
DRAM write operations
– Take the word line HIGH.
– Set the bit line LOW or HIGH to store 0 or 1.
– Take the word line LOW.
– Note: The stored charge for a 1 will eventually leak off.
DRAM charge leakage
• Typical devices require each cell to be
refreshed once every 4 to 64 mS.
• During “suspended” operation, notebook
computers use power mainly for DRAM refresh.
DRAM-chip internal organization
64K x 1
multiplex 16-bit address
as 8-bit row selector
and 8-bit column selector
RAS/CAS operation
• Row Address Strobe, Column Address Strobe
– n address bits are provided in two steps using n/2
pins, referenced to the falling edges of RAS_L and
– Traditional method of DRAM operation for 20 years.
– Now being supplanted by synchronous, clocked
interfaces in SDRAM (synchronous DRAM).
DRAM read timing
DRAM refresh timing
DRAM write timing