RTL Design (2) Memory Components (RAMs & ROMs)

Similar documents
CSE140: Components and Design Techniques for Digital Systems

Very Large Scale Integration (VLSI)

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

Memory. Outline. ECEN454 Digital Integrated Circuit Design. Memory Arrays. SRAM Architecture DRAM. Serial Access Memories ROM

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2017 Lecture 13

COMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I)

Hardware Design with VHDL PLDs I ECE 443. FPGAs can be configured at least once, many are reprogrammable.

Concept of Memory. The memory of computer is broadly categories into two categories:

Introduction to SRAM. Jasur Hanbaba

ECSE-2610 Computer Components & Operations (COCO)

Memories. Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu.

Memory Overview. Overview - Memory Types 2/17/16. Curtis Nelson Walla Walla University

+1 (479)

Semiconductor Memories: RAMs and ROMs

Read and Write Cycles

FPGA Programming Technology

Organization. 5.1 Semiconductor Main Memory. William Stallings Computer Organization and Architecture 6th Edition

CSE140: Components and Design Techniques for Digital Systems. Register Transfer Level (RTL) Design. Tajana Simunic Rosing

ECE 2300 Digital Logic & Computer Organization

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

Programmable Logic Devices Introduction CMPE 415. Programmable Logic Devices

Introduction to Digital Logic Missouri S&T University CPE 2210 Hardware Implementations

Chapter 5 Internal Memory

Lecture 13: Memory and Programmable Logic

Memory and Programmable Logic

Computer Organization and Assembly Language (CS-506)

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

ELCT 912: Advanced Embedded Systems

CMPEN 411 VLSI Digital Circuits Spring Lecture 22: Memery, ROM

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing

CS 320 February 2, 2018 Ch 5 Memory

CREATED BY M BILAL & Arslan Ahmad Shaad Visit:

Design and Implementation of an AHB SRAM Memory Controller

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

Internal Memory. Computer Architecture. Outline. Memory Hierarchy. Semiconductor Memory Types. Copyright 2000 N. AYDIN. All rights reserved.

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

Semiconductor Memory Classification. Today. ESE 570: Digital Integrated Circuits and VLSI Fundamentals. CPU Memory Hierarchy.

UMBC. Select. Read. Write. Output/Input-output connection. 1 (Feb. 25, 2002) Four commonly used memories: Address connection ... Dynamic RAM (DRAM)

Semiconductor Memory Classification

Summer 2003 Lecture 18 07/09/03

ECE 485/585 Microprocessor System Design

CSE140: Components and Design Techniques for Digital Systems. Register Transfer Level (RTL) Design. Tajana Simunic Rosing

Digital Systems. Semiconductor memories. Departamentul de Bazele Electronicii

MEMORIES. Memories. EEC 116, B. Baas 3

Memory classification:- Topics covered:- types,organization and working

Computer Organization. 8th Edition. Chapter 5 Internal Memory

Unit 6 1.Random Access Memory (RAM) Chapter 3 Combinational Logic Design 2.Programmable Logic

MEMORY BHARAT SCHOOL OF BANKING- VELLORE

Basic Organization Memory Cell Operation. CSCI 4717 Computer Architecture. ROM Uses. Random Access Memory. Semiconductor Memory Types

UNIT V (PROGRAMMABLE LOGIC DEVICES)

Chapter 5. Internal Memory. Yonsei University

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

P-2 Digital Design & Applications

Memory Expansion. Lecture Embedded Systems

! Memory Overview. ! ROM Memories. ! RAM Memory " SRAM " DRAM. ! This is done because we can build. " large, slow memories OR

Lecture-7 Characteristics of Memory: In the broad sense, a microcomputer memory system can be logically divided into three groups: 1) Processor

ECE321 Electronics I

Memory in Digital Systems

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422)

Slide Set 10. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

CENG 4480 L09 Memory 2

CSEE 3827: Fundamentals of Computer Systems. Storage

Memory, Latches, & Registers

Address connections Data connections Selection connections

EECS150 - Digital Design Lecture 16 Memory 1

EE141-Fall 2007 Digital Integrated Circuits. ROM and Flash. Announcements. Read-Only Memory Cells. Class Material. Semiconductor Memory Classification

The Memory Hierarchy Part I

Logic and Computer Design Fundamentals. Chapter 8 Memory Basics

HOMEWORK 7 CMPEN 411 Due: 3/22/ :30pm

Memory, Latches, & Registers

Lecture Objectives. Introduction to Computing Chapter 0. Topics. Numbering Systems 04/09/2017

10/24/2016. Let s Name Some Groups of Bits. ECE 120: Introduction to Computing. We Just Need a Few More. You Want to Use What as Names?!

