Memory, Latches, & Registers

Similar documents
Memory, Latches, & Registers

Memory Supplement for Section 3.6 of the textbook

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

3. Implementing Logic in CMOS

Lecture 13: Memory and Programmable Logic

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

Summer 2003 Lecture 18 07/09/03

CMPE 415 Programmable Logic Devices FPGA Technology I

+1 (479)

Semiconductor Memory Classification

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

Memory and Programmable Logic

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

ECE 2300 Digital Logic & Computer Organization

! Replace maxterm OR gates with NOR gates! Place compensating inversion at inputs of AND gate

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

Very Large Scale Integration (VLSI)

UNIT V (PROGRAMMABLE LOGIC DEVICES)

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

MEMORIES. Memories. EEC 116, B. Baas 3

Memory and Programmable Logic

SECTION-A

Synthesis of combinational logic

Continuing with whatever we saw in the previous lectures, we are going to discuss or continue to discuss the hardwired logic design.

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

BUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book

Memory Devices. Future?

CS250 VLSI Systems Design Lecture 9: Memory

CS429: Computer Organization and Architecture

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

falling edge Intro Computer Organization

SHRI ANGALAMMAN COLLEGE OF ENGINEERING. (An ISO 9001:2008 Certified Institution) SIRUGANOOR, TIRUCHIRAPPALLI

Read and Write Cycles

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

Mark Redekopp, All rights reserved. EE 352 Unit 8. HW Constructs

CS 152 Computer Architecture and Engineering

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

Administrivia. CSE 370 Spring 2006 Introduction to Digital Design Lecture 9: Multilevel Logic

The Memory Component

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

Digital Systems. Semiconductor memories. Departamentul de Bazele Electronicii

Introduction to SRAM. Jasur Hanbaba

The D igital Digital Logic Level Chapter 3 1

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS

Memory Design I. Array-Structured Memory Architecture. Professor Chris H. Kim. Dept. of ECE.

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Building Memory

CHAPTER 12 ARRAY SUBSYSTEMS [ ] MANJARI S. KULKARNI

Model EXAM Question Bank

Memory in Digital Systems

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

FPGA Programming Technology

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS

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

ELCT 912: Advanced Embedded Systems

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective

6. Latches and Memories

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

PROGRAMMABLE LOGIC DEVICES

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

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

CSEE 3827: Fundamentals of Computer Systems. Storage

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

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015

Memory and Programmable Logic

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

EECS150 - Digital Design Lecture 16 Memory 1

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016

Department of Electrical and Computer Engineering Introduction to Computer Engineering I (ECSE-221) Assignment 3: Sequential Logic

(ii) Simplify and implement the following SOP function using NOR gates:

CENG 4480 L09 Memory 2

Topics. ! PLAs.! Memories: ! Datapaths.! Floor Planning ! ROM;! SRAM;! DRAM. Modern VLSI Design 2e: Chapter 6. Copyright 1994, 1998 Prentice Hall

Memory Design I. Semiconductor Memory Classification. Read-Write Memories (RWM) Memory Scaling Trend. Memory Scaling Trend

Combinational Logic Worksheet

Principles of Digital Techniques PDT (17320) Assignment No State advantages of digital system over analog system.

Memory Arrays. Array Architecture. Chapter 16 Memory Circuits and Chapter 12 Array Subsystems from CMOS VLSI Design by Weste and Harris, 4 th Edition

Lecture 24: Sequential Logic Design. Let s refresh our memory.

Design Methodologies

Topic Notes: Building Memory

CS61C : Machine Structures

Sequential Logic Design

Column decoder using PTL for memory

Reference Sheet for C112 Hardware

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?!

Lab 16: Data Busses, Tri-State Outputs and Memory

Introduction to CMOS VLSI Design Lecture 13: SRAM

Code No: R Set No. 1

FPGA: What? Why? Marco D. Santambrogio

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

Injntu.com Injntu.com Injntu.com R16

Chapter 5 Internal Memory

SRAM. Introduction. Digital IC

Digital Integrated Circuits Lecture 13: SRAM

MEMORY AND PROGRAMMABLE LOGIC

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project

Address connections Data connections Selection connections

Topics of this Slideset. CS429: Computer Organization and Architecture. Digital Signals. Truth Tables. Logic Design

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

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (5 th Week)

HANSABA COLLEGE OF ENGINEERING & TECHNOLOGY (098) SUBJECT: DIGITAL ELECTRONICS ( ) Assignment

Transcription:

Memory, Latches, & Registers 1) Structured Logic Arrays 2) Memory Arrays 3) Transparent Latches 4) Saving a few bucks at toll booths 5) Edge-triggered Registers L14 Memory 1

