EECS150 - Digital Design Lecture 17 Memory 2

Similar documents
EECS150 - Digital Design Lecture 16 - Memory

Review: Timing. EECS Components and Design Techniques for Digital Systems. Lec 13 Storage: Regs, SRAM, ROM. Outline.

ECE 485/585 Microprocessor System Design

EECS150 - Digital Design Lecture 16 Memory 1

EECS 151/251A Spring 2019 Digital Design and Integrated Circuits. Instructor: John Wawrzynek. Lecture 18 EE141

A Low Power DDR SDRAM Controller Design P.Anup, R.Ramana Reddy

EECS150 - Digital Design Lecture 11 SRAM (II), Caches. Announcements

COMPUTER ARCHITECTURES

Application Note AN2247/D Rev. 0, 1/2002 Interfacing the MCF5307 SDRAMC to an External Master nc... Freescale Semiconductor, I Melissa Hunter TECD App

ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems

Chapter 8 Memory Basics

! Memory. " RAM Memory. " Serial Access Memories. ! Cell size accounts for most of memory array size. ! 6T SRAM Cell. " Used in most commercial chips

EE414 Embedded Systems Ch 5. Memory Part 2/2

Design with Microprocessors

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 15 Memories

Infineon HYB39S128160CT M SDRAM Circuit Analysis

The DRAM Cell. EEC 581 Computer Architecture. Memory Hierarchy Design (III) 1T1C DRAM cell

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

EEM 486: Computer Architecture. Lecture 9. Memory

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 7: Memory Organization Part II

CpE 442. Memory System

Mainstream Computer System Components

CS152 Computer Architecture and Engineering Lecture 16: Memory System

Topic 21: Memory Technology

Topic 21: Memory Technology

Terminology nc. Table 1. Terminology Terms CPU LCDC SDCE Description The 68K core in the DragonBall processor LCD Controller module in the DragonBall

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction

15-740/ Computer Architecture Lecture 19: Main Memory. Prof. Onur Mutlu Carnegie Mellon University

CS650 Computer Architecture. Lecture 9 Memory Hierarchy - Main Memory

ECE 485/585 Microprocessor System Design

08 - Address Generator Unit (AGU)

Altera FLEX 8000 Block Diagram

Basics DRAM ORGANIZATION. Storage element (capacitor) Data In/Out Buffers. Word Line. Bit Line. Switching element HIGH-SPEED MEMORY SYSTEMS

Memories: Memory Technology

DP8420V 21V 22V-33 DP84T22-25 microcmos Programmable 256k 1M 4M Dynamic RAM Controller Drivers

Computer Systems Laboratory Sungkyunkwan University

EECS 3201: Digital Logic Design Lecture 7. Ihab Amer, PhD, SMIEEE, P.Eng.

