DDR and DDR2 SDRAM Controller Compiler User Guide

Total Page:16

File Type:pdf, Size:1020Kb

DDR and DDR2 SDRAM Controller Compiler User Guide DDR and DDR2 SDRAM Controller Compiler User Guide 101 Innovation Drive Software Version: 9.0 San Jose, CA 95134 Document Date: March 2009 www.altera.com Copyright © 2009 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device designations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other countries. All other product or service names are the property of their respective holders. Altera products are protected under numerous U.S. and foreign patents and pending ap- plications, maskwork rights, and copyrights. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera Corporation. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. UG-DDRSDRAM-10.0 Contents Chapter 1. About This Compiler Release Information . 1–1 Device Family Support . 1–1 Features . 1–2 General Description . 1–2 Performance and Resource Utilization . 1–4 Installation and Licensing . 1–5 OpenCore Plus Evaluation . 1–6 Chapter 2. Getting Started Design Flow . 2–1 SOPC Builder Design Flow . 2–1 DDR & DDR2 SDRAM Controller Walkthrough . 2–2 Create Your Top-Level Design . 2–6 Simulate the SOPC Builder Design . 2–6 Compile the SOPC Builder Design . 2–6 Program a Device . 2–8 MegaWizard Plug-In Manager Design Flow . 2–8 DDR & DDR2 SDRAM Controller Walkthrough . 2–9 Simulate the Example Design . 2–17 Compile the Example Design . 2–22 Program a Device . 2–24 Implement Your Design . 2–24 Set Up Licensing . 2–25 Chapter 3. Functional Description Block Description . 3–1 Control Logic . 3–1 Datapath . 3–2 OpenCore Plus Time-Out Behavior . 3–3 Device-Level Description . 3–4 Datapath . 3–4 PLL Configurations . 3–13 DLL Configurations . 3–16 Example Design . 3–16 Constraints . 3–18 Interfaces & Signals . 3–19 Interface Description . 3–19 Signals . 3–28 Parameters . 3–31 Memory . 3–32 Controller . 3–33 Controller Timings . 3–37 Memory Timings . 3–38 Board Timings . 3–39 Project Settings . 3–40 Manual Timings . 3–41 © March 2009 Altera Corporation DDR and DDR2 SDRAM Controller Compiler User Guide iv MegaCore Verification . 3–41 Simulation Testing . 3–41 Hardware Testing . 3–41 Appendix A. Manual Timing Settings Parameters . A–1 Resynchronization . A–4 Resynchronization Registers . A–5 Intermediate Resynchronization Registers . ..
Recommended publications
  • Memory & Devices
    Memory & Devices Memory • Random Access Memory (vs. Serial Access Memory) • Different flavors at different levels – Physical Makeup (CMOS, DRAM) – Low Level Architectures (FPM,EDO,BEDO,SDRAM, DDR) • Cache uses SRAM: Static Random Access Memory – No refresh (6 transistors/bit vs. 1 transistor • Main Memory is DRAM: Dynamic Random Access Memory – Dynamic since needs to be refreshed periodically (1% time) – Addresses divided into 2 halves (Memory as a 2D matrix): • RAS or Row Access Strobe • CAS or Column Access Strobe Random-Access Memory (RAM) Key features – RAM is packaged as a chip. – Basic storage unit is a cell (one bit per cell). – Multiple RAM chips form a memory. Static RAM (SRAM) – Each cell stores bit with a six-transistor circuit. – Retains value indefinitely, as long as it is kept powered. – Relatively insensitive to disturbances such as electrical noise. – Faster and more expensive than DRAM. Dynamic RAM (DRAM) – Each cell stores bit with a capacitor and transistor. – Value must be refreshed every 10-100 ms. – Sensitive to disturbances. – Slower and cheaper than SRAM. Semiconductor Memory Types Static RAM • Bits stored in transistor “latches” à no capacitors! – no charge leak, no refresh needed • Pro: no refresh circuits, faster • Con: more complex construction, larger per bit more expensive transistors “switch” faster than capacitors charge ! • Cache Static RAM Structure 1 “NOT ” 1 0 six transistors per bit 1 0 (“flip flop”) 0 1 0/1 = example 0 Static RAM Operation • Transistor arrangement (flip flop) has 2 stable logic states • Write 1. signal bit line: High à 1 Low à 0 2. address line active à “switch” flip flop to stable state matching bit line • Read no need 1.
    [Show full text]
  • AXP Internal 2-Apr-20 1
    2-Apr-20 AXP Internal 1 2-Apr-20 AXP Internal 2 2-Apr-20 AXP Internal 3 2-Apr-20 AXP Internal 4 2-Apr-20 AXP Internal 5 2-Apr-20 AXP Internal 6 Class 6 Subject: Computer Science Title of the Book: IT Planet Petabyte Chapter 2: Computer Memory GENERAL INSTRUCTIONS: • Exercises to be written in the book. • Assignment questions to be done in ruled sheets. • You Tube link is for the explanation of Primary and Secondary Memory. YouTube Link: ➢ https://youtu.be/aOgvgHiazQA INTRODUCTION: ➢ Computer can store a large amount of data safely in their memory for future use. ➢ A computer’s memory is measured either in Bits or Bytes. ➢ The memory of a computer is divided into two categories: Primary Memory, Secondary Memory. ➢ There are two types of Primary Memory: ROM and RAM. ➢ Cache Memory is used to store program and instructions that are frequently used. EXPLANATION: Computer Memory: Memory plays a very important role in a computer. It is the basic unit where data and instructions are stored temporarily. Memory usually consists of one or more chips on the mother board, or you can say it consists of electronic components that store instructions waiting to be executed by the processor, data needed by those instructions, and the results of processing the data. Memory Units: Computer memory is measured in bits and bytes. A bit is the smallest unit of information that a computer can process and store. A group of 4 bits is known as nibble, and a group of 8 bits is called byte.
    [Show full text]
  • Dual-DIMM DDR2 and DDR3 SDRAM Board Design Guidelines, External
    5. Dual-DIMM DDR2 and DDR3 SDRAM Board Design Guidelines June 2012 EMI_DG_005-4.1 EMI_DG_005-4.1 This chapter describes guidelines for implementing dual unbuffered DIMM (UDIMM) DDR2 and DDR3 SDRAM interfaces. This chapter discusses the impact on signal integrity of the data signal with the following conditions in a dual-DIMM configuration: ■ Populating just one slot versus populating both slots ■ Populating slot 1 versus slot 2 when only one DIMM is used ■ On-die termination (ODT) setting of 75 Ω versus an ODT setting of 150 Ω f For detailed information about a single-DIMM DDR2 SDRAM interface, refer to the DDR2 and DDR3 SDRAM Board Design Guidelines chapter. DDR2 SDRAM This section describes guidelines for implementing a dual slot unbuffered DDR2 SDRAM interface, operating at up to 400-MHz and 800-Mbps data rates. Figure 5–1 shows a typical DQS, DQ, and DM signal topology for a dual-DIMM interface configuration using the ODT feature of the DDR2 SDRAM components. Figure 5–1. Dual-DIMM DDR2 SDRAM Interface Configuration (1) VTT Ω RT = 54 DDR2 SDRAM DIMMs (Receiver) Board Trace FPGA Slot 1 Slot 2 (Driver) Board Trace Board Trace Note to Figure 5–1: (1) The parallel termination resistor RT = 54 Ω to VTT at the FPGA end of the line is optional for devices that support dynamic on-chip termination (OCT). © 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries.
    [Show full text]
  • Solving High-Speed Memory Interface Challenges with Low-Cost Fpgas
    SOLVING HIGH-SPEED MEMORY INTERFACE CHALLENGES WITH LOW-COST FPGAS A Lattice Semiconductor White Paper May 2005 Lattice Semiconductor 5555 Northeast Moore Ct. Hillsboro, Oregon 97124 USA Telephone: (503) 268-8000 www.latticesemi.com Introduction Memory devices are ubiquitous in today’s communications systems. As system bandwidths continue to increase into the multi-gigabit range, memory technologies have been optimized for higher density and performance. In turn, memory interfaces for these new technologies pose stiff challenges for designers. Traditionally, memory controllers were embedded in processors or as ASIC macrocells in SoCs. With shorter time-to-market requirements, designers are turning to programmable logic devices such as FPGAs to manage memory interfaces. Until recently, only a few FPGAs supported the building blocks to interface reliably to high-speed, next generation devices, and typically these FPGAs were high-end, expensive devices. However, a new generation of low-cost FPGAs has emerged, providing the building blocks, high-speed FPGA fabric, clock management resources and the I/O structures needed to implement next generation DDR2, QDR2 and RLDRAM memory controllers. Memory Applications Memory devices are an integral part of a variety of systems. However, different applications have different memory requirements. For networking infrastructure applications, the memory devices required are typically high-density, high-performance, high-bandwidth memory devices with a high degree of reliability. In wireless applications, low-power memory is important, especially for handset and mobile devices, while high-performance is important for base-station applications. Broadband access applications typically require memory devices in which there is a fine balance between cost and performance.
    [Show full text]
  • Semiconductor Memories
    Semiconductor Memories Prof. MacDonald Types of Memories! l" Volatile Memories –" require power supply to retain information –" dynamic memories l" use charge to store information and require refreshing –" static memories l" use feedback (latch) to store information – no refresh required l" Non-Volatile Memories –" ROM (Mask) –" EEPROM –" FLASH – NAND or NOR –" MRAM Memory Hierarchy! 100pS RF 100’s of bytes L1 1nS SRAM 10’s of Kbytes 10nS L2 100’s of Kbytes SRAM L3 100’s of 100nS DRAM Mbytes 1us Disks / Flash Gbytes Memory Hierarchy! l" Large memories are slow l" Fast memories are small l" Memory hierarchy gives us illusion of large memory space with speed of small memory. –" temporal locality –" spatial locality Register Files ! l" Fastest and most robust memory array l" Largest bit cell size l" Basically an array of large latches l" No sense amps – bits provide full rail data out l" Often multi-ported (i.e. 8 read ports, 2 write ports) l" Often used with ALUs in the CPU as source/destination l" Typically less than 10,000 bits –" 32 32-bit fixed point registers –" 32 60-bit floating point registers SRAM! l" Same process as logic so often combined on one die l" Smaller bit cell than register file – more dense but slower l" Uses sense amp to detect small bit cell output l" Fastest for reads and writes after register file l" Large per bit area costs –" six transistors (single port), eight transistors (dual port) l" L1 and L2 Cache on CPU is always SRAM l" On-chip Buffers – (Ethernet buffer, LCD buffer) l" Typical sizes 16k by 32 Static Memory
    [Show full text]
  • Basic Components of a Computer System
    Patricio Bulic´ Basic Components Of a Computer System A Textbook October 14, 2020 Springer Contents 1 Main memory ................................................. 1 1.1 Introduction . .1 1.2 Basics of Digital Circuits: A Quick Review . .3 1.2.1 MOS transistor as a switch . .3 1.2.2 CMOS inverter . .4 1.2.3 Bistable element . .5 1.3 SRAM cell . .6 1.4 DRAM cell . .7 1.4.1 Basic operation of DRAM . .8 1.4.2 Basic operation of sense amplifiers . 10 1.5 DRAM Arrays and DRAM Banks . 11 1.6 DRAM Chips . 13 1.7 Basic DRAM operations and timings . 15 1.7.1 Reading data from DRAM memory . 16 1.7.2 Writing data to DRAM memory . 17 1.7.3 Refreshing the DRAM memory . 18 1.8 Improving the performance of a DRAM chip . 20 1.8.1 Fast Page Mode DRAM . 21 1.8.2 Extended Data Output DRAM . 22 1.9 Synchronous DRAM . 24 1.9.1 Functional description . 25 1.9.2 Basic operations and timings. 28 1.10 Double Data Rate SDRAM . 36 1.10.1 Functional description . 37 1.10.2 DDR SDRAM timing diagrams . 40 1.10.3 Address Mapping . 43 1.10.4 Memory timings: a summary . 44 1.10.5 DDR Versions . 45 1.11 DIMM Modules . 46 1.11.1 Micron DDR4 DIMM module . 49 1.12 Memory channels . 49 v vi Contents 1.12.1 Case study: Intel i7-860 memory . 52 1.12.2 Case study: i9-9900K memory . 53 1.13 Bibliographical notes . 54 References ........................................................
    [Show full text]
  • AN-371, Interfacing RC32438 with DDR SDRAM Memory
    Interfacing the RC32438 with Application Note DDR SDRAM Memory AN-371 By Kasi Chopperla and Harold Gomard Notes Revision History July 3, 2003: Initial publication. October 23, 2003: Added DDR Loading section. October 29, 2003: Added Passive DDR Termination Scheme for Lightly Loaded Systems section. Introduction The RC32438 is a high performance, general-purpose, integrated processor that incorporates a 32-bit CPU core with a number of peripherals including: – A memory controller supporting DDR SDRAM – A separate memory/peripheral controller interfacing to EPROM, flash and I/O peripherals – Two Ethernet MACs – 32-bit v.2.2 compatible PCI interface – Other generic modules, such as two serial ports, I2C, SPI, interrupt controller, GPIO, and DMA. Internally, the RC32438 features a dual bus system. The CPU bus interfaces directly to the memory controller over a 32-bit bus running at CPU pipeline speed. Since it is not possible to run an external bus at the speed of the CPU, the only way to provide data fast enough to keep the CPU from starving is to use either a wider DRAM or a double data rate DRAM. As the memory technology used on PC motherboards transitions from SDRAM to DDR, the steep ramp- up in the volume of DDR memory being shipped is driving pricing to the point where DDR-based memory subsystems are primed to drop below those of traditional SDRAM modules. Anticipating this, IDT opted to incorporate a double data rate DRAM interface on its RC32438 integrated processor. DDR memory requires a VDD/2 reference voltage and combination series and parallel terminations that SDRAM does not have.
    [Show full text]
  • DDR) SDRAM Controller (Pipelined Version) User’S Guide
    ispLever TM CORECORE Double Data Rate (DDR) SDRAM Controller (Pipelined Version) User’s Guide June 2004 ipug12_03 Double Data Rate (DDR) SDRAM Controller Lattice Semiconductor (Pipelined Version) User’s Guide Introduction DDR (Double Data Rate) SDRAM was introduced as a replacement for SDRAM memory running at bus speeds over 75MHz. DDR SDRAM is similar in function to regular SDRAM but doubles the bandwidth of the memory by transferring data twice per cycle (on both edges of the clock signal), implementing burst mode data transfer. The DDR SDRAM Controller is a parameterized core. This allows the user to modify the data widths, burst transfer rates, and CAS latency settings of the design. In addition, the DDR core supports intelligent bank management. By maintaining a database of “all banks activated” and the “rows activated” in each bank, the DDR SDRAM Controller decides if an active or pre-charge command is needed. This effectively reduces the latency of read/write com- mands issued to the DDR SDRAM. Since the DDR SDRAM Controller takes care of activating/pre-charging the banks, the user can simply issue sim- ple read/write commands without regard to the bank/charge status. Features •Performance of Greater than 100MHz (200 DDR) • Interfaces to JEDEC Standard DDR SDRAMs • Supports DDR SDRAM Data Widths of 16, 32 and 64 Bits • Supports up to 8 External Memory Banks • Programmable Burst Lengths of 2, 4, or 8 • Programmable CAS Latency of 1.5, 2.0, 2.5 or 3.0 • Byte-level Writing Supported • Increased Throughput Using Command Pipelining and Bank Management • Supports Power-down and Self Refresh Modes •Automatic Initialization •Automatic Refresh During Normal and Power-down Modes • Timing and Settings Parameters Implemented as Programmable Registers • Bus Interfaces to PCI Target, PowerPC and AMBA (AHB) Buses Available • Complete Synchronous Implementation 2 Double Data Rate (DDR) SDRAM Controller Lattice Semiconductor (Pipelined Version) User’s Guide Figure 1.
    [Show full text]
  • Design and Implementation of High Speed DDR SDRAM Controller on FPGA
    International Journal of Engineering Research & Technology (IJERT) ISSN: 2278-0181 Vol. 4 Issue 07, July-2015 Design and Implementation of High Speed DDR SDRAM Controller on FPGA Veena H K Dr. A H Masthan Ali M.Tech Student, Department of ECE, Associate Professor, Department of ECE, Sambhram Institute of Technology, Bangalore, Sambhram Institute of Technology, Bangalore, Karnataka, India Karnataka, India Abstract — The dedicated memory controller is important is and column. To point to a location in the memory these three the applications in high end applications where it doesn’t are mandatory. The ACTIVE command signal along with contains microprocessors. Command signals for memory registered address bits point to the specific bank and row to be refresh, read and write operation and SDRAM initialisation has accessed. And column is given by READ/WRITE signal been provided by memory controller. Our work will focus on along with the registered address bits that shall point to a FPGA implementation of Double Data Rate (DDR) SDRAM location for burst access. The DDR SDRAM interface makes controller. The DDR SDRAM controller is located in between higher transfer rates possible compared to single data rate the DDR SDRAM and bus master. The operations of DDR (SDR) SDRAM, by more firm control of the timing of the SDRAM controller is to simplify the SDRAM command data and clock signals. Implementations frequently have to use interface to the standard system read/ write interface and also schemes such as phase-locked loops (PLL) and self- optimization of the access time of read/write cycle. The proposed design will offers effective power utilization, reduce the gate calibration to reach the required timing precision [1][2].
    [Show full text]
  • 64M X 16 Bit DDRII Synchronous DRAM (SDRAM) Advance (Rev
    AS4C64M16D2A-25BAN Revision History 1Gb Auto-AS4C64M16D2A - 84 ball FBGA PACKAGE Revision Details Date Rev 1.0 Preliminary datasheet Jan 2018 Alliance Memory Inc. 511 Taylor Way, San Carlos, CA 94070 TEL: (650) 610-6800 FAX: (650) 620-9211 Alliance Memory Inc. reserves the right to change products or specification without notice Confidential - 1 of 62 - Rev.1.0 Jan. 2018 AS4C64M16D2A-25BAN 64M x 16 bit DDRII Synchronous DRAM (SDRAM) Advance (Rev. 1.0, Jan. /2018) Features Overview JEDEC Standard Compliant The AS4C64M16D2A is a high-speed CMOS Double- AEC-Q100 Compliant Data-Rate-Two (DDR2), synchronous dynamic random- JEDEC standard 1.8V I/O (SSTL_18-compatible) access memory (SDRAM) containing 1024 Mbits in a 16-bit wide data I/Os. It is internally configured as a 8- Power supplies: V & V = +1.8V 0.1V DD DDQ bank DRAM, 8 banks x 8Mb addresses x 16 I/Os. The Operating temperature: TC = -40~105°C (Automotive) device is designed to comply with DDR2 DRAM key Supports JEDEC clock jitter specification features such as posted CAS# with additive latency, Fully synchronous operation Write latency = Read latency -1, Off-Chip Driver (OCD) Fast clock rate: 400 MHz impedance adjustment, and On Die Termination(ODT). Differential Clock, CK & CK# All of the control and address inputs are synchronized Bidirectional single/differential data strobe with a pair of externally supplied differential clocks. Inputs are latched at the cross point of differential clocks (CK - DQS & DQS# rising and CK# falling) All I/Os are synchronized with a 8 internal banks for concurrent operation pair of bidirectional strobes (DQS and DQS#) in a source 4-bit prefetch architecture synchronous fashion.
    [Show full text]
  • DDR2 SDRAM SO-DIMM MODULE, 1.8V 512Mbyte - 64MX64 AVK6464U51E5667F0
    DDR2 SDRAM SO-DIMM MODULE, 1.8V 512MByte - 64MX64 AVK6464U51E5667F0 FEATURES JEDEC Standard DDR2 PC2-5300 667MHz - Clock frequency: 333MHz with CAS latency 5 - 256 byte serial EEPROM - Data input and output masking - Programmable burst length: 2, 4, 8 - Programmable burst type: sequential and interleave - Programmable CAS latency: 5 - Auto refresh and self refresh capability - Gold card edge fingers - 8K refresh per 64ms - Low active and standby current consumption - SSTL-2 compatible inputs and outputs - Decoupling capacitors at each memory device - Double-sided module - 1.18 inch height DESCRIPTION The AVK6464U51E5667F0 family consists of Unbuffered DDR2 SDRAM SODIMM memory module. This module is JEDEC-standard 200-pin, small-outline, dual in-line memory module. A 256 byte serial EEPROM on board can be used to store module information such as timing, configuration, density, etc. The AVK6464U51E5667F0 memory module is 512MByte and organized as a 64MX64 array using (8) 32MX16 (4 internal banks) DDR2 SDRAMs in BGA packages. All memory modules are fabricated using the latest technology design, six-layer printed circuit board substrate construction with low ESR decoupling capacitors on-board for high reliability and low noise. PHYSICAL DIMENSIONS 2.661 0.040 256MBit 256MBit 256MBit 256MBit 1.18 32MX8 DDR2 32MX8 DDR2 32MX8 DDR2 32MX8 DDR2 BGA SDRAM BGA SDRAM BGA SDRAM BGA SDRAM 512MBit (8MX16X4) 512MBit (8MX16X4) S 512MBit (8MX16X4) 512MBit (8MX16X4) P 32MX16 DDR2 BGA SDRAM 32MX16 DDR2 BGA SDRAM D 32MX16 DDR2 BGA SDRAM 32MX16 DDR2 BGA SDRAM 0.787 1 199 0.140 All gray ICs are on the top, and all white ICs are on the back side of the modude The SPD EEPROM is populated on the back side of the module BGA Package Avant™ Technology LP.
    [Show full text]
  • DDR SDRAM Controller
    DDR SDRAM Controller October 2002 IP Data Sheet Features ■ Bus Interfaces to PCI Target, PowerPC and ■ AMBA (AHB) Buses Available Performance of Greater than 200MHz in ■ Complete Synchronous Implementation DDR Mode ■ Interfaces to JEDEC Standard DDR General Description SDRAMs ■ Supports DDR SDRAM Data Widths of 16, DDR (Double Data Rate) SDRAM was introduced as a 32 and 64 Bits replacement for SDRAM memory running at bus ■ Supports up to 8 External Memory Banks speeds over 75MHz. DDR SDRAM is similar in function ■ Programmable Burst Lengths of 2, 4, or 8 to the regular SDRAM but doubles the bandwidth of the ■ Programmable CAS Latency of 1.5, 2.0, 2.5 memory by transferring data twice per cycle on both or 3.0 edges of the clock signal, implementing burst mode ■ Byte-level Writing Supported data transfer. ■ Increased Performance Using Command The DDR SDRAM Controller is a parameterized core Pipelining and Bank Management giving user the flexibility for modifying the data widths, ■ Supports Power-down and Self Refresh burst transfer rates, and CAS latency settings of the Modes design. In addition, the DDR core supports intelligent ■ Automatic Initialization bank management, which is done by maintaining a ■ Automatic Refresh During Nomal and database of “all banks activated” and the “rows acti- Power-down Modes vated” in each bank. With this information, the DDR ■ Timing and Settings Parameters SDRAM Controller decides if an active or pre-charge Implemented as Programmable Registers command is needed. This effectively reduces the latency of
    [Show full text]