Lecture 11: Sequential Circuit Design

Similar documents
CPE/EE 427, CPE 527 VLSI Design I Sequential Circuits. Sequencing

ECEN454 Digital Integrated Circuit Design. Sequential Circuits. Sequencing. Output depends on current inputs

EE 447/547 VLSI Design. Lecture 9: Sequential Circuits. VLSI Design EE 447/547 Sequential circuits 1

Lecture 10: Sequential Circuits

11. Sequential Elements

Chapter 7 Sequential Circuits

Sequential Circuit Design: Part 1

Sequential Circuit Design: Part 1

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 <98> 98

Clock - key to synchronous systems. Lecture 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

Clock - key to synchronous systems. Topic 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

EE141-Fall 2010 Digital Integrated Circuits. Announcements. Synchronous Timing. Latch Parameters. Class Material. Homework #8 due next Tuesday

ECE321 Electronics I

EE141-Fall 2010 Digital Integrated Circuits. Announcements. Homework #8 due next Tuesday. Project Phase 3 plan due this Sat.

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

MUX AND FLIPFLOPS/LATCHES

Lecture 1: Circuits & Layout

Lecture 21: Sequential Circuits. Review: Timing Definitions

Digital Logic & Computer Design CS Professor Dan Moldovan Spring Chapter 3 :: Sequential Logic Design

Clocking Spring /18/05

cascading flip-flops for proper operation clock skew Hardware description languages and sequential logic

Lecture 1: Intro to CMOS Circuits

EEC 118 Lecture #9: Sequential Logic. Rajeevan Amirtharajah University of California, Davis Jeff Parkhurst Intel Corporation

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

2.6 Reset Design Strategy

Lec 24 Sequential Logic Revisited Sequential Circuit Design and Timing

Engr354: Digital Logic Circuits

Sequential logic. Circuits with feedback. How to control feedback? Sequential circuits. Timing methodologies. Basic registers

Memory elements. Topics. Memory element terminology. Variations in memory elements. Clock terminology. Memory element parameters. clock.

LOW POWER AND HIGH PERFORMANCE SHIFT REGISTERS USING PULSED LATCH TECHNIQUE

CS3350B Computer Architecture Winter 2015

give sequence to events have memory (short-term) use feedback from output to input to store information

The outputs are formed by a combinational logic function of the inputs to the circuit or the values stored in the flip-flops (or both).

Chapter 6. sequential logic design. This is the beginning of the second part of this course, sequential logic.

Glitches/hazards and how to avoid them. What to do when the state machine doesn t fit!

UNIT III COMBINATIONAL AND SEQUENTIAL CIRCUIT DESIGN

(CSC-3501) Lecture 7 (07 Feb 2008) Seung-Jong Park (Jay) CSC S.J. Park. Announcement

Fundamentals of Computer Systems

Digital Integrated Circuit Design II ECE 426/526, Chapter 10 $Date: 2016/04/07 00:50:16 $

CSE115: Digital Design Lecture 23: Latches & Flip-Flops

Memory, Latches, & Registers

Fundamentals of Computer Systems

! Two inverters form a static memory cell " Will hold value as long as it has power applied

Sequential Logic. Sequential Circuits. ! Timing Methodologies " Cascading flip-flops for proper operation " Clock skew

Sequential Logic. References:

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN

Flip-Flops. Because of this the state of the latch may keep changing in circuits with feedback as long as the clock pulse remains active.

D Latch (Transparent Latch)

CS61C : Machine Structures

Chapter 6. Flip-Flops and Simple Flip-Flop Applications

Clock Domain Crossing. Presented by Abramov B. 1

ALGORITHMS IN HW EECS150 ALGORITHMS IN HW. COMBINATIONAL vs. SEQUENTIAL. Sequential Circuits ALGORITHMS IN HW

Sequential Circuits. Sequential Logic. Circuits with Feedback. Simplest Circuits with Feedback. Memory with Cross-coupled Gates.

EECS150 - Digital Design Lecture 3 - Timing

Topic 8. Sequential Circuits 1

CS61C : Machine Structures

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

1. What does the signal for a static-zero hazard look like?

Logic Design. Flip Flops, Registers and Counters

6. Sequential Logic Flip-Flops

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements

Lecture 8: Sequential Logic