Mainstream Computer System Components CPU Core 2 GHz GHz 4-way Superscaler (RISC or RISC-core (x86): Dynamic scheduling, Hardware speculation

ECEN 449 Microprocessor System Design. Memories. Texas A&M University

Computer Organization. 8th Edition. Chapter 5 Internal Memory

Lecture 11 SRAM Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

1. Internal Architecture of 8085 Microprocessor

Performance Evolution of DDR3 SDRAM Controller for Communication Networks

XSB Board SDRAM Controller

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

! Serial Access Memories. ! Multiported SRAM ! 5T SRAM ! DRAM. ! Shift registers store and delay data. ! Simple design: cascade of registers

ECEN 449 Microprocessor System Design. Memories

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

MCF5307 DRAM CONTROLLER. MCF5307 DRAM CTRL 1-1 Motorola ColdFire

DP8420A,DP8421A,DP8422A

DESIGN AND IMPLEMENTATION OF SDR SDRAM CONTROLLER IN VHDL. Shruti Hathwalia* 1, Meenakshi Yadav 2

CS 152 Computer Architecture and Engineering

Chapter 5 Internal Memory

Design and Implementation of High Performance DDR3 SDRAM controller

8M x 64 Bit PC-100 SDRAM DIMM

Designing a High Performance SDRAM Controller Using ispmach Devices

High-Performance DDR3 SDRAM Interface in Virtex-5 Devices Author: Adrian Cosoroaba

Address connections Data connections Selection connections

Multilevel Memories. Joel Emer Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology

ISSN Vol.05, Issue.12, December-2017, Pages:

UMBC D 7 -D. Even bytes 0. 8 bits FFFFFC FFFFFE. location in addition to any 8-bit location. 1 (Mar. 6, 2002) SX 16-bit Memory Interface

ENEE 759H, Spring 2005 Memory Systems: Architecture and

JEDEC Standard No. 21 -C Page Appendix E: Specific PD s for Synchronous DRAM (SDRAM).

SDRAM DDR3 512MX8 ½ Density Device Technical Note

COSC 6385 Computer Architecture - Memory Hierarchies (III)

Lecture 15: DRAM Main Memory Systems. Today: DRAM basics and innovations (Section 2.3)

Summer 2003 Lecture 21 07/15/03

Computer System Components

Read and Write Cycles

a) Memory management unit b) CPU c) PCI d) None of the mentioned

Lecture 13: SRAM. Slides courtesy of Deming Chen. Slides based on the initial set from David Harris. 4th Ed.

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing

Memory System Overview. DMA & Endian-ness. Technology. Architectural. Problem: The Memory Wall

SDRAM DDR3 512MX8 ½ Density Device Technical Note

Digital Integrated Circuits Lecture 13: SRAM

Spring 2018 :: CSE 502. Main Memory & DRAM. Nima Honarmand

University of Technology

William Stallings Computer Organization and Architecture 6th Edition. Chapter 5 Internal Memory

LE4ASS21PEH 16GB Unbuffered 2048Mx64 DDR4 SO-DIMM 1.2V Up to PC CL

VS133-S512 PDRB X DATA SHEET. Memory Module Part Number VS133-S512 BUFFALO INC. (1/7)

CSE502: Computer Architecture CSE 502: Computer Architecture

4GB Unbuffered VLP DDR3 SDRAM DIMM with SPD

Handout 15. by Dr Sheikh Sharif Iqbal. Memory Interface of 8088 and 8086 processors

Memory and Programmable Logic

Datasheet. Zetta 4Gbit DDR3L SDRAM. Features VDD=VDDQ=1.35V / V. Fully differential clock inputs (CK, CK ) operation

t RP Clock Frequency (max.) MHz

ESDRAM/SDRAM Controller For 80 MHz Intel i960hd Processor

A Universal Test Pattern Generator for DDR SDRAM *

2GB DDR3 SDRAM SODIMM with SPD

SDRAM CONTROLLER Specification. Author: Dinesh Annayya

CS 320 February 2, 2018 Ch 5 Memory

Memory Hierarchy and Caches

ECE 341. Lecture # 16

IMM64M72D1SCS8AG (Die Revision D) 512MByte (64M x 72 Bit)

VNR133-D128 PDRB X DATA SHEET. Memory Module Part Number VNR133-D128 BUFFALO INC. (1/7)

Lecture 18: DRAM Technologies

SDRAM DDR3 256MX8 ½ Density Device Technical Note

