DDR SDRAM Controller Core DSD Opencores Project 資訊三 B92902069 楊博翔.

Slides:



Advertisements
Similar presentations
Synchronous Static Random Access Memory (SSRAM). Internal Structure of a SSRAM AREG: Address Register CREG: Control Register INREG: Input Register OUTREG:
Advertisements

Outline Memory characteristics SRAM Content-addressable memory details DRAM © Derek Chiou & Mattan Erez 1.
Chapter 5 Internal Memory
Anshul Kumar, CSE IITD CSL718 : Main Memory 6th Mar, 2006.
COEN 180 DRAM. Dynamic Random Access Memory Dynamic: Periodically refresh information in a bit cell. Else it is lost. Small footprint: transistor + capacitor.
Lecture Objectives: 1)Explain the limitations of flash memory. 2)Define wear leveling. 3)Define the term IO Transaction 4)Define the terms synchronous.
Low Power Memory. Quick Start Training Agenda What constitutes low power memory Variations & vendors of low power memory How to interface using CoolRunner-II.
Main Mem.. CSE 471 Autumn 011 Main Memory The last level in the cache – main memory hierarchy is the main memory made of DRAM chips DRAM parameters (memory.
DDR SDRAM Memory Interface. Quick Start Training Agenda Why DDR? DDR vs. SDR Understanding DDR SDRAM – Bus timing CoolRunner-II and DDR SDRAM demo board.
EECS 150 Spring 2007 Checkpoint 0 - SDRAM 2/23/2007 Jeff Kalvass (Adapted From Greg Gibeling )
CS.305 Computer Architecture Memory: Structures Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from slides kindly made.
Chapter 9 Memory Basics Henry Hexmoor1. 2 Memory Definitions  Memory ─ A collection of storage cells together with the necessary circuits to transfer.
DRAM. Any read or write cycle starts with the falling edge of the RAS signal. –As a result the address applied in the address lines will be latched.
1 COMP 206: Computer Architecture and Implementation Montek Singh Wed., Nov. 19, 2003 Topic: Main Memory (DRAM) Organization.
68000 Interface Timing Diagrams Outline –68000 Read Cycle –68000 Write Cycle Goal –Understand bus cycles –Learn how to attach memory, peripherals.
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon., Nov. 18, 2002 Topic: Main Memory (DRAM) Organization – contd.
1 EE365 Read-only memories Static read/write memories Dynamic read/write memories.
Main Memory by J. Nelson Amaral.
8-5 DRAM ICs High storage capacity Low cost Dominate high-capacity memory application Need “refresh” (main difference between DRAM and SRAM) -- dynamic.
Computer Memory Basic Concepts
Memory Technology “Non-so-random” Access Technology:
Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture – Working with DRAM April 3, 2007.
SDRAM Synchronous dynamic random access memory (SDRAM) is dynamic random access memory (DRAM) that is synchronized with the system bus. Classic DRAM has.
Types of RAM By Alysha Gould. TYPES OF RAM SIMM’S DIMM’S DRAM SDRAM RDAM VDRAM.
CSIE30300 Computer Architecture Unit 07: Main Memory Hsin-Chou Chi [Adapted from material by and
Survey of Existing Memory Devices Renee Gayle M. Chua.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL RAM Basics Anselmo Lastra.
Chapter 5 Internal Memory. Semiconductor Memory Types.
Memory /27/081ECE Lecture 13 Memory 2.
EEE-445 Review: Major Components of a Computer Processor Control Datapath Memory Devices Input Output Cache Main Memory Secondary Memory (Disk)
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
Computer Architecture CST 250 MEMORY ARCHITECTURE Prepared by:Omar Hirzallah.
CPEN Digital System Design
Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.
University of Tehran 1 Interface Design DRAM Modules Omid Fatemi
I2C Master Core Simulation Environment. I2C Master Core Requirements Coverage (*) Requirement I2C IP RS-906: The I2C IP shall define the period of time,
Chapter 4: MEMORY Internal Memory.
Modern DRAM Memory Architectures Sam Miller Tam Chantem Jon Lucas CprE 585 Fall 2003.
Dynamic Random Access Memory (DRAM) CS 350 Computer Organization Spring 2004 Aaron Bowman Scott Jones Darrell Hall.
Computer Architecture Lecture 24 Fasih ur Rehman.
How do you model a RAM in Verilog. Basic Memory Model.
Computer Architecture System Interface Units Iolanthe II in the Bay of Islands.
Semiconductor Memory Types
The Evolution of Dynamic Random Access Memory (DRAM) CS 350 Computer Organization and Architecture Spring 2002 Section 1 Nicole Chung Brian C. Hoffman.
COMP541 Memories II: DRAMs
1 Adapted from UC Berkeley CS252 S01 Lecture 18: Reducing Cache Hit Time and Main Memory Design Virtucal Cache, pipelined cache, cache summary, main memory.
D ESIGN AND I MPLEMENTAION OF A DDR SDRAM C ONTROLLER FOR S YSTEM ON C HIP Magnus Själander.
1 Memory Hierarchy (I). 2 Outline Random-Access Memory (RAM) Nonvolatile Memory Disk Storage Suggested Reading: 6.1.
Contemporary DRAM memories and optimization of their usage Nebojša Milenković and Vladimir Stanković, Faculty of Electronic Engineering, Niš.
CS35101 Computer Architecture Spring 2006 Lecture 18: Memory Hierarchy Paul Durand ( ) [Adapted from M Irwin (
10/15: Lecture Topics Input/Output –Types of I/O Devices –How devices communicate with the rest of the system communicating with the processor communicating.
Computer Architecture Chapter (5): Internal Memory
“With 1 MB RAM, we had a memory capacity which will NEVER be fully utilized” - Bill Gates.
Types of RAM (Random Access Memory) Information Technology.
COMP541 Memories II: DRAMs
Chapter 5 Internal Memory
7-5 DRAM ICs High storage capacity Low cost
COMP541 Memories II: DRAMs
William Stallings Computer Organization and Architecture 8th Edition
Computer Architecture
William Stallings Computer Organization and Architecture 8th Edition
AKT211 – CAO 07 – Computer Memory
DRAM Hwansoo Han.
William Stallings Computer Organization and Architecture 8th Edition
Bob Reese Micro II ECE, MSU
(Adapted From Slides by Greg Gibeling)
Presentation transcript:

DDR SDRAM Controller Core DSD Opencores Project 資訊三 B 楊博翔

What is “DDR” ? DDR SDRAM, or simply DDR, is the acronym for Double Data-Rate Synchronous DRAM (SDRAM). DDR SDRAM, or simply DDR, is the acronym for Double Data-Rate Synchronous DRAM (SDRAM). SDRAM used only the rising edge of the clock cycle to transfer data. SDRAM used only the rising edge of the clock cycle to transfer data. DDR SDRAM transfers data on both the rising and falling edge of the clock. DDR SDRAM transfers data on both the rising and falling edge of the clock.

For example… 100MHz 的 SDRAM 利用 DDR 技術處理後 → 200MHz 的 DDR SDRAM 。 (Because clock is shrink to half) 100MHz 的 SDRAM 利用 DDR 技術處理後 → 200MHz 的 DDR SDRAM 。 (Because clock is shrink to half)

Block diagram

Local Bus Signals

DDR SDRAM Interface Signals

SDRAM Bus Commands

CoreDDR Controller Parameters

Primary blocks 1. Control & Timing Block 2. Initialization Control 3. Address Generation 4. Bank Management 5. Refresh Control 6. DDR Data Control

Instruction Timing Initialization Initialization 1.No operation command for 200μs 2.Precharge-all command 3.Load some Register command 4.Precharge-all command 5.2 auto refresh commands 6.Load some Register command 7.Read/write requests held off for 200 clocks

DDR Initialization Sequence

Auto-Refresh SDRAM devices require periodic auto-refresh commands to maintain data integrity. SDRAM devices require periodic auto-refresh commands to maintain data integrity. Occurs when one or more banks have been left open as a result of a read without precharge or write without precharge. Occurs when one or more banks have been left open as a result of a read without precharge or write without precharge. All open banks are closed using the precharge- all command. All open banks are closed using the precharge- all command.

Refresh Timing

Bank Management For each bank, the controller records the last opened row, and whether the bank has been closed. For each bank, the controller records the last opened row, and whether the bank has been closed. If the bank was not closed If the bank was not closed → Use precharge command & use active command to re-open the bank. If the bank was closed If the bank was closed → Controller uses active command to open the bank to the requested row.

SDRAM Writes The user writes to the local bus interface by asserting the w_req signal and driving the starting address and burst size on raddr and b_size. The user writes to the local bus interface by asserting the w_req signal and driving the starting address and burst size on raddr and b_size. auto_pch is asserted with w_req to cause auto_pch is asserted with w_req to cause the write to be issued as a write with auto- precharge.

SDRAM Reads The user reads from the local bus interface by asserting the r_req signal and driving the starting address and burst size on raddr and b_size. The user reads from the local bus interface by asserting the r_req signal and driving the starting address and burst size on raddr and b_size. auto_pch is asserted with r_req to cause auto_pch is asserted with r_req to cause the read to be issued as a read with auto- precharge.

Auto-Precharge If the auto-precharge option is used, the SDRAM device will automatically close (precharge) banks being read from or written to at the end of the transaction. If the auto-precharge option is used, the SDRAM device will automatically close (precharge) banks being read from or written to at the end of the transaction. The user selects whether read or write commands are issued with auto-precharge through the auto_pch signal. The user selects whether read or write commands are issued with auto-precharge through the auto_pch signal.

CoreDDR I/O Signal Diagram

This is Padding… RDRAM vs. DDR SDRAM RDRAM vs. DDR SDRAM DDR → Double Data Rate DDR → Double Data Rate DDR II→ Quad Data Rate RDRAMDDR II SDRAM

感謝台下的諸位能聽完 ~~ 謝謝大家謝謝大家謝謝大家謝謝大家謝謝 大家謝謝大家謝謝大家謝謝大家謝謝大家 謝謝大家謝謝大家謝謝大家謝謝大家謝謝 大家謝謝大家謝謝大家謝謝大家謝謝大家 謝謝大家謝謝大家謝謝大家謝謝大家謝謝 大家謝謝大家謝謝大家謝謝大家謝謝大家 謝謝大家謝謝大家謝謝大家謝謝大家謝謝 大家謝謝大家謝謝大家謝謝大家謝謝大家 謝謝大家謝謝大家謝謝大家謝謝大家~~