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

Similar documents
Lecture 10: Sequential Circuits

Lecture 11: Sequential Circuit Design

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

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

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,

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

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

Lecture 1: Circuits & Layout

CMOS VLSI Design. Lab 3: Datapath and Zipper Assembly

Slide Set 6. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng

Introduction to CMOS VLSI Design (E158) Lab 3: Datapath and Zipper Assembly

ECE321 Electronics I

MUX AND FLIPFLOPS/LATCHES

2.6 Reset Design Strategy

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

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

Lecture 1: Intro to CMOS Circuits

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

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

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

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

Lecture 21: Sequential Circuits. Review: Timing Definitions

Contents Slide Set 6. Introduction to Chapter 7 of the textbook. Outline of Slide Set 6. An outline of the first part of Chapter 7

COMP2611: Computer Organization. Introduction to Digital Logic

Clocking Spring /18/05

CS3350B Computer Architecture Winter 2015

Memory, Latches, & Registers

Read-only memory (ROM) Digital logic: ALUs Sequential logic circuits. Don't cares. Bus

Combinational vs Sequential

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

EECS150 - Digital Design Lecture 3 - Timing

Introduction to CMOS VLSI Design (E158) Lecture 11: Decoders and Delay Estimation

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

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

Sequential Logic. References:

Project 6: Latches and flip-flops

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science

LOW POWER AND HIGH PERFORMANCE SHIFT REGISTERS USING PULSED LATCH TECHNIQUE

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

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

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

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Lec 24 Sequential Logic Revisited Sequential Circuit Design and Timing

Engr354: Digital Logic Circuits

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.

First Name Last Name November 10, 2009 CS-343 Exam 2

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

Why FPGAs? FPGA Overview. Why FPGAs?

Design and Simulation of a Digital CMOS Synchronous 4-bit Up-Counter with Set and Reset

Lecture 23 Design for Testability (DFT): Full-Scan

CS61C : Machine Structures

Digital Integrated Circuits EECS 312

Topic 8. Sequential Circuits 1

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

EE-382M VLSI II FLIP-FLOPS

Testability: Lecture 23 Design for Testability (DFT) Slide 1 of 43

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

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

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

UNIT III COMBINATIONAL AND SEQUENTIAL CIRCUIT DESIGN

D Latch (Transparent Latch)

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

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

Hardware Design I Chap. 5 Memory elements

CHAPTER 4: Logic Circuits

Logic Design. Flip Flops, Registers and Counters

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

Sequential Logic. Introduction to Computer Yung-Yu Chuang

Lecture 23 Design for Testability (DFT): Full-Scan (chapter14)

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

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

CS61C : Machine Structures

Figure 9.1: A clock signal.

Fundamentals of Computer Systems

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.

Go BEARS~ What are Machine Structures? Lecture #15 Intro to Synchronous Digital Systems, State Elements I C

Static Timing Analysis for Nanometer Designs

CS/EE 6710 Digital VLSI Design CAD Assignment #3 Due Thursday September 21 st, 5:00pm

6. Sequential Logic Flip-Flops

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

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN

More Digital Circuits

CSE140L: Components and Design Techniques for Digital Systems Lab. FSMs. Tajana Simunic Rosing. Source: Vahid, Katz

Clock Domain Crossing. Presented by Abramov B. 1

Fundamentals of Computer Systems

Level and edge-sensitive behaviour

! 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

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

CSE140L: Components and Design Techniques for Digital Systems Lab. CPU design and PLDs. Tajana Simunic Rosing. Source: Vahid, Katz

Review C program: foo.c Compiler Assembly program: foo.s Assembler Object(mach lang module): foo.o. Lecture #14

CS61C : Machine Structures

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

Transcription:

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

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

Project Strategy Proposal Specifies inputs, outputs, relation between them Floorplan Begins with block diagram Annotate dimensions and location of each block Requires detailed paper design Schematic Make paper design simulate correctly Layout Physical design, RC, NCC, ERC Sequential circuits 3

Floorplan How do you estimate block areas? Begin with block diagram Each block has Inputs Outputs Function (draw schematic) Type: array, datapath, random logic Estimation depends on type of logic Sequential circuits 4

MIPS Floorplan 10 I/O pads mips (4.6 Mλ2) 5000 λ 10 I/O pads 3500 λ 1690 λ control 1500 λ x 400 λ (0.6 Mλ2) wiring channel: 30 tracks = 240 λ zipper 2700 λ x 250 λ datapath 2700 λ x 1050 λ (2.8 Mλ2) alucontrol 200 λ x 100 λ (20 kλ2) 10 I/O pads bitslice 2700 λ x 100 λ 2700 λ 3500 λ 10 I/O pads 5000 λ Sequential circuits 5

