Lecture 10: Sequential Circuits

Similar documents
Lecture 11: Sequential Circuit Design

Sequential Circuits. Combinational Circuits Outputs depend on the current inputs

Lecture 10 Sequential Circuit Design Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

Sequential Circuit Design

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

Weste07r4.fm Page 183 Monday, January 5, :39 AM. 7.1 Introduction

Lecture 7: Clocking of VLSI Systems

Latch Timing Parameters. Flip-flop Timing Parameters. Typical Clock System. Clocking Overhead

Topics of Chapter 5 Sequential Machines. Memory elements. Memory element terminology. Clock terminology

Clocking. Figure by MIT OCW Spring /18/05 L06 Clocks 1

Timing Methodologies (cont d) Registers. Typical timing specifications. Synchronous System Model. Short Paths. System Clock Frequency

L4: Sequential Building Blocks (Flip-flops, Latches and Registers)

Engr354: Digital Logic Circuits

EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad

Latches, the D Flip-Flop & Counter Design. ECE 152A Winter 2012

Introduction to CMOS VLSI Design

Sequential Logic Design Principles.Latches and Flip-Flops

Lecture 10: Latch and Flip-Flop Design. Outline

CHAPTER 11 LATCHES AND FLIP-FLOPS

PROGETTO DI SISTEMI ELETTRONICI DIGITALI. Digital Systems Design. Digital Circuits Advanced Topics

Sequential Logic: Clocks, Registers, etc.

WEEK 8.1 Registers and Counters. ECE124 Digital Circuits and Systems Page 1

Lecture-3 MEMORY: Development of Memory:

Memory Elements. Combinational logic cannot remember

Flip-Flops, Registers, Counters, and a Simple Processor

Master/Slave Flip Flops

ECE380 Digital Logic

路 論 Chapter 15 System-Level Physical Design

Sequential Logic. (Materials taken from: Principles of Computer Hardware by Alan Clements )

Chapter 2 Clocks and Resets

Design Verification & Testing Design for Testability and Scan

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

CDA 3200 Digital Systems. Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 16 Timing and Clock Issues

Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.

Topics. Flip-flop-based sequential machines. Signals in flip-flop system. Flip-flop rules. Latch-based machines. Two-sided latch constraint

Theory of Logic Circuits. Laboratory manual. Exercise 3

ASYNCHRONOUS COUNTERS

Class 11: Transmission Gates, Latches

CSE140: Components and Design Techniques for Digital Systems

Module 3: Floyd, Digital Fundamental

Layout of Multiple Cells

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

7. Latches and Flip-Flops

PROGETTO DI SISTEMI ELETTRONICI DIGITALI. Digital Systems Design. Digital Circuits Advanced Topics

Set-Reset (SR) Latch

NAME AND SURNAME. TIME: 1 hour 30 minutes 1/6

Lecture 8: Synchronous Digital Systems

A New Paradigm for Synchronous State Machine Design in Verilog

Chapter 5. Sequential Logic

Chapter 9 Latches, Flip-Flops, and Timers

Lesson 12 Sequential Circuits: Flip-Flops

CS 61C: Great Ideas in Computer Architecture Finite State Machines. Machine Interpreta4on

. MEDIUM SPEED OPERATION - 8MHz . MULTI-PACKAGE PARALLEL CLOCKING FOR HCC4029B HCF4029B PRESETTABLE UP/DOWN COUNTER BINARY OR BCD DECADE

Digital Electronics Part I Combinational and Sequential Logic. Dr. I. J. Wassell

Digital Fundamentals

S. Venkatesh, Mrs. T. Gowri, Department of ECE, GIT, GITAM University, Vishakhapatnam, India

TRUE SINGLE PHASE CLOCKING BASED FLIP-FLOP DESIGN

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

Combinational Logic Design Process

DIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute

Two-Phase Clocking Scheme for Low-Power and High- Speed VLSI

EE552. Advanced Logic Design and Switching Theory. Metastability. Ashirwad Bahukhandi. (Ashirwad Bahukhandi)

Counters & Shift Registers Chapter 8 of R.P Jain

CS311 Lecture: Sequential Circuits

Counters. Present State Next State A B A B

