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

Similar documents
Lecture 11: Sequential Circuit Design

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. Topic 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

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

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

ECE321 Electronics I

MUX AND FLIPFLOPS/LATCHES

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

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

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

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

CMOS Latches and Flip-Flops

Lecture 21: Sequential Circuits. Review: Timing Definitions

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

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

Engr354: Digital Logic Circuits

Lecture 1: Circuits & Layout

LOW POWER AND HIGH PERFORMANCE SHIFT REGISTERS USING PULSED LATCH TECHNIQUE

Fundamentals of Computer Systems

Clocking Spring /18/05

Fundamentals of Computer Systems

Lec 24 Sequential Logic Revisited Sequential Circuit Design and Timing

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

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

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

2.6 Reset Design Strategy

Lecture 1: Intro to CMOS Circuits

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

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

! 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

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

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

Logic Design. Flip Flops, Registers and Counters

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

Project 6: Latches and flip-flops

CS3350B Computer Architecture Winter 2015

Clock Domain Crossing. Presented by Abramov B. 1

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

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

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

Sequential Logic. References:

Unit 11. Latches and Flip-Flops

UNIT III COMBINATIONAL AND SEQUENTIAL CIRCUIT DESIGN

Fundamentals of Computer Systems

Memory, Latches, & Registers

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

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

6. Sequential Logic Flip-Flops

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

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.

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

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

Figure 9.1: A clock signal.

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

Combinational vs Sequential

Basis of sequential circuits: the R-S latch

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

Digital Circuits and Systems

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

CS61C : Machine Structures

EE-382M VLSI II FLIP-FLOPS

COMP2611: Computer Organization. Introduction to Digital Logic

D Latch (Transparent Latch)

Lecture 6. Clocked Elements

CHAPTER 11 LATCHES AND FLIP-FLOPS

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

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

Topic 8. Sequential Circuits 1

Switching Circuits & Logic Design

Chapter 11 Latches and Flip-Flops

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.

Feedback Sequential Circuits

CS61C : Machine Structures

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

SEQUENTIAL LOGIC. Sequential Logic

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

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

INTRODUCTION TO SEQUENTIAL CIRCUITS

EECS150 - Digital Design Lecture 3 - Timing

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

6.S084 Tutorial Problems L05 Sequential Circuits

ESE 570 STATIC SEQUENTIAL CMOS LOGIC CELLS. Kenneth R. Laker, University of Pennsylvania, updated 25Mar15

Lecture 26: Multipliers. Final presentations May 8, 1-5pm, BWRC Final reports due May 7 Final exam, Monday, May :30pm, 241 Cory

Problems with D-Latch

ELE2120 Digital Circuits and Systems. Tutorial Note 7

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science

Lecture 8: Sequential Logic

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

Outline. CPE/EE 422/522 Advanced Logic Design L03. Review: Clocked D Flip-Flop with Rising-edge Trigger. Sequential Networks

More Digital Circuits

CSE140: Components and Design Techniques for Digital Systems. More D-Flip-Flops. Tajana Simunic Rosing. Sources: TSR, Katz, Boriello & Vahid

Transcription:

CPE/EE 427, CPE 527 VLSI esign I Sequential Circuits epartment of Electrical and Computer Engineering University of Alabama in Huntsville Aleksandar Milenkovic ( www.ece.uah.edu/~milenka ) Combinational logic Sequencing output depends on current inputs 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 11/1/2006 VLSI esign I; A. Milenkovic 2 VLSI esign I; A. Milenkovic 1

Sequencing Cont. If tokens moved through pipeline at constant speed, no sequencing elements would be necessary 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 This is called wave pipelining in circuits In most circuits, dispersion is high elay fast tokens so they don t catch slow ones. 11/1/2006 VLSI esign I; A. Milenkovic 3 Sequencing Overhead Use flip-flops to delay fast tokens so they move through exactly one stage each cycle. Inevitably adds some delay to the slow tokens Makes circuit slower than just the logic delay Called sequencing overhead Some people call this clocking overhead But it applies to asynchronous circuits too Inevitable side effect of maintaining sequence 11/1/2006 VLSI esign I; A. Milenkovic 4 VLSI esign I; A. Milenkovic 2

Sequential Logic Inputs Combinational Logic Outputs Current State State Registers Next State clock 11/1/2006 VLSI esign I; A. Milenkovic 5 Timing Metrics In Out clock clock t su t hold time In data stable t c-q time Out output stable output stable time 11/1/2006 VLSI esign I; A. Milenkovic 6 VLSI esign I; A. Milenkovic 3

System Timing Constraints Inputs Combinational Logic Outputs Current State State Registers Next State clock T (clock period) t cdreg + t cdlogic t hold T t c-q + t plogic + t su 11/1/2006 VLSI esign I; A. Milenkovic 7 Sequencing Elements : 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 Flop (latch) (flop) 11/1/2006 VLSI esign I; A. Milenkovic 8 VLSI esign I; A. Milenkovic 4