Timing Error Detection: An Adaptive Scheme To Combat Variability EE241 Final Report Nathan Narevsky and Richard Ott {nnarevsky,

CMOS Latches and Flip-Flops

COMP2611: Computer Organization. Introduction to Digital Logic

Combinational vs Sequential

ECEN689: Special Topics in High-Speed Links Circuits and Systems Spring 2011

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422) LATCHES and FLIP-FLOPS

Project 6: Latches and flip-flops

EE-382M VLSI II FLIP-FLOPS

Sequential Logic. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 1

3 Flip-Flops. The latch is a logic block that has 2 stable states (0) or (1). The RS latch can be forced to hold a 1 when the Set line is asserted.

EL302 DIGITAL INTEGRATED CIRCUITS LAB #3 CMOS EDGE TRIGGERED D FLIP-FLOP. Due İLKER KALYONCU, 10043

Basis of sequential circuits: the R-S latch

Introduction to Digital Logic Missouri S&T University CPE 2210 Flip-Flops

ELE2120 Digital Circuits and Systems. Tutorial Note 7

Feedback Sequential Circuits

Momentary Changes in Outputs. State Machine Signaling. Oscillatory Behavior. Hazards/Glitches. Types of Hazards. Static Hazards

Digital Circuits and Systems

ELCT201: DIGITAL LOGIC DESIGN

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

COE 202: Digital Logic Design Sequential Circuits Part 1. Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:

Advanced Devices. Registers Counters Multiplexers Decoders Adders. CSC258 Lecture Slides Steve Engels, 2006 Slide 1 of 20

Keeping The Clock Pure. Making The Impurities Digestible

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science

Fundamentals of Computer Systems

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.

Timing EECS141 EE141. EE141-Fall 2011 Digital Integrated Circuits. Pipelining. Administrative Stuff. Last Lecture. Latch-Based Clocking.

Lecture 6. Clocked Elements

Logic Design II (17.342) Spring Lecture Outline

EMT 125 Digital Electronic Principles I CHAPTER 6 : FLIP-FLOP

Figure 9.1: A clock signal.


Homework 3 posted this week, due after Spring break Quiz #2 today Midterm project report due on Wednesday No office hour today

EE273 Lecture 11 Pipelined Timing Closed-Loop Timing November 2, Today s Assignment

Unit 11. Latches and Flip-Flops

COSC 243. Sequential Logic. COSC 243 (Computer Architecture) Lecture 5 - Sequential Logic 1

ISSCC 2003 / SESSION 19 / PROCESSOR BUILDING BLOCKS / PAPER 19.5

EITF35: Introduction to Structured VLSI Design

Transcription:

Lecture 11: Sequential Circuit esign

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

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

Sequencing Cont. q If tokens moved through pipeline at constant speed, no sequencing elements would be necessary q Example: 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 minimum 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 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 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 5

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

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 7

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

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

Latch esign q Tristate feedback + Static Backdriving risk X q Static latches are now essential because of leakage 10

Latch esign q Buffered input + Fixes diffusion input + Noninverting X 11

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 12

Latch esign q atapath latch + smaller + faster - unbuffered input X 13

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

Enable (Clock Gating) q Enable: ignore clock when en = 0 Mux: increase latch - delay Clock Gating: increase enable 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 15

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 16

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

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 18

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 cdq 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 19

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 20

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 21

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 (b) t pw < t setup 1 2 t pcq T c t pw tpd tsetup 22

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

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 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 24

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 25

Time Borrowing q In a flop-based system: ata launches on one rising edge Must meet setup time 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 cycle As long as each loop completes in one cycle 26

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 27

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 28

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 29

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 30

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 31

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) 32

Safe Flip-Flop q Past years used flip-flop with nonoverlapping clocks 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 33

Adaptive Sequencing q esigners include timing margin Voltage Temperature Process variation ata dependency Tool inaccuracies ERR q Alternative: run faster and check for near failures Idea introduced as Razor Increase frequency until at the verge of error Can reduce cycle time by ~30% f p X f p X ERR 34

Summary q Flip-Flops: Very easy to use, supported by all tools Robust, at the expense of lost time q 2-Phase Transparent Latches: Lots of skew tolerance and time borrowing q Pulsed Latches: Fast, some skew tolerance and time borrowing, hold time risk q Maybe give asynchronous design a serious look 35