Area Estimation Arrays: Layout basic cell Calculate core area from # of cells Allow area for decoders, column circuitry atapaths Sketch slice plan Count area of cells from cell library Ensure wiring is possible Random logic Compare complexity do a design you have done Sequential circuits 6

MIPS Slice Plan srcb srca bitlines aluresult writedata memdata adr immediate pc aluout 44 24 93 93 93 93 93 44 24 52 48 48 48 48 16 86 93 131 93 44 24 93 131 39 93 39 24 44 39 39 160 131 mux4 fulladder or2 and2 mux2 inv and2 flop and2 mux4 flop inv mux2 flop mux4 flop readmux srampullup dualsrambit0 dualsram dualsram dualsram writedriver inv mux2 flop flop flop flop flop inv mux2 ALU zerodetect PC aluout srcb srca register file ramslice writemux MR IR3...0 adrmux Sequential circuits 7

Typical Layout ensities Typical numbers of high-quality layout erate by 2 for class projects to allow routing and some sloppy layout. Allocate space for big wiring channels Element Area Random logic (2 metal layers) atapath SRAM RAM ROM 1000-1500 λ 2 / transistor 250 750 λ 2 / transistor Or 6 WL + 360 λ 2 / transistor 1000 λ 2 / bit 100 λ 2 / bit 100 λ 2 / bit Sequential circuits 8

Sequencing Combinational logic 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 Sequential circuits 9

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. Sequential circuits 10

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 Sequential circuits 11

Sequencing Elements 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) Latch Flop (flop) Sequential circuits 12

Sequencing Elements 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) Latch Flop (flop) Sequential circuits 13

Latch esign Pass Transistor Latch Pros + + Cons Sequential circuits 14

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

Latch esign Transmission gate + - Sequential circuits 16

Latch esign Transmission gate + No V t drop - Requires inverted clock Sequential circuits 17

Latch esign Inverting buffer + X + + Fixes either Sequential circuits 18

Latch esign Inverting buffer + Restoring X + No backdriving + Fixes either Output noise sensitivity Or diffusion input Inverted output Sequential circuits 19

Latch esign Tristate feedback + X Sequential circuits 20

Latch esign Tristate feedback + Static Backdriving risk X Static latches are now essential Sequential circuits 21

Latch esign Buffered input + + X Sequential circuits 22

Latch esign Buffered input + Fixes diffusion input + Noninverting X Sequential circuits 23

Latch esign Buffered output + X Sequential circuits 24

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

Latch esign atapath latch + - X Sequential circuits 26

Latch esign atapath latch + Smaller, faster - unbuffered input X Sequential circuits 27

Flip-Flop esign Flip-flop is built as pair of back-to-back latches X X Sequential circuits 28

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 Latch 1 0 Latch Latch en en en Flop 1 0 en Flop Flop en Sequential circuits 29

Reset Force output low when reset asserted Synchronous vs. asynchronous Symbol Latch Flop reset reset Synchronous Reset Asynchronous Reset reset reset reset reset reset reset Sequential circuits 30

Set / Reset Set forces output high when enabled Flip-flop with asynchronous set and reset set reset reset set Sequential circuits 31

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

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

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 Sequential circuits 34

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 Sequential circuits 35

Max elay: 2-Phase Latches ( ) 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 Sequential circuits 36

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 Sequential circuits 37

Max elay: Pulsed Latches 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 Sequential circuits 38

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 Sequential circuits 39

Min-elay: Flip-Flops 1 t CL cd F1 2 F2 1 t ccq t cd 2 t hold Sequential circuits 40

Min-elay: Flip-Flops 1 t t t CL cd hold ccq F1 2 F2 1 t ccq t cd 2 t hold Sequential circuits 41

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 Sequential circuits 42

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 Sequential circuits 43

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 Sequential circuits 44

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 Sequential circuits 45

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 Sequential circuits 46

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 Sequential circuits 47

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 Sequential circuits 48

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 Sequential circuits 49

Skew: Flip-Flops ( setup skew ) tpd Tc tpcq + t + t 14 424443 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 Sequential circuits 50

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 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 2 Sequential circuits 51

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) Sequential circuits 52

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 X 2 1 2 1 2 1 Sequential circuits 53

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