Chapter 5 :: Memory and Logic Arrays



Similar documents
Computer Architecture

Memory Basics. SRAM/DRAM Basics

A N. O N Output/Input-output connection

RAM & ROM Based Digital Design. ECE 152A Winter 2012

Computer Systems Structure Main Memory Organization

Chapter 7 Memory and Programmable Logic

1. Memory technology & Hierarchy

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

Memory unit. 2 k words. n bits per word

Chapter 9 Semiconductor Memories. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Memory. The memory types currently in common usage are:

Memory Testing. Memory testing.1

Semiconductor Memories

Memory ICS 233. Computer Architecture and Assembly Language Prof. Muhamed Mudawar

Computer Architecture

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

CHAPTER 16 MEMORY CIRCUITS

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

User s Manual HOW TO USE DDR SDRAM

Homework # 2. Solutions. 4.1 What are the differences among sequential access, direct access, and random access?

Memory Systems. Static Random Access Memory (SRAM) Cell

Understanding Memory TYPES OF MEMORY

With respect to the way of data access we can classify memories as:

Mobile SDRAM. MT48H16M16LF 4 Meg x 16 x 4 banks MT48H8M32LF 2 Meg x 32 x 4 banks

Table 1: Address Table

Read-only memory Implementing logic with ROM Programmable logic devices Implementing logic with PLDs Static hazards

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

DQ0 DQ1 DQ2 DQ3 DQ4 DQ5 DQ6 DQ7 WE# RAS# A0 A1 A2 A3

Algorithms and Methods for Distributed Storage Networks 3. Solid State Disks Christian Schindelhauer

Class 18: Memories-DRAMs

Chapter 6. Inside the System Unit. What You Will Learn... Computers Are Your Future. What You Will Learn... Describing Hardware Performance

Sequential Circuit Design

Memory Hierarchy. Arquitectura de Computadoras. Centro de Investigación n y de Estudios Avanzados del IPN. adiaz@cinvestav.mx. MemoryHierarchy- 1

Static-Noise-Margin Analysis of Conventional 6T SRAM Cell at 45nm Technology

Slide Set 8. for ENCM 369 Winter 2015 Lecture Section 01. Steve Norman, PhD, PEng

Design of Digital Circuits (SS16)

Table 1 SDR to DDR Quick Reference

Handout 17. by Dr Sheikh Sharif Iqbal. Memory Unit and Read Only Memories

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

NAND Flash FAQ. Eureka Technology. apn5_87. NAND Flash FAQ

1 Gbit, 2 Gbit, 4 Gbit, 3 V SLC NAND Flash For Embedded

ECE 451 Verilog Exercises. Sept 14, James Barnes

DS12885, DS12885Q, DS12885T. Real Time Clock FEATURES PIN ASSIGNMENT

CS250 VLSI Systems Design Lecture 8: Memory

SOLVING HIGH-SPEED MEMORY INTERFACE CHALLENGES WITH LOW-COST FPGAS

Chapter 4 System Unit Components. Discovering Computers Your Interactive Guide to the Digital World

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

Features. DDR3 Unbuffered DIMM Spec Sheet

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

Lecture 9: Memory and Storage Technologies

Features. DDR SODIMM Product Datasheet. Rev. 1.0 Oct. 2011

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

Open Flow Controller and Switch Datasheet

Discovering Computers Living in a Digital World

Lecture N -1- PHYS Microcontrollers

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer

Sequential Logic: Clocks, Registers, etc.

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

MAX II ISP Update with I/O Control & Register Data Retention

CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX

DS1220Y 16k Nonvolatile SRAM


Registers & Counters

IS42/45R86400D/16320D/32160D IS42/45S86400D/16320D/32160D

The Central Processing Unit:

MICROPROCESSOR AND MICROCOMPUTER BASICS

Memory Elements. Combinational logic cannot remember

V58C2512(804/404/164)SB HIGH PERFORMANCE 512 Mbit DDR SDRAM 4 BANKS X 16Mbit X 8 (804) 4 BANKS X 32Mbit X 4 (404) 4 BANKS X 8Mbit X 16 (164)

Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems

Random-Access Memory (RAM) The Memory Hierarchy. SRAM vs DRAM Summary. Conventional DRAM Organization. Page 1

8 by 8 dot matrix LED displays with Cascadable Serial driver B32CDM8 B48CDM8 B64CDM8 General Description

Flash Memories. João Pela (52270), João Santos (55295) December 22, 2008 IST

CHAPTER 7: The CPU and Memory

1.1 Silicon on Insulator a brief Introduction

Objectives. Units of Memory Capacity. CMPE328 Microprocessors (Spring ) Memory and I/O address Decoders. By Dr.

DS1225Y 64k Nonvolatile SRAM

1 / 25. CS 137: File Systems. Persistent Solid-State Storage

Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

DM Segment Decoder/Driver/Latch with Constant Current Source Outputs