: Level sensitive Sequencing Elements 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 Flop (latch) (flop) 11/1/2006 VLSI esign I; A. Milenkovic 9 esign Pass Transistor Pros + + Cons 11/1/2006 VLSI esign I; A. Milenkovic 10 VLSI esign I; A. Milenkovic 5

esign Pass Transistor Pros +Tiny + Low clock load Cons V t drop nonrestoring backdriving output noise sensitivity dynamic diffusion input Used in 1970 s 11/1/2006 VLSI esign I; A. Milenkovic 11 esign Transmission gate + - 11/1/2006 VLSI esign I; A. Milenkovic 12 VLSI esign I; A. Milenkovic 6

esign Transmission gate +No V t drop - Requires inverted clock 11/1/2006 VLSI esign I; A. Milenkovic 13 esign Inverting buffer + + + Fixes either 11/1/2006 VLSI esign I; A. Milenkovic 14 VLSI esign I; A. Milenkovic 7

esign Inverting buffer + Restoring + No backdriving + Fixes either Output noise sensitivity Or diffusion input Inverted output 11/1/2006 VLSI esign I; A. Milenkovic 15 esign Tristate feedback + 11/1/2006 VLSI esign I; A. Milenkovic 16 VLSI esign I; A. Milenkovic 8

esign Tristate feedback + Static Backdriving risk Static latches are now essential 11/1/2006 VLSI esign I; A. Milenkovic 17 esign Buffered input + + 11/1/2006 VLSI esign I; A. Milenkovic 18 VLSI esign I; A. Milenkovic 9

esign Buffered input + Fixes diffusion input + Noninverting 11/1/2006 VLSI esign I; A. Milenkovic 19 esign Buffered output + 11/1/2006 VLSI esign I; A. Milenkovic 20 VLSI esign I; A. Milenkovic 10

esign Buffered output + No backdriving Widely used in standard cells + Very robust (most important) - Rather large - Rather slow (1.5 2 FO4 delays) - High clock loading 11/1/2006 VLSI esign I; A. Milenkovic 21 esign atapath latch + - 11/1/2006 VLSI esign I; A. Milenkovic 22 VLSI esign I; A. Milenkovic 11

esign atapath latch + Smaller, faster - unbuffered input 11/1/2006 VLSI esign I; A. Milenkovic 23 Flip-Flop esign Flip-flop is built as pair of back-to-back latches 11/1/2006 VLSI esign I; A. Milenkovic 24 VLSI esign I; A. Milenkovic 12

Enable Enable: ignore clock when en = 0 Mux: increase latch - delay Clock Gating: increase en setup time, skew Symbol Multiplexer esign Clock Gating esign en 1 0 en en en Flop 1 0 en Flop Flop en 11/1/2006 VLSI esign I; A. Milenkovic 25 Reset Force output low when reset asserted Synchronous vs. asynchronous Symbol Flop reset reset Synchronous Reset Asynchronous Reset reset reset reset reset reset reset 11/1/2006 VLSI esign I; A. Milenkovic 26 VLSI esign I; A. Milenkovic 13

Set / Reset Set forces output high when enabled Flip-flop with asynchronous set and reset set reset reset set 11/1/2006 VLSI esign I; A. Milenkovic 27 Sequencing Methods Flip-flops T c 2-Phase es Pulsed es Flip-Flops Flop Combinational Logic Flop 2-Phase Transparent es Pulsed es 1 2 p 1 2 1 t pw p T c /2 Combinational Logic t nonoverlap Combinational Logic Combinational Logic Half-Cycle 1 Half-Cycle 1 t nonoverlap p 11/1/2006 VLSI esign I; A. Milenkovic 28 VLSI esign I; A. Milenkovic 14

Timing iagrams Contamination and Propagation elays A Combinational Logic Y A Y t cd t pd t pd Logic Prop. elay t cd Logic Cont. elay t setup thold t pcq /Flop Clk- Prop elay Flop t ccq t pdq /Flop Clk- Cont. elay - Prop elay t ccq t pcq t pcq t setup t hold - Cont. elay /Flop Setup Time /Flop Hold Time t ccq t pcq t setup t hold t cdq t pdq 11/1/2006 VLSI esign I; A. Milenkovic 29 Max-elay: Flip-Flops t ( ) pd Tc 1 42443 sequencing overhead F1 1 Combinational Logic 2 F2 T c t pcq t setup 1 t pd 2 11/1/2006 VLSI esign I; A. Milenkovic 30 VLSI esign I; A. Milenkovic 15

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 11/1/2006 VLSI esign I; A. Milenkovic 31 Max elay: 2-Phase es ( ) tpd = tpd1+ tpd 2 Tc 1 42443 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 11/1/2006 VLSI esign I; A. Milenkovic 32 VLSI esign I; A. Milenkovic 16

