Introduction to CMOS VLSI Design Lecture 10 Sequential
















































- Slides: 48
 
	Introduction to CMOS VLSI Design Lecture 10: Sequential Circuits Credits: David Harris Harvey Mudd College (Material taken/adapted from Harris’ lecture notes) 10: Sequential Circuits 1
 
	Outline q q q Sequencing Element Design Max and Min-Delay Clock Skew Time Borrowing Two-Phase Clocking 10: Sequential Circuits CMOS VLSI Design 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 10: Sequential Circuits CMOS VLSI Design 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 – Delay fast tokens so they don’t catch slow ones. 10: Sequential Circuits CMOS VLSI Design 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 10: Sequential Circuits CMOS VLSI Design 5
 
	Sequencing Elements q Latch: Level sensitive – a. k. a. transparent latch, D latch q Flip-flop: edge triggered – A. k. a. master-slave flip-flop, D register q Timing Diagrams – Transparent – Opaque – Edge-trigger 10: Sequential Circuits CMOS VLSI Design 6
 
	Sequencing Elements q Latch: Level sensitive – a. k. a. transparent latch, D latch q Flip-flop: edge triggered – A. k. a. master-slave flip-flop, D register q Timing Diagrams – Transparent – Opaque – Edge-trigger 10: Sequential Circuits CMOS VLSI Design 7
 
	Latch Design q Pass Transistor Latch q Pros + + q Cons – – – 10: Sequential Circuits CMOS VLSI Design 8
 
	Latch Design q Pass Transistor Latch q Pros + Tiny + Low clock load q Cons – Vt drop – nonrestoring – backdriving – output noise sensitivity – dynamic – diffusion input 10: Sequential Circuits CMOS VLSI Design Used in 1970’s 9
 
	Latch Design q Transmission gate + - 10: Sequential Circuits CMOS VLSI Design 10
 
	Latch Design q Transmission gate + No Vt drop - Requires inverted clock 10: Sequential Circuits CMOS VLSI Design 11
 
	Latch Design q Inverting buffer + + + Fixes either • • – 10: Sequential Circuits CMOS VLSI Design 12
 
	Latch Design q Inverting buffer + Restoring + No backdriving + Fixes either • Output noise sensitivity • Or diffusion input – Inverted output 10: Sequential Circuits CMOS VLSI Design 13
 
	Latch Design q Tristate feedback + – 10: Sequential Circuits CMOS VLSI Design 14
 
	Latch Design q Tristate feedback + Static – Backdriving risk q Static latches are now essential 10: Sequential Circuits CMOS VLSI Design 15
 
	Latch Design q Buffered input + + 10: Sequential Circuits CMOS VLSI Design 16
 
	Latch Design q Buffered input + Fixes diffusion input + Noninverting 10: Sequential Circuits CMOS VLSI Design 17
 
	Latch Design q Buffered output + 10: Sequential Circuits CMOS VLSI Design 18
 
	Latch Design q Buffered output + No backdriving q Widely used in standard cells + Very robust (most important) - Rather large - Rather slow (1. 5 – 2 FO 4 delays) - High clock loading 10: Sequential Circuits CMOS VLSI Design 19
 
	Latch Design q Datapath latch + - 10: Sequential Circuits CMOS VLSI Design 20
 
	Latch Design q Datapath latch + Smaller, faster - unbuffered input 10: Sequential Circuits CMOS VLSI Design 21
 
	Flip-Flop Design q Flip-flop is built as pair of back-to-back latches 10: Sequential Circuits CMOS VLSI Design 22
 
	Enable q Enable: ignore clock when en = 0 – Mux: increase latch D-Q delay – Clock Gating: increase en setup time, skew 10: Sequential Circuits CMOS VLSI Design 23
 
	Reset q Force output low when reset asserted q Synchronous vs. asynchronous 10: Sequential Circuits CMOS VLSI Design 24
 
	Set / Reset q Set forces output high when enabled q Flip-flop with asynchronous set and reset 10: Sequential Circuits CMOS VLSI Design 25
 
	Sequencing Methods q Flip-flops q 2 -Phase Latches q Pulsed Latches 10: Sequential Circuits CMOS VLSI Design 26
 
	Timing Diagrams Contamination and Propagation Delays tpd Logic Prop. Delay tcd Logic Cont. Delay tpcq Latch/Flop Clk-Q Prop Delay tccq Latch/Flop Clk-Q Cont. Delay tpdq Latch D-Q Prop Delay tpcq Latch D-Q Cont. Delay tsetup Latch/Flop Setup Time thold Latch/Flop Hold Time 10: Sequential Circuits CMOS VLSI Design 27
 
	Max-Delay: Flip-Flops 10: Sequential Circuits CMOS VLSI Design 28
 
	Max-Delay: Flip-Flops 10: Sequential Circuits CMOS VLSI Design 29
 
	Max Delay: 2 -Phase Latches 10: Sequential Circuits CMOS VLSI Design 30
 
	Max Delay: 2 -Phase Latches 10: Sequential Circuits CMOS VLSI Design 31
 
	Max Delay: Pulsed Latches 10: Sequential Circuits CMOS VLSI Design 32
 
	Max Delay: Pulsed Latches 10: Sequential Circuits CMOS VLSI Design 33
 
	Min-Delay: Flip-Flops 10: Sequential Circuits CMOS VLSI Design 34
 
	Min-Delay: Flip-Flops 10: Sequential Circuits CMOS VLSI Design 35
 
	Min-Delay: 2 -Phase Latches Hold time reduced by nonoverlap Paradox: hold applies twice each cycle, vs. only once for flops. But a flop is made of two latches! 10: Sequential Circuits CMOS VLSI Design 36
 
	Min-Delay: 2 -Phase Latches Hold time reduced by nonoverlap Paradox: hold applies twice each cycle, vs. only once for flops. But a flop is made of two latches! 10: Sequential Circuits CMOS VLSI Design 37
 
	Min-Delay: Pulsed Latches Hold time increased by pulse width 10: Sequential Circuits CMOS VLSI Design 38
 
	Min-Delay: Pulsed Latches Hold time increased by pulse width 10: Sequential Circuits CMOS VLSI Design 39
 
	Time Borrowing q In a flop-based system: – Data 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 – Data can pass through latch while transparent – Long cycle of logic can borrow time into next – As long as each loop completes in one cycle 10: Sequential Circuits CMOS VLSI Design 40
 
	Time Borrowing Example 10: Sequential Circuits CMOS VLSI Design 41
 
	How Much Borrowing? 2 -Phase Latches Pulsed Latches 10: Sequential Circuits CMOS VLSI Design 42
 
	Clock Skew q We have assumed zero clock skew q Clocks really have uncertainty in arrival time – Decreases maximum propagation delay – Increases minimum contamination delay – Decreases time borrowing 10: Sequential Circuits CMOS VLSI Design 43
 
	Skew: Flip-Flops 10: Sequential Circuits CMOS VLSI Design 44
 
	Skew: Latches 2 -Phase Latches Pulsed Latches 10: Sequential Circuits CMOS VLSI Design 45
 
	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 f 1, f 2 (ph 1, ph 2) 10: Sequential Circuits CMOS VLSI Design 46
 
	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 10: Sequential Circuits CMOS VLSI Design 47
 
	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 10: Sequential Circuits CMOS VLSI Design 48