Chapter 2: Memory Hierarchy Design (Part 3) Introduction Caches Main Memory (Section 2.2) Virtual Memory (Section 2.4, Appendix B.4, B.

EECS150 - Digital Design Lecture 13 - Project Description, Part 2: Memory Blocks. Project Overview

Transcription:

EECS150 - Digital Design Lecture 17 Memory 2 October 22, 2002 John Wawrzynek Fall 2002 EECS150 Lec17-mem2 Page 1 SDRAM Recap General Characteristics Optimized for high density and therefore low cost/bit Special fabrication process usually on a separate chip from processor Needs periodic refresh (in most applications) Relatively slow because: High capacity leads to large cell arrays with high word- and bit-line capacitance Complex read/write cycle. Read needs precharge and write-back bit line word line DRAM bit cell Multiple clock cycles per read or write access Multiple reads and writes are often grouped together to amortize overhead. Referred to as bursting. Fall 2002 EECS150 Lec17-mem2 Page 2

Functional Block Diagram 8 Meg x 16 SDRAM Fall 2002 EECS150 Lec17-mem2 Page 3 SDRAM Details Multiple banks of cell arrays are used to reduce access time: Each bank is 4K rows by 512 columns by 16 bits (for our part) Read and Write operations as split into RAS (row access) followed by CAS (column access) These operations are controlled by sending commands Commands are sent using the RAS, CAS, CS, & WE pins. Address pins are time multiplexed During RAS operation, address lines select the bank and row During CAS operation, address lines select the column. ACTIVE command opens a row for operation transfers the contents of the entire to a row buffer Subsequent READ or WRITE commands modify the contents of the row buffer. For burst reads and writes during READ or WRITE the starting address of the block is supplied. Burst length is programmable as 1, 2, 4, 8 or a full page (entire row) with a burst terminate option. Special commands are used for initialization (burst options etc.) A burst operation takes 4 + n cycles (for n words) Fall 2002 EECS150 Lec17-mem2 Page 4

READ burst (with auto precharge) Fall 2002 EECS150 Lec17-mem2 Page 5 WRITE burst (with auto precharge) See datasheet for more details. Verilog simulation models available. Fall 2002 EECS150 Lec17-mem2 Page 6

First-in-first-out (FIFO) Memory Used to implement queues. These find common use in computers and communication circuits. Generally, used for rate matching data producer and consumer: stating state after write after read Producer can perform many writes without consumer performing any reads (or vis versa). However, because of finite buffer size, on average, need equal number of reads and writes. Typical uses: interfacing I/O devices. Example network interface. Data bursts from network, then processor bursts to memory buffer (or reads one word at a time from interface). Operations not synchronized. Example: Audio output. Processor produces output samples in bursts (during process swap-in time). Audio DAC clocks it out at constant sample rate. Fall 2002 EECS150 Lec17-mem2 Page 7 FIFO Interfaces D IN WE EMPTY RE D OUT RST FULL HALF FULL FIFO CLK After write or read operation, FULL and EMPTY indicate status of buffer. Used by external logic to control own reading from or writing to the buffer. FIFO resets to EMPTY state. HALF FULL (or other indicator of partial fullness) is optional. Address pointers pointers are used internally to keep next write position and next read position into a dualport memory. If pointers equal after write FULL: If pointers equal after read EMPTY: Fall 2002 EECS150 Lec17-mem2 Page 8

FIFO Implementation Details Assume, dual-port memory with asynchronous read, synchronous write. Binary counter for each of read and write address. CEs controlled by WE and RE. Equal comparator to see when pointers match. Flip-flop each for FULL and EMPTY flags: With this memory, read happens before write. Therefore if WE and RD are asserted: When FULL, correct operation will happen. When EMPTY, would like to write before read. Correct this case with a bypass mux: WE RD equal EMPTY i FULL i 0 0 0 0 0 0 0 1 EMPTY i-1 FULL i-1 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 1 0 0 0 1 1 1 EMPTY i-1 FULL i-1 D IN 1 D OUT 0 EMPTY RD WR D a D b memory block Fall 2002 EECS150 Lec17-mem2 Page 9 Xilinx BlockRam Versions Our simple version has latency problems. FULL and EMPTY signals are asserted near the end of the clock period. Xilinx version solves this by predicting when full or empty will be asserted on next write/read operation. Also uses BlockRam with synchronous reads. Available on Xilinx website along with app note application note. These are linked to our page. Two versions available. Easy to modify to change the width if necessary. Will use the cc (common clock) version for checkpoint 2. Can use the ic (independent clock) version later for bridging network to video. Fall 2002 EECS150 Lec17-mem2 Page 10