Memory and Programmable Logic

Memory in Digital Systems

Large and Fast: Exploiting Memory Hierarchy

EE 308: Microcontrollers

Sense Amplifiers 6 T Cell. M PC is the precharge transistor whose purpose is to force the latch to operate at the unstable point.

CHAPTER 12 ARRAY SUBSYSTEMS [ ] MANJARI S. KULKARNI

COSC 243. Memory and Storage Systems. Lecture 10 Memory and Storage Systems. COSC 243 (Computer Architecture)

Contents. Memory System Overview Cache Memory. Internal Memory. Virtual Memory. Memory Hierarchy. Registers In CPU Internal or Main memory

8051 INTERFACING TO EXTERNAL MEMORY

Chapter 2: Fundamentals of a microprocessor based system

Chapter 4 Main Memory

Introduction read-only memory random access memory

PLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs

Overview. Memory Classification Read-Only Memory (ROM) Random Access Memory (RAM) Functional Behavior of RAM. Implementing Static RAM

EECS150 - Digital Design Lecture 16 - Memory

SRAM. Introduction. Digital IC

Section 6. Memory Components Chapter 5.7, 5.8 Physical Implementations Chapter 7 Programmable Processors Chapter 8

UNIT:4 MEMORY ORGANIZATION

RISC (Reduced Instruction Set Computer)

Chapter TEN. Memory and Memory Interfacing

ECE 152 Introduction to Computer Architecture

Module 5a: Introduction To Memory System (MAIN MEMORY)

Introduction to Semiconductor Memory Dr. Lynn Fuller Webpage:

Semiconductor Memory Types Microprocessor Design & Organisation HCA2102

Integrated Circuits & Systems

CS152 Computer Architecture and Engineering Lecture 16: Memory System

Introduction to CMOS VLSI Design Lecture 13: SRAM

Transcription:

RTL Design (2) Memory Components (RAMs & ROMs)

Memory Components All sequential circuit have a form of memory Register, latches, etc However, the term memory is generally reserved for bits that are stored in a structured way. N Memory components are generally instantiated outside of the controller and path. Memory components are generally differentiated from disk storage The RAM of a computer is the memory, not the hard disk.

Early Storage In the early days of digital circuits, memories did not exist. Bits were stored on a magnetic drum or disk To read or write an address, the disk or drum has to be rotated to the correct spot. This was a slow process Bits were accessed serially. Most hard drives still operate in this fashion. Memories were a major evolution over disks and drums Any address could be accessed in any order Access was no longer serial. >

Memory Terminology Address A code used to identify a storage location Word A element stored at a memory > location. Word length The number of bits that can be stored in a word. In most modern architectures, a word is 32-bits. A microprocessor may have an 8-bit word. M x N M is the number of words N is the word length

RAM Random Access Memory A RAM is a memory structure that allows random (i.e. not sequential) access to each word ( element) stored in the memory. RAM is logically structured the same as a register file > Less than approximately 52 024 words Register File Greater than approximately 52 024 words RAM Ports Most RAMs have a single bi-directional port that is used for both reading and writing Most register files are dual ported Storage elements differ between register files and RAMs RF s use registers Memories need smaller elements due to the large size of the device. We will discuss two types.

RAM Due to the large size of RAMs, physical layout is important Square shapes are most efficient to minimize wire lengths. > Shorter wires mean smaller delays RAM layout is broken into word lines and bit lines Word lines turn on all storage elements that correspond to the word Each storage element is connected to a bit line where is read and written.

RAM Symbol 32 0 addr r w en 024x32 RAM > is bi-directional addr is the address of the word we wish to operate on. rw indicates our operation is write 0 is read en enables the requested operation.

RAM Schematic 32 0 addr rw en 024x32 RAM addr0 addr addr(a-) Let A = log 2 M d0 a0 a AxM d decoder a(a-) w(n-) word enable w(n-2) w0 bit storage block (aka cell ) word cell rw Combining rd and wr lines r (N-) w (N-) r0 clk en rw w0 e d(m-) to all cells r(n-) r(n-2) r0 word word enable enable rw RAM cell (N-) 0 Larger designs replicate this simple structure and enable multiple words with a single word line. A demux is used to choose the output bits of the desired word.

Static RAM (SRAM) word enable d 0 cell d Inverters create a bistable storage element Transistors are used to enable access to the cell. Both and must be provided to write a value to the cell.

SRAM Operations Write. Place the desired value on the bit lines. 2. Enabled the word line. 3. New values pass through the transistors and overwrite the old values. word enable d 0 0