Fairchild Solutions for 133MHz Buffered Memory Modules

Copyright Peter R. Rony All rights reserved.

DS1307ZN. 64 x 8 Serial Real-Time Clock

Trabajo Memorias flash

Writing Assignment #2 due Today (5:00pm) - Post on your CSC101 webpage - Ask if you have questions! Lab #2 Today. Quiz #1 Tomorrow (Lectures 1-7)

We r e going to play Final (exam) Jeopardy! "Answers:" "Questions:" - 1 -

Programming NAND devices

IDT6116SA IDT6116LA. CMOS Static RAM 16K (2K x 8-Bit)

Byte Ordering of Multibyte Data Items

Semiconductor Device Technology for Implementing System Solutions: Memory Modules

Application Note 132. Introduction. Voice Video and Data Communications using a 2-Port Switch and Generic Bus Interface KSZ MQL/MVL

Chapter 9 Latches, Flip-Flops, and Timers

Contents. Overview Memory Compilers Selection Guide

Microprocessor & Assembly Language

are un-buffered 200-Pin Double Data Rate (DDR) Synchronous DRAM Small Outline Dual In-Line Memory Module (SO-DIMM). All devices

8254 PROGRAMMABLE INTERVAL TIMER

路 論 Chapter 15 System-Level Physical Design

MCF54418 NAND Flash Controller

Transcription:

Chapter 5 :: Memory and Logic Arrays Digital Design and Computer Architecture David Money Harris and Sarah L. Harris Copyright 2007 Elsevier 5-<1>

ROM Storage Copyright 2007 Elsevier 5-<2>

ROM Logic Data 2 = A 1 A 0 Data 1 = A 1 + A 0 Data 0 = A 1 A 0 Copyright 2007 Elsevier 5-<3>

Example: Logic with ROMs Implement the following logic functions using a 2 2 3-bit ROM: X = AB Y = A + B Z = AB Copyright 2007 Elsevier 5-<4>

Example: Logic with ROMs Implement the following logic functions using a 2 2 3-bit ROM: X = AB Y = A + B Z = A B Copyright 2007 Elsevier 5-<5>

Logic with Any Memory Array Data 2 = A 1 A 0 Data 1 = A 1 + A 0 Data 0 = A 1 A 0 Copyright 2007 Elsevier 5-<6>

Logic with Memory Arrays Implement the following logic functions using a 2 2 3-bit memory array: X = AB Y = A + B Z = A B Copyright 2007 Elsevier 5-<7>

Logic with Memory Arrays Called lookup tables (LUTs): look up output at each input combination (address) Copyright 2007 Elsevier 5-<8>

Multi-ported Memories Port: address/data pair 3-ported memory 2 read ports (A1/RD1, A2/RD2) 1 write port (A3/WD3, WE3 enables writing) Small multi-ported memories are called register files Copyright 2007 Elsevier 5-<9>

Verilog Memory Arrays // 256 x 3 memory module with one read/write port module dmem( input clk, we, input [7:0] a input [2:0] wd, output [2:0] rd); reg [2:0] RAM[255:0]; assign rd = RAM[a]; always @(posedge clk) if (we) RAM[a] <= wd; endmodule Copyright 2007 Elsevier 5-<10>

Logic Arrays Programmable logic arrays (PLAs) AND array followed by OR array Perform combinational logic only Fixed internal connections Field programmable gate arrays (FPGAs) Array of configurable logic blocks (CLBs) Perform combinational and sequential logic Programmable internal connections Copyright 2007 Elsevier 5-<11>

PLAs X = ABC + ABC Y = AB Copyright 2007 Elsevier 5-<12>

PLAs: Dot Notation Copyright 2007 Elsevier 5-<13>

Memory Arrays Efficiently store large amounts of data Three common types: Dynamic random access memory (DRAM) Static random access memory (SRAM) Read only memory (ROM) An M-bit data value can be read or written at each unique N- bit address. Copyright 2007 Elsevier 5-<14>

Memory Arrays Two-dimensional array of bit cells Each bit cell stores one bit An array with N address bits and M data bits: 2 N rows and M columns Depth: number of rows (number of words) Width: number of columns (size of word) Array size: depth width = 2 N M Copyright 2007 Elsevier 5-<15>

Memory Array: Example 2 2 3-bit array Number of words: 4 Word size: 3-bits For example, the 3-bit word stored at address 10 is 100 Example: Copyright 2007 Elsevier 5-<16>

Memory Arrays Copyright 2007 Elsevier 5-<17>

Memory Array Bit Cells Example: Copyright 2007 Elsevier 5-<18>

Memory Array Bit Cells Example: 0 Z 1 Z Copyright 2007 Elsevier 5-<19>

Memory Array Wordline: similar to an enable allows a single row in the memory array to be read or written corresponds to a unique address only one wordline is HIGH at any given time Copyright 2007 Elsevier 5-<20>