Max elay: 2-Phase es ( 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 11/1/2006 VLSI esign I; A. Milenkovic 33 Max elay: Pulsed es t pd ( ) Tc max 144 4244443 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 11/1/2006 VLSI esign I; A. Milenkovic 34 VLSI esign I; A. Milenkovic 17

Max elay: Pulsed es ( 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 11/1/2006 VLSI esign I; A. Milenkovic 35 Min-elay: Flip-Flops 1 t CL cd F1 2 F2 1 t ccq t cd 2 t hold 11/1/2006 VLSI esign I; A. Milenkovic 36 VLSI esign I; A. Milenkovic 18

Min-elay: Flip-Flops 1 t t t CL cd hold ccq F1 2 F2 1 t ccq t cd 2 t hold 11/1/2006 VLSI esign I; A. Milenkovic 37 Min-elay: 2-Phase es 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 11/1/2006 VLSI esign I; A. Milenkovic 38 VLSI esign I; A. Milenkovic 19

Min-elay: 2-Phase es 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 11/1/2006 VLSI esign I; A. Milenkovic 39 Min-elay: Pulsed es p tcd 1 CL L1 Hold time increased by pulse width 2 p L2 p tpw t hold 1 t ccq t cd 2 11/1/2006 VLSI esign I; A. Milenkovic 40 VLSI esign I; A. Milenkovic 20

Min-elay: Pulsed es tcd thold tccq + t 1 pw CL p L1 Hold time increased by pulse width 2 p L2 p tpw t hold 1 t ccq t cd 2 11/1/2006 VLSI esign I; A. Milenkovic 41 Time Borrowing 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 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 11/1/2006 VLSI esign I; A. Milenkovic 42 VLSI esign I; A. Milenkovic 21

Time Borrowing Example 1 2 1 1 2 (a) Combinational Logic Combinational Logic Borrowing time across half-cycle boundary Borrowing time across pipeline stage boundary 1 2 (b) Combinational Logic Combinational Logic Loops may borrow time internally but must complete within the cycle 11/1/2006 VLSI esign I; A. Milenkovic 43 How Much Borrowing? 2-Phase es T borrow c setup + nonoverlap ( ) t t t 2 1 1 2 L1 1 2 Combinational Logic 1 L2 2 1 Pulsed es 2 T c t nonoverlap t t t borrow pw setup T c /2 Nominal Half-Cycle 1 elay t borrow t setup 2 11/1/2006 VLSI esign I; A. Milenkovic 44 VLSI esign I; A. Milenkovic 22

Clock Skew We have assumed zero clock skew Clocks really have uncertainty in arrival time ecreases maximum propagation delay Increases minimum contamination delay ecreases time borrowing 11/1/2006 VLSI esign I; A. Milenkovic 45 Skew: Flip-Flops ( setup skew ) tpd Tc tpcq + t + t 14 424443 t t t + t cd hold sequencing overhead ccq skew F1 1 t pcq 1 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 11/1/2006 VLSI esign I; A. Milenkovic 46 VLSI esign I; A. Milenkovic 23

Skew: es 2-Phase es ( 2 ) tpd Tc tpdq 123 sequencing overhead t, t t t t + t cd1 cd 2 hold ccq nonoverlap skew T t t + t + t 2 ( ) c borrow setup nonoverlap skew Pulsed es 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 1 2 1 2 1 1 1 Combinational 2 2 Combinational 3 Logic 1 Logic 2 L1 L2 L3 3 11/1/2006 VLSI esign I; A. Milenkovic 47 Two-Phase Clocking If setup times are violated, reduce clock speed If hold times are violated, chip fails at any speed In this class, working chips are most important No tools to analyze clock skew An easy way to guarantee hold times is to use 2- phase latches with big nonoverlap times Call these clocks 1, 2 (ph1, ph2) 11/1/2006 VLSI esign I; A. Milenkovic 48 VLSI esign I; A. Milenkovic 24

Safe Flip-Flop In class, use flip-flop with nonoverlapping clocks Very slow nonoverlap adds to setup time But no hold times In industry, use a better timing analyzer Add buffers to slow signals if hold time is at risk 2 1 2 1 2 1 2 1 11/1/2006 VLSI esign I; A. Milenkovic 49 Summary Flip-Flops: Very easy to use, supported by all tools 2-Phase Transparent es: Lots of skew tolerance and time borrowing Pulsed es: Fast, some skew tol & borrow, hold time risk 11/1/2006 VLSI esign I; A. Milenkovic 50 VLSI esign I; A. Milenkovic 25