EE241 Types of Flip-Flops Latch Pair (Master-Slave) L1 Data Pulse-Triggered Latch L2 D Q D Q Clk Clk L Data Clk D Q Clk Clk UC Berkeley EE241 B. Nikolic Flip-Flop Delay l l Sum of setup time and Clk-output delay is the only true measure of the performance with respect to the system speed T = TClk-Q + TLogic + Tsetup+ Tskew D Q Logic D Q N Clk TClk-Q UC Berkeley EE241 Clk TLogic TSetup B. Nikolic 1 EE241 Delay vs. Setup/Hold Times 350 300 Minimum Data-Output Clk-Output [ps] 250 200 150 Setup Hold 100 50 0 -200 -150 -100 -50 0 50 100 150 200 Data-Clk [ps] UC Berkeley EE241 B. Nikolic Master-Slave Latches Positive setup times l Two clock phases: l » distributed globally » generated locally Small penalty in delay for incorporating MUX l Some circuit tricks needed to reduce the overall delay l UC Berkeley EE241 B. Nikolic 2 EE241 Master-Slave Latches Case 1: PowerPC 603 (Gerosa, JSSC 12/94) Vdd Clk Vdd Clkb Q D Clkb Clk UC Berkeley EE241 B. Nikolic T-G Master-Slave Latch Feedback added for static operation Unbuffered input input capacitance depends on the phase of the clock over-shoot and under-shoot with long routes wirelength must be restricted at the input Clock load is high Low power Small clk-output delay, but positive setup UC Berkeley EE241 B. Nikolic 3 EE241 Master-Slave Latches Vdd Vdd Case 2: C2MOS Ck Ckb Ckb Ck D Vdd Q Vdd Clk Vdd Ck Feedback added for static operation Locally generated clock Poor driving capability Robustness to clock slope Vdd Vdd Vdd Ckb Ck Ck Ckb UC Berkeley EE241 B. Nikolic Pulse-Triggered Latches First stage is a pulse generator generates a pulse (glitch) on a rising edge of the clock Second stage is a latch captures the pulse generated in the first stage Pulse generation results in a negative setup time Frequently exhibit a soft edge property Note: power is always consumed in the pulse generator UC Berkeley EE241 B. Nikolic 4 EE241 Pulse-Triggered Latches Case 1: Hybrid Latch Flip-Flop, AMD K-6 Partovi, ISSCC’96 Vdd Q Q D Clk UC Berkeley EE241 B. Nikolic HLFF Operation 1-0 and 0-1 transitions at the input with 0ps setup time UC Berkeley EE241 B. Nikolic 5 EE241 Hybrid Latch Flip-Flop Flip-flops features: single phase clock edge triggered, on one clock edge Latch features: Soft clock edge property brief transparency, equal to 3 inverter delays negative setup time allows slack passing absorbs skew Hold time is comparable to HLFF delay minimum delay between flip-flops must be controlled Fully static Possible to incorporate logic UC Berkeley EE241 B. Nikolic Soft Edge Property Also known as cycle borrowing, or slack passing In latch based designs, if longest path datum reaches latch before its setup time, clock skew does not affect cycle time If longest path reaches latch close to setup time, clock skew is directly subtracted from cycle time Flip-flop presents a ‘hard’ edge - no slack passing. HLFF is a compromise - has a controlled transparency period, that can absorb skew Price is paid in the hold time UC Berkeley EE241 B. Nikolic 6 EE241 Hybrid Latch Flip-Flop Skew absorption UC Berkeley EE241 Partovi et al, ISSCC’96 B. Nikolic Pulse-Triggered Latches Case 2: AMD K-7 UC Berkeley EE241 Courtesy of IEEE Press, New York. 2000 B. Nikolic 7 EE241 Pulse-Triggered Latches Case 3: Semi-Dynamic Flip-Flop (SDFF), Sun UltraSparc III, Klass, VLSI Circuits’98 Vdd Vdd Q Q D Clk Pulse generator is dynamic, cross-coupled latch is added for robustness. Loses soft edge on rising transition Latch has one transistor less in stack - faster than HLFF, but 1-1 glitch exists Small penalty for adding logic UC Berkeley EE241 B. Nikolic Pulse-Triggered Latches Case 3: 7474, Texas Instruments’64 S Q Clk Q R D UC Berkeley EE241 B. Nikolic 8 EE241 7474 Karnaugh maps for signals S and R SR SR R 00 01 11 10 00 x 1 1 1 01 x 1 1 1 Clk, D Clk D 11 x 1 1 0 10 x 1 0 0 R 00 01 11 10 00 x 1 1 1 01 x 1 1 1 11 x 0 0 1 10 x 0 1 1 Clk, D Clk D Clk Clk R S DR S DS S D S = Clk ⋅ R ⋅ D ⋅ S R = Clk ⋅ S ⋅ D ⋅ R S Q Clk Q R UC Berkeley EE241 D B. Nikolic Pulse-Triggered Latches Case 4: Sense-amplifier-based flip-flop, Matsui 1992. DEC Alpha 21264, StrongARM 110 First stage is a sense amplifier, precharged to high, when Clk = 0 After rising edge of the clock sense amplifier generates the pulse on S or R The pulse is captured in S-R latch Cross-coupled NAND has different propagation delays of rising and falling edges UC Berkeley EE241 B. Nikolic 9 EE241 Sense Amplifier-Based Flip-Flop Courtesy of IEEE Press, New York. 2000 UC Berkeley EE241 B. Nikolic Flip-Flop Performance Comparison Test bench Data D Q 200fF Total power consumed Clk Q internal power Clock 200fF data power 50fF clock power Measured for four cases no activity (0000… and 1111…) Delay is (minimum D-Q) maximum activity (0101010..) average activity (random sequence) Clk-Q + setup time Stojanovic, Oklobdzija JSSC 4/99 UC Berkeley EE241 B. Nikolic 10 EE241 Flip-Flop Performance Comparison Delay vs. power comparison of different flip-flops Flip-flops are optimized for speed with output transistor sizes limited to 7.5µm/4.3 µm Total transistor gate width is indicated Total power [uW] 70 60 TG M-S 52µm Original SAFF 60µm 50 HLFF 54µm 40 30 2 mSAFF 64µm SDFF 49 µm 20 C MOS 80µm 10 0 100 150 200 250 300 350 400 450 Delay [ps] UC Berkeley EE241 500 B. Nikolic Energy Consumption Energy Breakup in TG-MS (PowerPC603) • Always consume q Clocked Nodes 8% External Load 54% 42fJ ECLK = E0-0 = E1-1 • When Q : 1-0 or 0-1 6fJ q Eint = E1-0 – E0-0 • Only when Q : 0-1 q Internal Nodes 29fJ Eext = E0-1 – E1-0 • Non-inverting Flops: 38% q Eavg = ECLK + α Eext + (1- α) Eint • • • Inverting Flops: q Eavg = ECLK + (1-α) Eext + α Eint • • (α - probability of D : 0-1) UC Berkeley EE241 [Markovic] B. Nikolic 11 EE241 Energy Dissipation Comparison of Master Slave and Pulse-Triggered Flip-Flops 250 0--0 0--1 1--0 1--1 Energy [fJ] 200 198 183 150 114 114 101 102 100 103 94 85 64 59 42 50 31 30 23 14 57 36 23 14 0 TG FF C2MOS HLFF SDFF SAFF Resized for Energy/Delay UC Berkeley EE241 B. Nikolic Local Clock Gating 2 Q CKI 0.85 D 1.2 0.85 DI 0.5 0.85 0.5 0.5 CKIB CKIB 0.5 0.5 Data-Transition Look-Ahead Pulse Generator 0.85 0.5 0.85 0.5 XNOR CKIB 0.85 ‘Clock on demand’ Flip-flop CKI CP 0.5 UC Berkeley EE241 B. Nikolic 12