Sequential Circuits Principles of VLSI Design CMPE 413 Sequential Circuits Combinational Circuits Outputs depend on the current inputs Sequential Circuits Outputs depend on current and previous inputs Requires separating previous, current and future Called states or tokens Example: Finite State Machines (FSMs), Pipelines clk in clk clk clk out CL Finite State Machine CL CL Pipeline 1 Principles of VLSI Design Sequential Circuits CMPE 413 Sequential Circuits If tokens moved through pipeline at constant speed, no sequencing elements will be needed Ex: Fibre-optic cable, called wave pipelining in circuits However, dispersion is high in most circuits We need to delay fast tokens, so that they don't catch up with slow tokens Use flip-flops to delay fast tokens so that they move through exactly one stage per cycle Inevitably adds some delay to slow tokens Makes circuit slower than just the logic delay Called sequencing overhead Sometimes called clocking overhead But it applies to asynchronous circuits too Inevitable side effect of maintaining sequence 2 Sequential Circuits Principles of VLSI Design CMPE 413 Sequential Elements Latch Level sensitive Transparent latch D latch Flip-Flop Edge triggered Master-slave flip-flop D flip-flop, D register clk Q D Flop D Latch clk Q clk D Q (latch) Q (flop) 3 Sequential Circuits Principles of VLSI Design CMPE 413 Sequential Elements: Latch Pass Transistor Latch φ D Q Pros: Tiny Low clock loads Cons: Vt drop nonrestoring backdriving output noise sensitivity dynamic diffusion input 4 Principles of VLSI Design Sequential Circuits CMPE 413 Sequential Elements: Latch Transmission Gate Latch No Vt drop Requires inverted clock Inverting Buffer Pros: Restoring No backdriving Fixes either: output noise sensitivity Or diffusion input Cons: Inverted output φ D Q φ φ X D φ Q φ D Q φ 5 Principles of VLSI Design Sequential Circuits CMPE 413 Sequential Elements: Latch Tristate feedback Static Backdriving risk φ X D Q φ φ Static latches are now essential φ Buffered Input φ Fixes diffusion input Noninverting X D φ Q φ φ 6 Principles of VLSI Design Sequential Circuits CMPE 413 Sequential Elements: Latch Buffered Output Non backdriving Widely used in standard cells Very robust (important feature) Rather large Rather slow (1.5 - 2 FO4 delays) High clock loading φ X D φ φ φ Datapath Latch Smaller, faster Unbuffered input Q φ Q X D φ φ φ 7 Sequential Circuits Principles of VLSI Design CMPE 413 Sequential Elements: Flip-Flop Flip-Flop Built as a pair of back-to-back latches φ φ X D Q φ φ φ φ Q X D φ Q φ φ φ φ φ 8 Sequential Circuits Principles of VLSI Design CMPE 413 Sequential Elements Enable Ignore clock when enable is inactive Mux: increase latch D-Q delay Clock-gating: increase enable setup time, skew Symbol Multiplexer Design Clock Gating Design φ en 0 en D Q D 1 0 Q Flop φ Flop Q en φ en φ D Latch 1 D Q Q D en Flop Latch D Latch φ φ Q en 9 Sequential Circuits Principles of VLSI Design CMPE 413 Sequential Elements Reset Force output low when reset is asserted Synchronous vs. asynchronous φ Q D reset Synchronous Reset φ Q φ reset D φ Q reset φ reset D Flop Symbol D Latch φ Q Q φ φ φ φ φ φ φ Asynchronous Reset Q φ φ Q φ φ reset reset D D φ φ φ φ φ φ reset reset φ φ φ 10 Sequential Circuits Principles of VLSI Design CMPE 413 Sequential Elements Set / Reset Set forces output high when asserted Flip-Flop with asynchronous set and reset φ φ reset set D φ φ φ Q φ set reset φ φ 11 Sequential Circuits Principles of VLSI Design CMPE 413 Timing Diagrams A Combinational Logic A tpd Y tcd Y 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 Flop D Q tsetup thold D tpcq Q clk clk D Latch Contamination and propogation delays clk clk tccq tsetup thold tccq tpcq Q D tcdq tpdq Q 12 Sequential Circuits Principles of VLSI Design CMPE 413 Sequencing Methods Tc Flip-Flops clk Combinational Logic φ1 tnonoverlap tnonoverlap Tc/2 φ2 Combinational Logic Combinational Logic Half-Cycle 1 tpw φp Combinational Logic Latch φp Latch φp φ1 Latch Latch φ1 Latch φ2 Half-Cycle 1 Pulsed Latches Pulsed latches 2-Phase Transparent Latches 2-Phase latches Flop clk Flop Flip-Flops clk 13 Sequential Circuits Principles of VLSI Design CMPE 413 Max-Delay: Flip-Flops T C = t pcq + t pd + t setup t pd ≤ T C − ( t setup + t pcq ) sequencing delay clk Q1 Combinational Logic D2 F2 F1 clk Tc clk Q1 tsetup tpcq tpd D2 14 Sequential Circuits Principles of VLSI Design CMPE 413 Max-Delay: 2-Phase Latches t pd = t pd1 + t pd2 ≤ T c − ( 2t pdq ) Q1 Combinational Logic 1 D2 φ1 Q2 Combinational Logic 2 D3 L3 φ2 L2 D1 L1 T c ≥ t pdq1 + t pd1 + t pdq2 + t pd2 φ1 Q3 φ1 φ2 sequencing delay Tc D1 Q1 D2 Q2 tpdq1 tpd1 tpdq2 tpd2 D3 15 Sequential Circuits Principles of VLSI Design CMPE 413 Max-Delay: Pulsed Latches T C ≥ max ( t pdq + t pd ,t pcq + t pd + t setup − t pw ) t pd ≤ T C − max ( t pdq, t pcq + t setup − t pw ) φp Q1 D2 Combinational Logic L2 D1 L1 φp sequencing delay Q2 Tc D1 (a) tpw > tsetup tpdq Q1 tpd D2 φp tpcq Q1 Tc tpd tpw tsetup (b) tpw < tsetup D2 16 Sequential Circuits Principles of VLSI Design CMPE 413 Min-Delay: Flip-Flops t cd ≥ t hold − t ccq F1 clk Q1 CL clk F2 D2 clk Q1 tccq D2 tcd thold 17 Sequential Circuits Principles of VLSI Design CMPE 413 Min-Delay: 2 Phase Latches t cd1, t cd2 ≥ t hold − t ccq − t nonoverlap Hold time reduced by nonoverlap L1 φ1 Q1 CL D2 φ1 L2 φ2 Paradox: Hold applies twice each cycle vs. only once for flops But flops have two latches !!! tnonoverlap tccq φ2 Q1 D2 tcd thold 18 Principles of VLSI Design Sequential Circuits CMPE 413 Min-Delay: Pulsed Latches t cd ≥ t hold − t ccq + t pw Hold time increased by pulse width L1 φp Q1 CL D2 φp L2 φp tpw thold Q1 tccq tcd D2 19 Principles of VLSI Design Sequential Circuits CMPE 413 Time Borrowing In a flip-flop based system Data launches on one rising/falling edge Must setup before next rising/falling edge If it arrives late, system fails If it arrives early, time is wasted Flops have hard edges In a latch-based system Data can pass through latch when transperent Long cycle of logic can borrow time into the next cycle As long as each loop completes in one cycle This mechanism is called time borrowing 20 Sequential Circuits Principles of VLSI Design CMPE 413 Time Borrowing φ1 φ2 Combinational Logic Borrowing time across half-cycle boundary Combinational Logic Borrowing time across pipeline stage boundary φ2 Combinational Logic Latch (b) Latch φ1 φ1 Latch φ2 Latch (a) Latch φ1 Combinational Logic Loops may borrow time internally but must complete within the cycle 21 Sequential Circuits Principles of VLSI Design CMPE 413 Time Borrowing How much borrowing? 2 phased latches: TC t borrow ≤ ------- − ( t setup + t nonoverlap ) 2 pulsed latches: t borrow ≤ t pw − t setup φ2 Q1 Combinational Logic 1 D2 L2 D1 L1 φ1 Q2 φ1 φ2 tnonoverlap Tc Tc/2 Nominal Half-Cycle 1 Delay tborrow tsetup D2 22 Principles of VLSI Design Sequential Circuits CMPE 413 Clock Skew clk F1 Q1 We have assumed zero clock skew D2 Tc Clock really have uncertainty in arrival time decrease max-delay increases min-delay decreases time borrowing Combinational Logic F2 clk clk tpcq Q1 tskew tpdq tsetup D2 clk Q1 CL clk D2 t cd ≥ t hold − t ccq + t skew F2 t pd ≤ T C − ( t pcq − t setup − t skew ) F1 Clock Skew: Flip-flops tskew clk thold Q1 tccq D2 tcd 23 Sequential Circuits Principles of VLSI Design CMPE 413 Clock Skew: Latches 2 phased latches t pd ≤ T c − ( 2t pdq ) Q1 Com binational Logic 1 D2 φ1 Q2 Com binational Logic 2 D3 L3 φ2 L2 D1 L1 φ1 Q3 φ1 φ2 t cd1, t cd2 ≥ t hold − t ccq − t nonoverlap + t skew TC t borrow ≤ ------- − ( t setup + t nonoverlap + t skew ) 2 pulsed latches t pd ≤ T C − max ( t pdq, t pcq + t setup − t pw + t skew ) t cd ≥ t hold − t ccq + t pw + t skew t borrow ≤ t pw − ( t setup + t skew ) 24
© Copyright 2026 Paperzz