SDRAM%20Memory%20Controller - PowerPoint PPT Presentation

About This Presentation
Title:

SDRAM%20Memory%20Controller

Description:

Basic Memory Subsystem Block Diagram. Address. Decoder. Word Line ... 3. Cell pulls one line low. 4. Sense amp on column detects difference between bit and bit ... – PowerPoint PPT presentation

Number of Views:304
Avg rating:3.0/5.0
Slides: 22
Provided by: gaetanob
Category:

less

Transcript and Presenter's Notes

Title: SDRAM%20Memory%20Controller


1
SDRAM Memory Controller
  • Static RAM Technology
  • 6T Memory Cell
  • Memory Access Timing
  • Dynamic RAM Technology
  • 1T Memory Cell
  • Memory Access Timing

2
Tri-State Gates
3
Slick Multiplexer Implementation
21 Multiplexer
OUT
IN0
S 0 1
Out IN0 IN1
IN1
S
4
Basic Memory Subsystem Block Diagram
Address Decoder
Word Line
Memory cell
2n word lines
what happensif n and/or m isvery large?
n Address Bits
m Bit Lines
5
Static RAM Cell
word
6-Transistor SRAM Cell
word (row select)
0
1
1
0
bit
bit
  • Write
  • 1. Drive bit lines (bit1, bit0)
  • 2. Select row
  • Read
  • 1. Precharge bit and bit to Vdd or Vdd/2 gt make
    sure equal!
  • 2.. Select row
  • 3. Cell pulls one line low
  • 4. Sense amp on column detects difference between
    bit and bit

bit
bit
replaced with pullup to save area
6
Typical SRAM Organization 16-word x 4-bit
Din 0
Din 1
Din 2
Din 3
WrEn
Precharge
A0
Word 0
SRAM Cell
SRAM Cell
SRAM Cell
SRAM Cell
A1
Address Decoder
A2
Word 1
SRAM Cell
SRAM Cell
SRAM Cell
SRAM Cell
A3




Word 15
SRAM Cell
SRAM Cell
SRAM Cell
SRAM Cell
Dout 0
Dout 1
Dout 2
Dout 3
7
Logic Diagram of a Typical SRAM
  • Write Enable is usually active low (WE_L)
  • Din and Dout are combined to save pins
  • A new control signal, output enable (OE_L) is
    needed
  • WE_L is asserted (Low), OE_L is disasserted
    (High)
  • D serves as the data input pin
  • WE_L is disasserted (High), OE_L is asserted
    (Low)
  • D is the data output pin
  • Both WE_L and OE_L are asserted
  • Result is unknown. Dont do that!!!

8
Typical SRAM Timing
OE determines direction Hi Write, Lo
ReadWrites are dangerous! Be careful!
Double signaling OE Hi, WE Lo
Write Timing
Read Timing
High Z
D
Data In
Data Out
Data Out
Junk
A
Write Address
Read Address
Read Address
OE_L
WE_L
Write Hold Time
Read Access Time
Read Access Time
Write Setup Time
9
Problems with SRAM
  • Six transistors use up lots of area
  • Consider a Zero is stored in the cell
  • Transistor N1 will try to pull bit to 0
  • Transistor P2 will try to pull bit bar to 1
  • Bit lines are already pre-charged high Are P1
    and P2 really necessary?

Select 1
P1
P2
Off
On
On
On
On
Off
N1
N2
bit 1
bit 0
10
1-Transistor Memory Cell (DRAM)
  • Write
  • 1. Drive bit line
  • 2. Select row
  • Read
  • 1. Precharge bit line to Vdd/2
  • 2. Select row
  • 3. Cell and bit line share charges
  • Minute voltage changes on the bit line
  • 4. Sense (fancy sense amp)
  • Can detect changes of 1 million electrons
  • 5. Write restore the value
  • Refresh
  • 1. Just do a dummy read to every cell

row select
bit
Read is really aread followed bya restoring
write
11
Classical DRAM Organization (Square)
bit (data) lines
r o w d e c o d e r
Each intersection represents a 1-T DRAM Cell
RAM Cell Array
Square keeps the wires short Power and speed
advantages Less RC, faster precharge
anddischarge is faster access time!
word (row) select
Column Selector I/O Circuits
Column Address
row address
  • Row and Column Address together
  • Select 1 bit a time

data
12
DRAM Logical Organization (4 Mbit)
Column Decoder
4 Mbit 22 address bits 11 row address bits
11 col address bits