Flip-Flops and Sequential Circuit Design. ECE 152A Winter 2012

Flip-Flops and Sequential Circuit Design

Register File, Finite State Machines & Hardware Control Language

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

DIGITAL COUNTERS. Q B Q A = 00 initially. Q B Q A = 01 after the first clock pulse.

ECE124 Digital Circuits and Systems Page 1

Admin. ECE 550: Fundamentals of Computer Systems and Engineering. Last time. VHDL: Behavioral vs Structural. Memory Elements

EE411: Introduction to VLSI Design Course Syllabus

DATA SHEET. HEF40193B MSI 4-bit up/down binary counter. For a complete data sheet, please also download: INTEGRATED CIRCUITS

74LS193 Synchronous 4-Bit Binary Counter with Dual Clock

So far we have investigated combinational logic for which the output of the logic devices/circuits depends only on the present state of the inputs.

TIMING-DRIVEN PHYSICAL DESIGN FOR DIGITAL SYNCHRONOUS VLSI CIRCUITS USING RESONANT CLOCKING

INTEGRATED CIRCUITS. For a complete data sheet, please also download:

DIGITAL ELECTRONICS. Counters. By: Electrical Engineering Department

Chapter 2 Logic Gates and Introduction to Computer Architecture

Design Example: Counters. Design Example: Counters. 3-Bit Binary Counter. 3-Bit Binary Counter. Other useful counters:

INTEGRATED CIRCUITS. For a complete data sheet, please also download:

Asynchronous Counters. Asynchronous Counters

Counters and Decoders

Wiki Lab Book. This week is practice for wiki usage during the project.

IE1204 Digital Design F12: Asynchronous Sequential Circuits (Part 1)

Chapter 7. Registers & Register Transfers. J.J. Shann. J. J. Shann

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

Clock Distribution in RNS-based VLSI Systems

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

Systems I: Computer Organization and Architecture

Decimal Number (base 10) Binary Number (base 2)

DIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute. 2nd (Spring) term 2012/2013

DM74LS193 Synchronous 4-Bit Binary Counter with Dual Clock

Sequential 4-bit Adder Design Report

Transcription:

Introduction to CMOS VLSI esign Lecture 10: Sequential Circuits avid Harris Harvey Mudd College Spring 2004

Outline q Sequencing q Sequencing Element esign q Max and Min-elay q Clock Skew q Time Borrowing q Two-Phase Clocking Slide 2

Sequencing q Combinational logic output depends on current inputs q Sequential logic output depends on current and previous inputs Requires separating previous, current, future Called state or tokens Ex: FSM, pipeline in CL out CL CL Finite State Machine Pipeline Slide 3

Sequencing Cont. q If tokens moved through pipeline at constant speed, no sequencing elements would be necessary q Ex: fiber-optic cable Light pulses (tokens) are sent down cable Next pulse sent before first reaches end of cable No need for hardware to separate pulses But dispersion sets min time between pulses q This is called wave pipelining in circuits q In most circuits, dispersion is high elay fast tokens so they don t catch slow ones. Slide 4

Sequencing Overhead q Use flip-flops to delay fast tokens so they move through exactly one stage each cycle. q Inevitably adds some delay to the slow tokens q Makes circuit slower than just the logic delay Called sequencing overhead q Some people call this clocking overhead But it applies to asynchronous circuits too Inevitable side effect of maintaining sequence Slide 5

Sequencing Elements q Latch: Level sensitive a.k.a. transparent latch, latch q Flip-flop: edge triggered A.k.a. master-slave flip-flop, flip-flop, register q Timing iagrams Transparent Opaque Edge-trigger (latch) Latch Flop (flop) Slide 6

Sequencing Elements q Latch: Level sensitive a.k.a. transparent latch, latch q Flip-flop: edge triggered A.k.a. master-slave flip-flop, flip-flop, register q Timing iagrams Transparent Opaque Edge-trigger (latch) Latch Flop (flop) Slide 7

Latch esign q Pass Transistor Latch q Pros + Tiny + Low clock load q Cons V t drop nonrestoring backdriving output noise sensitivity dynamic diffusion input Used in 1970 s Slide 8