General Table Lookup Synthesis A B MUX Logic Fn(A,B) Generalizing: Remember from a few lectures ago that, in theory, we can build any 1-output combinational logic block with multiplexers. 2 N For an N-input function we need a input multiplexer. BIG Multiplexers? How about 10-input function? 20-input? L14 Memory 2

A Mux s Guts A decoder generates all possible product terms for a set of inputs ecoder Selector Multiplexers A B A B A B A B 0 1 2 3 I 0 0 I 0 1 I 1 0 I 1 1 Y can be partitioned into two sections. A ECOER that identifies the desired input,and a SELECTOR that enables that input onto the output. Hmmm, by sharing the decoder part of the logic MUXs could be adapted to make lookup tables with any number of outputs L14 Memory 3

A New Combinational evice k 1 2 N ECOER: k SELECT inputs, N = 2 k ATA OUTPUTs. Selected j HIGH; all others LOW. Have I mentioned that HIGH is a synonym for 1 and LOW means the same as 0 NOW, we are well on our way to building a general purpose table-lookup device. We can build a 2-dimensional ARRAY of decoders and selectors as follows... L14 Memory 4

Shared ecoding Logic There s an extra level of inversion that isn t necessary in the logic. However, it reduces the load on the module driving this one. A B C in ecoder 0 1 2 3 4 5 6 7 These are just emorgan ized NOR gates S This ROM stores 16 bits in 8 words of 2 bits. C out Configurable Selector We can build a general purpose table-lookup device called a Read-Only Memory (ROM), from which we can implement any truth table and, thus, any combinational device Made from PREWIRE connections, and CONFIGURABLE connections that can be either connected or not connected L14 Memory 5

ROM Implementation etails Tiny PFETs with gates tied to ground = resistor pullup that makes wire 1 unless one of the NFET pulldowns is on. A B C in A word -line. A bit -line These transistors implement a decoder, and are independent of function. These transistors are function dependent S C out Hardwired AN logic Programmable OR logic Advantages: - Very regular design (can be entirely automated) Problems: - Active Pull-ups (Static Power) - Long metal runs (Large Caps) - Slow JARGON: Inputs to a ROM are called ARESSES. The decoder s outputs are called WOR LINES, and the outputs lines of the selector are called BIT LINES. ecoder Values: 0 1 2 3 4 5 6 7 L14 Memory 6

Logic According to ROMs ROMs ignore the structure of combinational functions... Size, layout, and design are independent of function Any Truth table can be programmed by minor reconfiguration: - Metal layer (masked ROMs) - Fuses (Field-programmable PROMs) - Charge on floating gates (EPROMs)... etc. Model: LOOK UP value of function in truth table... Inputs: ARESS of a T.T. entry ROM SIZE = # TT entries...... for an N-input boolean function, size = 2 N x #outputs L14 Memory 7

Example: 7-sided ie What nature can t provide electronics can (and with the same number of LEs!). We want to construct a die with the following sides: An array of LEs, labeled as follows, can be used to display the outcome of the die: T U V W X Y Z L14 Memory 8

ROM-Based esign Truth Table for a 7-sided ie Once we ve written out the truth table we ve basically finished the design Possible optimizations: - Eliminate redundant outputs - Addressing tricks T V Y W U X Z L14 Memory 9

A Simple ROM implementation A B C T U V W X ecoder Values: 0 1 2 3 4 5 6 7 T/Z U/Y V/X W That was Easy! ROMs are even more flexible than MUXes, because you can design the H/W first, and figure out the logic later! This is the essence of programability: LATE-BINING logic specification. Y Z L14 Memory 10

Programmable Look-up Tables Remember, EVERY combinational circuit can be expressed as a lookup table. As a result a ROM is a universal logic device. Unfortunately, the ROMs we ve built thus far are HARWIRE. That is, the function that they compute is encoded by the pull-down transistors that are built into the OR-plane of the ROM. What we d really like is a combinational gate that could be reconfigured dynamically. For this we ll need some form of storage. The function of a ROM is determined by the presence of a transistor at the intersection of a WOR line from the AN array with a BIT line going to the OR array WOR line BIT line How to store a bit? L14 Memory 11

Analog Storage: Using Capacitors We ve chosen to encode information using voltages and we know from physics that we can store a voltage as charge on a capacitor: bit line word line V REF N-channel FET serves as an access switch To write: rive bit line, turn on access fet, force storage cap to new voltage To read: precharge bit line, turn on access fet, detect (small) change in bit line voltage Pros:! compact! Cons:! it leaks! refresh! complex interface! reading a bit, destroys it (you have to rewrite the value after each read)! it s NOT a digital circuit This storage circuit is the basis for commodity RAMs L14 Memory 12