Types of Memory Random access memory (RAM): volatile Read only memory (ROM): nonvolatile Copyright 2007 Elsevier 5-<21>

RAM: Random Access Memory Volatile: loses its data when the power is turned off Read and written quickly Main memory in your computer is RAM (DRAM) Historically called random access memory because any data word can be accessed as easily as any other (in contrast to sequential access memories such as a tape recorder) Copyright 2007 Elsevier 5-<22>

ROM: Read Only Memory Nonvolatile: retains data when power is turned off Read quickly, but writing is impossible or slow Flash memory in cameras, thumb drives, and digital cameras are all ROMs Historically called read only memory because ROMs were written at manufacturing time or by burning fuses. Once ROM was configured, it could not be written again. This is no longer the case for Flash memory and other types of ROMs. Copyright 2007 Elsevier 5-<23>

Fujio Masuoka, 1944- Developed memories and high speed circuits at Toshiba from 1971-1994. Invented Flash memory as an unauthorized project pursued during nights and weekends in the late 1970 s. The process of erasing the memory reminded him of the flash of a camera Toshiba slow to commercialize the idea; Intel was first to market in 1988 Flash has grown into a $25 billion per year market. Copyright 2007 Elsevier 5-<24>

Types of RAM Two main types of RAM: Dynamic random access memory (DRAM) Static random access memory (SRAM) Differ in how they store data: DRAM uses a capacitor SRAM uses cross-coupled inverters Copyright 2007 Elsevier 5-<25>

Robert Dennard, 1932 - Invented DRAM in 1966 at IBM Others were skeptical that the idea would work By the mid-1970 s DRAM was in virtually all computers Copyright 2007 Elsevier 5-<26>

DRAM Data bits stored on a capacitor Called dynamic because the value needs to be refreshed (rewritten) periodically and after being read: Charge leakage from the capacitor degrades the value Reading destroys the stored value Copyright 2007 Elsevier 5-<27>

DRAM Copyright 2007 Elsevier 5-<28>

SRAM Copyright 2007 Elsevier 5-<29>

Memory Arrays DRAM bit cell: SRAM bit cell: Copyright 2007 Elsevier 5-<30>

Writing an SRAM cell Writing is easy Enable the word line Overwrite the cell's contents

Reading an SRAM cell Reading is hard Bit line capacitance is huge (CBL > 1pF) SRAM cell can t slew bit-line quickly Can lose the cell s contents Design peripheral circuitry to read reliably Precharge bit lines lines to Vdd/2 Then release the precharge Reduces chance of erroneous switching Use sense amps for differential sensing Detect small voltage change Small swings low power

Addressing a memory Want square memory array Want simple decoding logic Problem: A 1Meg 1 RAM uses 1,048,576 20-input NANDs? Want short data & address lines 2 m k-bit words per row address (n+m bits) n d e c o d e r memory cell array 2 n by 2 m *k bits 2 n rows m multiplexer ( 2 m :1) k bits wide (k bits/word)

Multiplexer Selects a column (bit or byte) Column decoding needed at end of read or write memory cell array Decoded bits Column selects multiplexer B 3 B 4 B 5 B 6 D out1 D out2

SRAM read timing ADDR stable stable stable \CS \OE Taa Tacs max(taa,tacs) DOUT valid valid valid Toz Toe Toz Toe Toh Taa: access time from address Tacs: access time from chip select Toz: output disable time Toe: output enable time Toh: output hold time

SRAM write timing ADDR \CS Tcsw stable Tas stable Tcsw \WE DIN Tas Twp valid Tah Twp valid Tah Tds Tdh Tds Tdh Tas: address setup time before write Tah: address hold time after write Tcsw: chip select time before write Twp: write pulse minimum width Tds: data setup time Tdh: data hold time Address must be stable before WE', else invalid data may glitch other cells

DRAM notes Definitions RAS row-address strobe CAS column-address strobe DRAMs share address pins Row address and column address use same pins RAS and CAS load row and column addresses Example: 1MB DRAM has 10 address pins RAS loads 10 row addresses CAS loads 10 column addresses Older DRAMs are asynchronous Timing depends on rising and falling edges of RAS and CAS

DRAM notes (con t) Most DRAMs have built-in refresh counters Counter cycles through rows You supply \CAS pulse (or \CAS-before-\RAS) Internal logic reads and rewrites a row Most DRAMs allow fast page-mode reads/writes Use when reading multiple words from same row Supply RAS once but CAS many times Modern DRAMs are synchronous (SDRAM) Read/write on a clock edge Pipelining to internal memory banks Complex controller handles hidden refresh DDR + RamBus

DRAM refresh Assert RAS' to refresh row Reads data and writes it back Takes ~1% of DRAM cycles ADDR row addr \RAS V store 1 refresh 1 V high V low store 0 time