SRAM Operations Read. Precharge both and to. 2. Enable the word line. 3. Stored values cause the precharged values to raise (for a stored ) or drop (for a stored 0). 4. A sense amplifier reads the difference of the two lines to determine the value. word enable d 0 < To sense amplifiers

Dynamic RAM (DRAM) word enable d cell capacitor slowly discharging Value is stored as a charge on the capacitor. Charge must be periodically restored due to parasitic resistance. Very compact storage method.

DRAM Operations Read. Pre-charge the word line with a voltage halfway between 0 and. 2. Enable the word line. The stored value alters the bit line voltage, discharging the cap. 3. Sense the voltage change to determine the value. 4. Write the previous value back to restore the cap s charge.

DRAM Operations Write. Set to the desired value. 2. Enable the word line. Capacitor is charged () or discharged (0). 3. Parasitic resistance starts to discharge the capacitor Large capacitors are used to make this a slow process.

DRAM Operations Refresh Due to parasitic resistances, the value stored on a cap drains over time. Periodically, all storage cells must be refreshed:. Read the value 2. Write it back The requirement for a refresh means that dynamic RAM cells are slower than SRAM cells. Speed is traded for reduced size. enable discharges

Comparing Memory Types Register file Fastest But biggest size SRAM Fast More compact than register file DRAM Slowest And refreshing takes time But very compact Use register file for small items, SRAM for large items, and DRAM for huge items Note: DRAM s big capacitor requires a special chip design process, so DRAM is often a separate chip register file MxN Memory implemented as a: SRAM DRAM Size comparison for same number of bits (not to scale)

RAM Timing RAMs have setup and hold timing requirements. Access time is the propagation delay for reading a value.

Reading and Writing a RAM clk addr rw en 2 9 3 9 500 means write 999 Z 500 RAM[9] RAM[3] now equals 500 now equals 999 Writing (b) Put address on addr lines, on lines, set rw=, en= Reading Set addr and en lines, but put nothing (Z) on lines, set rw=0 Data will appear on lines Don t forget to obey setup and hold times In short keep inputs stable before and after a clock edge Access time is the propagation delay for reading a value. 3 clk addr rw valid valid setup time hold time setup time Z 500 access time

ROM Read Only Memory ROMs are a type of memory that can only be read. The act of writing initial values to a ROM is called programming. Advantages over RAM: More Compact very simple storage elements Non-volatile values are stored ever when power is removed. Increased Speed Low Power Several different storage elements can be used.

ROM Symbol is read only. 32 0 addr 024x32 ROM addr is the address of the word we wish to read. en en enables the a read operation.

ROM Schematic 32 0 addr en 024x32 ROM ROM block symbol addr0 addr addr addr(a-) clk en Let A = log 2 M d0 a0 a AxM d decoder a(a-) e d(m-) word enable 㩰 ю bit storage block (aka cell ) word word word enable enable r(n-) r(n-2) r0 ROM cell Internal logical structure similar to RAM, without the input lines

ROM Storage Types Mask Programmed ROM is programmed at the time of manufacture by hardwiring values. line 0 line Most compact type of ROM. Very fast 池 ю word enable cell cell Impossible to change without expensive redesign. word enable (from decoder) simply passes the hardwired value through transistor

ROM Storage Types Fuse-Based Programmable ROM (PROM) line line One Time Programmable (OTP) Fuses a blown to disable connections (programs a zero). 貰 э word enable cell fuse cell blown fuse ROM must be replaced to change stored values.

ROM Storage Types Erasable PROM (EPROM) Utilizes a floating gate transistor. Transistor has two gates. The floating gate has no electrical connections and is surrounded by 邀 э high impedance insulation. Unprogrammed, a floating gate transistor operates as normal. Stores a Programming involves placing a large voltage on the gate to trap electrons in the floating gate, disabling it s ability to conduct. Stores a 0 Programming can be erased by exposure to UV light Gives electrons enough energy to escape. floating-gate transistor word enable line line cell cell 0 e - e - trapped electrons

ROM Storage Types Electrically Erasable PROM (EEPROM) Like an EPROM, but thinner insulation around the floating gate allows it to be de-programmed with a high negative voltage. Programming is slow. At this point, ROMs start to resemble RAMs. Flash Memory A type of EEPROM Words are organized in blocks All words in a block can be erased quickly 溰 Ձ Both types are in-system programmable Can be programmed with new stored bits while in the system in which the ROM operates Requires bi-directional lines, and write control input Also need busy output to indicate that erasing is in progress erasing takes some time

EEPROM Symbol 32 0 addr en write busy 024x32 EEPROM 섀 Ծ is bi-directional addr is the address of the word we wish to operate on. en enables the a read operation. write = write the value of at the address. busy = indicates that programming is not yet complete.