800 likes | 931 Views
Digital Integrated Circuits A Design Perspective. Timing Issues. Timing Definitions. Latch Parameters. D. Q. Clk. T. Clk. PW m. t su. D. t hold. t d-q. t c-q. Q. Delays can be different for rising and falling data transitions. Register Parameters. D. Q. Clk. T. Clk. t hold.
E N D
Digital Integrated CircuitsA Design Perspective Timing Issues
Latch Parameters D Q Clk T Clk PWm tsu D thold td-q tc-q Q Delays can be different for rising and falling data transitions
Register Parameters D Q Clk T Clk thold D tsu tc-q Q Delays can be different for rising and falling data transitions
Clock Uncertainties Sources of clock uncertainty
Clock Non-idealities • Clock skew • Spatial variation in temporally equivalent clock edges; deterministic + random, tSK • Clock jitter • Temporal variations in consecutive edges of the clock signal; modulation + random noise • Cycle-to-cycle (short-term) tJS • Long term tJL • Variation of the pulse width • Important for level sensitive clocking
Clock Skew and Jitter Clk • Both skew and jitter affect the effective cycle time • Only skew affects the race margin tSK Clk tJS
Positive Skew Launching edge arrives before the receiving edge
Negative Skew Receiving edge arrives before the launching edge
Timing Constraints Minimum cycle time: T - = tc-q + tsu + tlogic Worst case is when receiving edge arrives early (positive )
Longest Logic Path in Edge-Triggered Systems TJI + d TSU Clk TClk-Q TLM T Latest point of launching Earliest arrivalof next cycle
Shortest Path Earliest point of launching Clk TClk-Q TLm Clk TH Data must not arrivebefore this time Nominalclock edge
Clock Distribution H-tree Clock is distributed in a tree-like fashion
More realistic H-tree [Restle98]
The Grid System • No rc-matching • Large power
Self-timed and Asynchronous Design Functions of clock in synchronous design 1) Acts as completion signal 2) Ensures the correct ordering of events Truly asynchronous design 1) Completion is ensured by careful timing analysis 2) Ordering of events is implicit in logic Self-timed design 1) Completion ensured by completion signal 2) Ordering imposed by handshaking protocol
Hand-Shaking Protocol Two Phase Handshake
2-Phase Handshake Protocol Advantage : FAST - minimal # of signaling events (important for global interconnect) Disadvantage : edge - sensitive, has state
4-Phase Handshake Protocol Also known as RTZ Slower, but unambiguous
4-Phase Handshake Protocol Implementation using Muller-C elements
Synchronizers and Arbiters • Arbiter: Circuit to decide which of 2 events occurred first • Synchronizer: Arbiter with clock f as one of the inputs • Problem: Circuit HAS to make a decision in limited time - which decision is not important
A Simple Synchronizer • Data sampled on rising edge of the clock • Latch will eventually resolve the signal value, but ... this might take infinite time!
Phase Detector Output before filtering Transfercharacteristic
Clock Generation using DLLs Delay-Locked Loop (Delay Line Based) fREF U PhaseDet ChargePump DL D Filter fO Phase-Locked Loop (VCO-Based) fREF U PD CP VCO D ÷N Filter fO
Digital Integrated CircuitsA Design Perspective Arithmetic Circuits
Building Blocks for Digital Architectures Arithmetic unit Bit-sliced datapath (adder, multiplier, shifter, comparator, etc.) - Memory - RAM, ROM, Buffers, Shift registers Control - Finite state machine (PLA, random logic.) - Counters Interconnect - Switches - Arbiters - Bus
Itanium Integer Datapath Fetzer, Orton, ISSCC’02
The Ripple-Carry Adder Worst case delay linear with the number of bits td = O(N) tadder = (N-1)tcarry + tsum Goal: Make the fastest possible carry path circuit