Latch esign q Transmission gate + No V t drop - Requires inverted clock Slide 9

Latch esign q Inverting buffer + Restoring + No backdriving + Fixes either X Output noise sensitivity Or diffusion input Inverted output Slide 10

Latch esign q Tristate feedback + Static Backdriving risk X q Static latches are now essential Slide 11

Latch esign q Buffered input + Fixes diffusion input + Noninverting X Slide 12

Latch esign q Buffered output + No backdriving X q Widely used in standard cells + Very robust (most important) - Rather large - Rather slow (1.5 2 FO4 delays) - High clock loading Slide 13

Latch esign q atapath latch + Smaller, faster - unbuffered input X Slide 14

Flip-Flop esign q Flip-flop is built as pair of back-to-back latches X X Slide 15

Enable q Enable: ignore clock when en = 0 Mux: increase latch - delay Clock Gating: increase en setup time, skew Symbol Multiplexer esign Clock Gating esign en Latch 1 0 Latch Latch en en en Flop 1 0 en Flop Flop en Slide 16

Reset q Force output low when reset asserted q Synchronous vs. asynchronous Symbol Latch Flop reset reset Synchronous Reset Asynchronous Reset reset reset reset reset reset reset Slide 17

Set / Reset q Set forces output high when enabled q Flip-flop with asynchronous set and reset reset set reset set Slide 18

Sequencing Methods q Flip-flops q 2-Phase Latches q Pulsed Latches Flip-Flops Flop T c Combinational Logic Flop 2-Phase Transparent Latches Pulsed Latches 1 2 p 1 2 1 Latch t pw p Latch T c /2 Combinational Logic t nonoverlap Latch Combinational Logic Combinational Logic Half-Cycle 1 Half-Cycle 1 t nonoverlap Latch p Latch Slide 19

Timing iagrams Contamination and Propagation elays t pd Logic Prop. elay A Combinational Logic Y A Y t cd t pd t cd t pcq t ccq Logic Cont. elay Latch/Flop Clk- Prop elay Latch/Flop Clk- Cont. elay Flop t setup t hold t pcq t pdq Latch - Prop elay t ccq t pcq t setup t hold Latch - Cont. elay Latch/Flop Setup Time Latch/Flop Hold Time Latch t setup t hold t t ccq pcq t cdq t pdq Slide 20

Max-elay: Flip-Flops t pd ( ) Tc 1442443 sequencing overhead F1 1 Combinational Logic 2 F2 T c t pcq t setup 1 t pd 2 Slide 21

Max-elay: Flip-Flops ( setup ) tpd Tc t + tpcq 14243 sequencing overhead F1 1 Combinational Logic 2 F2 T c t pcq t setup 1 t pd 2 Slide 22

Max elay: 2-Phase Latches ( ) tpd = tpd1+ tpd 2 Tc 1442443 sequencing overhead 1 2 1 1 1 Combinational 2 2 Combinational 3 Logic 1 Logic 2 L1 L2 L3 3 1 2 T c 1 t pdq1 1 t pd1 2 t pdq2 2 t pd2 3 Slide 23

Max elay: 2-Phase Latches ( 2 ) tpd = tpd1+ tpd 2 Tc tpdq 123 sequencing overhead 1 2 1 1 1 Combinational 2 2 Combinational 3 Logic 1 Logic 2 L1 L2 L3 3 1 2 T c 1 t pdq1 1 t pd1 2 t pdq2 2 t pd2 3 Slide 24

Max elay: Pulsed Latches t pd ( ) Tc max 14444244443 sequencing overhead 1 p L1 1 Combinational Logic 2 p L2 2 T c 1 t pdq (a) t pw > t setup 1 t pd 2 p t pcq tpd tsetup T c t pw 1 (b) t pw < t setup 2 Slide 25

Max elay: Pulsed Latches ( setup ) tpd Tc max tpdq, tpcq + t tpw 14444244443 sequencing overhead 1 p L1 1 Combinational Logic 2 p L2 2 T c 1 t pdq (a) t pw > t setup 1 t pd 2 p t pcq tpd tsetup T c t pw 1 (b) t pw < t setup 2 Slide 26