Data In
D
Sense
Amps I/O
11
R O W D E C O D E R
Bit Line
Data Out
Q
11
A0A10
Address Buffer
(2,048 x 2,048)
Storage
W
ord Line
Cell
  • Square root of bits per RAS/CAS
  • Row selects 1 row of 2048 bits from 2048 rows
  • Col selects 1 bit out of 2048 bits in such a row

13
Logic Diagram of a Typical DRAM
OE_L
WE_L
CAS_L
RAS_L
256K x 8 DRAM
A
D
9
8
  • Control Signals (RAS_L, CAS_L, WE_L, OE_L) are
    all active low
  • Din and Dout are combined (D)
  • WE_L is asserted (Low), OE_L is disasserted
    (High)
  • D serves as the data input pin
  • WE_L is disasserted (High), OE_L is asserted
    (Low)
  • D is the data output pin
  • Row and column addresses share the same pins (A)
  • RAS_L goes low Pins A are latched in as row
    address
  • CAS_L goes low Pins A are latched in as column
    address
  • RAS/CAS edge-sensitive

14
DRAM READ Timing
OE_L
WE_L
CAS_L
RAS_L
  • Every DRAM access begins at
  • Assertion of the RAS_L
  • 2 ways to read early or late v. CAS

D
A
256K x 8 DRAM
9
8
DRAM Read Cycle Time
CAS_L
A
Row Address
Junk
Col Address
Row Address
Junk
Col Address
WE_L
OE_L
D
High Z
Data Out
Junk
Data Out
High Z
Read Access Time
Output Enable Delay
Late Read Cycle OE_L asserted after CAS_L
Early Read Cycle OE_L asserted before CAS_L
15
Early Read Sequencing
  • Assert Row Address
  • Assert RAS_L
  • Commence read cycle
  • Meet Row Addr setup time before RAS/hold time
    after RAS
  • Assert OE_L
  • Assert Col Address
  • Assert CAS_L
  • Meet Col Addr setup time before CAS/hold time
    after CAS
  • Valid Data Out after access time
  • Disassert OE_L, CAS_L, RAS_L to end cycle

16
Sketch of Early Read FSM
Row Address to Memory
FSM Clock?
Setup time met?
Assert RAS_L
Hold time met?
Assert OE_L, RAS_L Col Address to Memory
Setup time met?
Assert OE_L, RAS_L, CAS_L
Hold time met?
Assert OE_L, RAS_L, CAS_L Data Available (better
grab it!)
17
Late Read Sequencing
  • Assert Row Address
  • Assert RAS_L
  • Commence read cycle
  • Meet Row Addr setup time before RAS/hold time
    after RAS
  • Assert Col Address
  • Assert CAS_L
  • Meet Col Addr setup time before CAS/hold time
    after CAS
  • Assert OE_L
  • Valid Data Out after access time
  • Disassert OE_L, CAS_L, RAS_L to end cycle

18
Sketch of Late Read FSM
Row Address to Memory
FSM Clock?
Setup time met?
Assert RAS_L
Hold time met?
Col Address to Memory Assert RAS_L
Setup time met?
Col Address to MemoryAssert RAS_L, CAS_L
Hold time met?
Assert OE_L, RAS_L, CAS_L
Data Available (better grab it!)
19
DRAM WRITE Timing
OE_L
WE_L
CAS_L
RAS_L
  • Every DRAM access begins at
  • The assertion of the RAS_L
  • 2 ways to write early or late v. CAS

A
256K x 8 DRAM
D
9
8
DRAM WR Cycle Time
CAS_L
A
Row Address
Junk
Col Address
Row Address
Junk
Col Address
OE_L
WE_L
D
Junk
Junk
Data In
Data In
Junk
WR Access Time
WR Access Time
Early Wr Cycle WE_L asserted before CAS_L
Late Wr Cycle WE_L asserted after CAS_L
20
Key DRAM Timing Parameters
  • tRAC minimum time from RAS line falling to the
    valid data output.
  • Quoted as the speed of a DRAM
  • A fast 4Mb DRAM tRAC 60 ns
  • tRC minimum time from the start of one row
    access to the start of the next.
  • tRC 110 ns for a 4Mbit DRAM with a tRAC of 60
    ns
  • tCAC minimum time from CAS line falling to valid
    data output.
  • 15 ns for a 4Mbit DRAM with a tRAC of 60 ns
  • tPC minimum time from the start of one column
    access to the start of the next.
  • 35 ns for a 4Mbit DRAM with a tRAC of 60 ns

21
SDRAM Memory Controller
  • Static RAM Technology
  • 6T Memory Cell
  • Memory Access Timing
  • Dynamic RAM Technology
  • 1T Memory Cell
  • Memory Access Timing
Write a Comment
User Comments (0)
About PowerShow.com