ynamic Memory TiN top electrode (V REF ) Ta 2 O 5 dielectric poly word line access FET L14 Memory 13

A igital Storage Element It s also easy to build a settable IGITAL storage element (called a latch) using a MUX and FEEBACK: Here s a feedback path, so it s no longer a combinational circuit. state signal appears as both input and output A 0 G IN OUT B S G 1 Y 0 0 1 1 -- -- 0 1 0 1 -- -- 0 1 0 1 stable follows L14 Memory 14

Looking Under the Covers Let s take a quick look at the equivalent circuit for our MUX when the gate is LOW (the feedback path is active) G=0 0 1 G=0 1 1 This storage circuit is the basis for commodity SRAMs Advantages: 1) Maintains remembered state for as long as power is applied. 2) State is IGITAL isadvantage: 1) Requires more transistors L14 Memory 15

Why oes Feedback = Storage? BIG IEA: use positive feedback to maintain storage indefinitely. Our logic gates are built to restore marginal signal levels, so noise shouldn t be a problem! V IN V OUT Result: a bistable storage element V OUT VTC for inverter pair Feedback constraint: V IN = V OUT Not affected by noise Three solutions:! two end-points are stable! middle point is unstable V IN We ll get back to this! L14 Memory 16

Static Latch G G Positive latch follows Negative latch What is the difference? 1 G G 0 stable static means latch will hold data (i.e., value of ) while G is inactive, however long that may be. L14 Memory 17

A YNAMIC iscipline esign of sequential circuits MUST guarantee that inputs to sequential devices are valid and stable during periods when they may influence state changes. This is assured with additional timing specifications. These timing specs relate changes in inputs to changes in output These relate to changes between inputs G >t PULSE >t SETUP >t C <t P t C : minimum contamination delay the soonest that an output will change in response to an input changing t P : maximum propagation delay the latest that an output will become valid in response to an input changing t PULSE : minimum pulse width guarantee G is active for long enough for latch to capture data t SETUP : setup time guarantee that value has propagated through feedback path before latch closes >t HOL t HOL : hold time guarantee latch is closed and is stable before allowing to change G If t cd isn t provided, you can safely assume it is 0. L14 Memory 18

Storage alone is not enough! start button 0 button 1 button Current state 3 ROM 64x4 unlock Next state 3 We need to open the gate long enough to capture the output of the ROM, but no so long that it the ROM responds to its new input before the gate closes. Opening gates is tricky! G Hmm. Hard to get pulse width exactly right! L14 Memory 19

Flakey Control Systems Here s a strategy for saving 2 bucks the next time you find yourself at a toll booth! L14 Memory 20

Escapement Strategy The Solution: Add two gates and only open one at a time. (Psst on t tell the toll folks) KEY: At no time is there an open path through both gates L14 Memory 38

Edge-triggered Flip Flop logical escapement G master G slave CLK CLK Transitions mark instants, not intervals Observations:! only one latch transparent at any time:! master closed when slave is open (CLK is high)! slave closed when master is open (CLK is low) no combinational path through flip flop! only changes shortly after 0 1 transition of CLK, so flip flop appears to be triggered by rising edge of CLK L14 Memory 39

Flip Flop Waveforms CLK master slave G G CLK CLK master closed slave open slave closed master open L14 Memory 40

Two Issues G master G slave CLK Must allow time for the input s value to propagate to the Master s output while CLK is LOW. This is called SET-UP time Must keep the input stable, just after CLK transitions to HIGH. This is insurance in case the SLAVE s gate opens just before the MASTER s gate closes. This is called HOL-TIME Can be zero (or even negative!) (How long a input must valid before the clock rises) (How long a input must remain valid after the clock rises) Assuring set-up and hold times is what limits a computer s performance L14 Memory 41

Flip-Flop Timing Specs CLK CLK <t P t P : maximum propagation delay, CLK >t SETUP >t HOL t SETUP : setup time guarantee that has propagated through feedback path before master closes t HOL : hold time guarantee master is closed and data is stable before allowing to change L14 Memory 42

Summary Regular Arrays can be used to implement arbitrary logic functions ROMs decode every input combination (fixed-an array) and compute the output for it (customized-or array) PLAs decode an minimal set of input combinations (both AN and OR arrays customized) Memories ROMs are HARWIRE memories RAMs include storage elements at each WOR-line and BIT-line intersection dynamic memory: compact, only reliable short-term static memory: controlled use of positive feedback Level-sensitive -latches for static storage ynamic discipline (setup and hold times) L14 Memory 43