Min-elay: Flip-Flops 1 t CL cd F1 2 F2 1 t ccq t cd 2 t hold Slide 27

Min-elay: Flip-Flops 1 t t t CL cd hold ccq F1 2 F2 1 t ccq t cd 2 t hold Slide 28

Min-elay: 2-Phase Latches t t cd1, cd 2 1 L1 1 CL Hold time reduced by nonoverlap 2 2 L2 Paradox: hold applies twice each cycle, vs. only once for flops. 1 2 t nonoverlap 1 t ccq t cd But a flop is made of two latches! 2 t hold Slide 29

Min-elay: 2-Phase Latches t t t t t cd1, cd 2 hold ccq nonoverlap 1 L1 1 CL Hold time reduced by nonoverlap 2 2 L2! 1 t nonoverlap 2 t ccq 1 t cd 2 t hold Slide 30

Min-elay: Pulsed Latches p tcd 1 CL L1 Hold time increased by pulse width 2 p L2 p t pw t hold 1 t ccq t cd 2 Slide 31

Min-elay: Pulsed Latches tcd thold tccq + t 1 pw CL p L1 Hold time increased by pulse width 2 p L2 p t pw t hold 1 t ccq t cd 2 Slide 32

Time Borrowing q In a flop-based system: ata launches on one rising edge Must setup before next rising edge If it arrives late, system fails If it arrives early, time is wasted Flops have hard edges q In a latch-based system ata can pass through latch while transparent Long cycle of logic can borrow time into next As long as each loop completes in one cycle Slide 33

Time Borrowing Example 1 2 1 1 2 (a) Latch Combinational Logic Latch Combinational Logic Latch Borrowing time across half-cycle boundary Borrowing time across pipeline stage boundary 1 2 (b) Latch Combinational Logic Latch Combinational Logic Loops may borrow time internally but must complete within the cycle Slide 34

How Much Borrowing? 2-Phase Latches T borrow c setup + nonoverlap ( ) t t t 2 1 1 2 L1 1 2 Combinational Logic 1 L2 2 1 Pulsed Latches 2 T c t nonoverlap t t t borrow pw setup T c /2 Nominal Half-Cycle 1 elay t borrow t setup 2 Slide 35

Clock Skew q We have assumed zero clock skew q Clocks really have uncertainty in arrival time ecreases maximum propagation delay Increases minimum contamination delay ecreases time borrowing Slide 36

Skew: Flip-Flops ( setup skew ) tpd Tc tpcq + t + t 144424443 t t t + t cd hold sequencing overhead ccq skew 1 F1 1 t pcq Combinational Logic T c t pdq 2 t setup F2 t skew 2 F1 1 CL 2 F2 t skew t hold 1 t ccq 2 t cd Slide 37

Skew: Latches 2-Phase Latches ( 2 ) tpd Tc tpdq 123 sequencing overhead 1 1 2 1 1 1 Combinational 2 2 Combinational 3 Logic 1 Logic 2 L1 L2 L3 3 t, t t t t + t cd1 cd 2 hold ccq nonoverlap skew 2 T t t + t + t 2 ( ) c borrow setup nonoverlap skew Pulsed Latches cd hold pw ccq ( setup skew ) tpd Tc max tpdq, tpcq + t tpw + t 1444442444443 t t + t t + t ( ) t t t + t sequencing overhead skew borrow pw setup skew Slide 38

Two-Phase Clocking q If setup times are violated, reduce clock speed q If hold times are violated, chip fails at any speed q In this class, working chips are most important No tools to analyze clock skew q An easy way to guarantee hold times is to use 2- phase latches with big nonoverlap times q Call these clocks 1, 2 (ph1, ph2) Slide 39

Safe Flip-Flop q In class, use flip-flop with nonoverlapping clocks Very slow nonoverlap adds to setup time But no hold times q In industry, use a better timing analyzer Add buffers to slow signals if hold time is at risk 2 1 X 2 1 2 1 2 1 Slide 40

Summary q Flip-Flops: Very easy to use, supported by all tools q 2-Phase Transparent Latches: Lots of skew tolerance and time borrowing q Pulsed Latches: Fast, some skew tol & borrow, hold time risk Slide 41