10
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 –Delay fast tokens so they don’t catch slow ones.

11
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

46
Time Borrowing  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  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

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

53
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