0% found this document useful (0 votes)
12 views80 pages

Chapter

Digital Integrated Circuits Timing Issues Synchronous Timing CLK In R1 Combinational Logic Cout R2 Out EE141 (c) Delays can be different for rising and falling data transitions. Skew and jitter affect the effective cycle time Only skew affects the race margin.

Uploaded by

Ashish Verma
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views80 pages

Chapter

Digital Integrated Circuits Timing Issues Synchronous Timing CLK In R1 Combinational Logic Cout R2 Out EE141 (c) Delays can be different for rising and falling data transitions. Skew and jitter affect the effective cycle time Only skew affects the race margin.

Uploaded by

Ashish Verma
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

Integrated Circuits

A Design Perspective
Jan M. Rabaey Anantha Chandrakasan Borivoje Nikoli

Timing Issues
January 2003
2nd

EE141 Digital Integrated Circuits

Timing Issues

Synchronous Timing
CLK In R1 Combinational Logic Cout R2

Cin

Out

EE141 Digital Integrated Circuits

2nd

Timing Issues

Timing Definitions

EE141 Digital Integrated Circuits

2nd

Timing Issues

Latch Parameters
D Q Clk T Clk D tc-q PWm thold td-q tsu

Delays can be different for rising and falling data transitions


2nd

EE141 Digital Integrated Circuits

Timing Issues

Register Parameters
D Q Clk T Clk D tsu Q tc-q Delays can be different for rising and falling data transitions
2nd

thold

EE141 Digital Integrated Circuits

Timing Issues

Clock Uncertainties
4 Power Supply 3 Interconnect Devices 2 5 Temperature 1 Clock Generation 6 Capacitive Load 7 Coupling to Adjacent Lines

Sources of clock uncertainty


2nd

EE141 Digital Integrated Circuits

Timing Issues

Clock Nonidealities

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
2nd

EE141 Digital Integrated Circuits

Timing Issues

Clock Skew and Jitter


Clk
tSK

Clk

tJS

Both skew and jitter affect the effective cycle time Only skew affects the race margin

EE141 Digital Integrated Circuits

2nd

Timing Issues

Clock Skew
# of registers Earliest occurrence Latest occurrence of Clk edge of Clk edge Nominal /2 Nominal + /2

Insertion delay Max Clk skew

Clk delay

EE141 Digital Integrated Circuits

2nd

Timing Issues

Positive and Negative Skew


In CLK R1 D Q tCLK1 delay (a) Positive skew R1 D Q tCLK1 delay (b) Negative skew
10

Combinational Logic

R2 D Q tCLK2

Combinational Logic

R3 D Q tCLK3

delay

In

Combinational Logic

R2 D Q tCLK2

Combinational Logic

R3 D Q tCLK3

EE141 Digital Integrated Circuits

2nd

Timing Issues

Positive Skew
TCLK + CLK1 1

TCLK

CLK2

2
+ th

Launching edge arrives before the receiving edge


11

EE141 Digital Integrated Circuits

2nd

Timing Issues

Negative Skew
TCLK + CLK1 1 TCLK 3

CLK2

Receiving edge arrives before the launching edge


12

EE141 Digital Integrated Circuits

2nd

Timing Issues

Timing Constraints
In R1 D Q tCLK1 tc q, cd tsu, thold tc q t tlogic Combinational Logic R2 D Q tCLK2

CLK

Minimum cycle time: T - = tc-q + tsu + tlogic


Worst case is when receiving edge arrives early (positive )
2nd

EE141 Digital Integrated Circuits

Timing Issues

13

Timing Constraints
In R1 D Q tCLK1 tc q, cd tsu, thold tc q t tlogic Combinational Logic R2 D Q tCLK2

CLK

Hold time constraint: t(c-q, cd) + t(logic, cd) > thold +


Worst case is when receiving edge arrives late Race between data and clock
2nd

EE141 Digital Integrated Circuits

Timing Issues

14

Impact of Jitter

CLK

TC LK

t j itter -tji tte r

In

REGS CLK tc-q , tc-q, ts u, thold tjitter

Combinat ional Logic t log ic t log ic, cd

cd

EE141 Digital Integrated Circuits

2nd

Timing Issues

15

Longest Logic Path in Edge-Triggered Systems


TSU Clk TClk-Q TLM T TJI +

Latest point of launching

Earliest arrival of next cycle

EE141 Digital Integrated Circuits

2nd

Timing Issues

16

Clock Constraints in Edge-Triggered Systems


If launching edge is late and receiving edge is early, the data will not be too late if:

Tc-q + TLM + TSU < T TJI,1 TJI,2 -


Minimum cycle time is determined by the maximum delays through the logic

Tc-q + TLM + TSU + + 2 TJI < can Skew T be either positive or negative
2nd

EE141 Digital Integrated Circuits

Timing Issues

17

Shortest Path
Earliest point of launching

Clk

TClk-Q TLm

Clk

TH
Data must not arrive before this time

Nominal clock edge

EE141 Digital Integrated Circuits

2nd

Timing Issues

18

in Edge-Triggered Systems
If launching edge is early and receiving edge is late:

Tc-q + TLM TJI,1 < TH + TJI,2 +


Minimum logic delay

Tc-q + TLM < TH + 2TJI+


2nd

EE141 Digital Integrated Circuits

Timing Issues

19

How to counter Clock Skew?


Negative Skew REG

REG

REG In

REG

log

Out

Positive Skew Clock Distribution

Data and Clock Routing


20

EE141 Digital Integrated Circuits

2nd

Timing Issues

Flip-Flop Based Timing


Skew

Logic delay TSU

Flip-flop delay

Flip -flop

TClk-Q

Logic

= 0

= 1

Representation after M. Horowitz, VLSI Circuits 1996.


2nd

EE141 Digital Integrated Circuits

Timing Issues

21

Flip-Flops and Dynamic Logic


Logic delay TSU TSU TClk-Q TClk-Q

= 0

= 1
Logic delay

= 0

= 1

Precharge

Evaluate

Evaluate

Precharge

Flip-flops are used only with static logic


2nd

EE141 Digital Integrated Circuits

Timing Issues

22

Latch timing
tD-Q
D Clk Q

When data arrives to transparent latch Latch is a soft barrier

tClk-Q When data arrives to closed latch Data has to be re-launched


2nd

EE141 Digital Integrated Circuits

Timing Issues

23

Single-Phase Clock with Latches


Latch

Logic

Tskl Clk

Tskl

Tskt

Tskt

PW P
Timing Issues
24

EE141 Digital Integrated Circuits

2nd

Latch-Based Design
L1 latch is transparent when = 0

L2 latch is transparent when = 1

L1 Latch

Logic

L2 Latch

Logic

EE141 Digital Integrated Circuits

2nd

Timing Issues

25

Slack-borrowing
In L1 D Q a CLB_A t p d,A b L2 D Q c CLB_B t p d,B L1 d D Q e

CLK1

CLK2

TC LK

CLK1

CLK1

CLK2 slack passed to next stage t pd,A a valid tD Q tpd,B t DQ e valid d valid
26

b valid c valid

EE141 Digital Integrated Circuits

2nd

Timing Issues

Latch-Based Timing
Static logic

Skew

L1 Latch

Logic

L2 Latch

L1 latch
Logic

= 1 = 0
Short path

L2 latch

Long path

Can tolerate skew!

EE141 Digital Integrated Circuits

2nd

Timing Issues

27

Clock Distribution

H-tree

CLK

Clock is distributed in a tree-like fashion


2nd

EE141 Digital Integrated Circuits

Timing Issues

28

More realistic H-tree

[Restle98]
2nd

EE141 Digital Integrated Circuits

Timing Issues

29

The Grid System


G D C L e r K r i v

D r iv e r

D riv e r

No rc-matching Large power


D r i v G C e r L K

EE141 Digital Integrated Circuits

2nd

Timing Issues

30

Example: DEC Alpha 21164


Clock Frequency: 300 MHz - 9.3 Million Transistors Total Clock Load: 3.75 nF Power in Clock Distribution network : 20 W (out of 50) Uses Two Level Clock Distribution: Single 6-stage driver at center of chip Secondary buffers drive left and right side clock grid in Metal3 and Metal4 Total driver size: 58 cm!

EE141 Digital Integrated Circuits

2nd

Timing Issues

31

21164 Clocking
tcycle= 3.3ns trise = 0.35ns final drivers tskew = 150ps

Clock waveform

2 phase single wire clock, distributed globally 2 distributed driver channels


Reduced RC delay/skew Improved thermal distribution 3.75nF clock load 58 cm final driver width

pre-driver

Location of clock driver on die


2nd

Local inverters for latching Conditional clocks in caches to reduce power More complex race checking Device variation
Timing Issues
32

EE141 Digital Integrated Circuits

Clock Drivers

EE141 Digital Integrated Circuits

2nd

Timing Issues

33

Clock Skew in Alpha Processor

EE141 Digital Integrated Circuits

2nd

Timing Issues

34

EV6 (Alpha 21264) Clocking 600 MHz 0.35 micron CMOS


tcycle= 1.67ns

trise = 0.35ns Global clock waveform

tskew = 50ps 2 Phase, with multiple conditional buffered clocks


2.8 nF clock load 40 cm final driver width


PLL

Local clocks can be gated off to save power Reduced load/skew Reduced thermal issues Multiple clocks complicate race checking
Timing Issues
35

EE141 Digital Integrated Circuits

2nd

21264 Clocking

EE141 Digital Integrated Circuits

2nd

Timing Issues

36

EV6 Clock Results


ps 5 10 15 20 25 30 35 40 45 50 GCLK Skew
(at Vdd/2 Crossings)
2nd

ps 300 305 310 315 320 325 330 335 340 GCLK Rise Times
(20% to 80% Extrapolated to 0% to 100%)
37

345

EE141 Digital Integrated Circuits

Timing Issues

EV7 Clock Hierarchy


Active Skew Management and Multiple Clock Domains
NCLK ( M e m C t r l)

+ widely dispersed drivers


DLL

+ DLLs compensate static and lowfrequency variation + divides design and verification effort

DLL

DLL

G CLK (C P U C o re )

- DLL design and verification is added work + tailored clocks


Timing Issues
38

L2L_CLK (L2 Cache)

PLL

SYSCLK

EE141 Digital Integrated Circuits

2nd

L2R_CLK (L2 Cache)

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
2nd

EE141 Digital Integrated Circuits

Timing Issues

39

Synchronous Pipelined Datapath


In R1 D Q tpd,reg Logic Block #1 tpd1 R2 D Q Logic Block #2 tpd2 R3 D Q tpd3 R4 D Q

CLK

EE141 Digital Integrated Circuits

2nd

Timing Issues

40

Self-Timed Pipelined Datapath


Req Ack HS Start Req Ack Done HS Start Req Ack Done HS Start Req ACK Done

In

R1

F1

R2

F2

R3

F3

Out

tpF1

tpF2

tpF3

EE141 Digital Integrated Circuits

2nd

Timing Issues

41

Completion Signal Generation


In LOGIC NETWORK Out

Start

DELAY MODULE

Done

Using Delay Element (e.g. in memories)

EE141 Digital Integrated Circuits

2nd

Timing Issues

42

Completion Signal Generation

Using Redundant Signal Encoding

EE141 Digital Integrated Circuits

2nd

Timing Issues

43

Completion Signal in DCVSL


VDD Start VDD B0 B1 B0 In1 In1 In2 In2 B1 Done

PDN

PDN

Start

EE141 Digital Integrated Circuits

2nd

Timing Issues

44

Self-Timed Adder
VDD Start C0 C0 Start VDD Start C0 C0 Start (a) Differential carry generation
45

VDD C3 P3 G3 Start C4 C4 C4 C3 C2 C1 Start C3 P3 K3 C4 C4 (b) Completion signal Done C4 C3 C2 C1

P0 G0

C1

P1 G1

C2

P2 G2

P0 K0

C1

P1 K1

C2

P2 K2

EE141 Digital Integrated Circuits

2nd

Timing Issues

Completion Signal Using Current Sensing


Input Register VDD Static CMOS Logic GND sense Current Sensor A Done Min Delay Generator B Output A toverlap B tMDG Done Output tpd-NOR valid Start tdelay

Inputs Start

EE141 Digital Integrated Circuits

2nd

Timing Issues

46

Hand-Shaking Protocol
Req Ack SENDER Data RECEIVER Ack Req 3

(a) Sender-receiver configuration

Data

1 cycle 1

1 cycle 2 Senders action Receivers action (b) Timing diagram

Two Phase Handshake

EE141 Digital Integrated Circuits

2nd

Timing Issues

47

Event Logic The Muller-C Element


A F B (a) Schematic
VDD A B A S R (a) Logic Q F B B A B VDD B F

A 0 0 1 1

B 0 1 0 1

Fn+1 0 Fn Fn 1

(b) Truth table


VDD

(b) Majority Function (c) Dynamic


2nd

EE141 Digital Integrated Circuits

Timing Issues

48

2-Phase Handshake Protocol


Sender logic Data ready C Req Ack Handshake logic Data Receiver logic Data accepted

Advantage : FAST - minimal # of signaling events (important for global interconnect) Disadvantage : edge - sensitive, has state
2nd

EE141 Digital Integrated Circuits

Timing Issues

49

Example: Self-timed FIFO


In Out R1 En Reqi C Acki C C Acko Done Req0 R2 R3

All 1s or 0s -> pipeline empty Alternating 1s and 0s -> pipeline full


2nd

EE141 Digital Integrated Circuits

Timing Issues

50

2-Phase Protocol

EE141 Digital Integrated Circuits

2nd

Timing Issues

51

Example

From [Horowitz]
2nd

EE141 Digital Integrated Circuits

Timing Issues

52

Example

EE141 Digital Integrated Circuits

2nd

Timing Issues

53

Example

EE141 Digital Integrated Circuits

2nd

Timing Issues

54

Example

EE141 Digital Integrated Circuits

2nd

Timing Issues

55

4-Phase Handshake Protocol


2 Req 4 Senders action Receivers action Ack 3 Data 1 Cycle 1 5 1 Cycle 2

Also known as RTZ Slower, but unambiguous


2nd

EE141 Digital Integrated Circuits

Timing Issues

56

4-Phase Handshake Protocol


Implementation using Muller-C elements
Data Sender logic Data ready Req C C S Ack Receiver logic Data accepted

Handshake logic

EE141 Digital Integrated Circuits

2nd

Timing Issues

57

Self-Resetting Logic
completion detection (L1) completion detection (L2) completion detection (L3)

Precharged Logic Block (L1)

Precharged Logic Block (L2)

Precharged Logic Block (L3)

VDD

int out A B C

Post-charge logic

EE141 Digital Integrated Circuits

2nd

Timing Issues

58

Clock-Delayed Domino
GND CLK1 VDD Q1 (also D2) D1 Pulldown Network CLK2 (to next stage)

EE141 Digital Integrated Circuits

2nd

Timing Issues

59

AsynchronousSynchronous Interface

fin Asynchronous system Synchronous system fCLK Synchronization

EE141 Digital Integrated Circuits

2nd

Timing Issues

60

Synchronizers and Arbiters


Arbiter: Circuit to decide which of 2 events occurred first Synchronizer: Arbiter with clock as one of the inputs Problem: Circuit HAS to make a decision in limited time - which decision is not important Caveat: It is impossible to ensure correct operation But, we can decrease the error probability at the expense of delay

2nd

EE141 Digital Integrated Circuits

Timing Issues

61

A Simple Synchronizer
CLK int I1 Q I2

CLK

Data sampled on rising edge of the clock Latch will eventually resolve the signal value, but ... this might take infinite time!
2nd

EE141 Digital Integrated Circuits

Timing Issues

62

Synchronizer: Output Trajectories


2 .2 Vout 2 .2 22 . 2

22 2 22 2 time [ps]

22 2

Single-pole model for a flip-flop

EE141 Digital Integrated Circuits

2nd

Timing Issues

63

Mean Time to Failure

EE141 Digital Integrated Circuits

2nd

Timing Issues

64

Example
Tf = 10 nsec = T Tsignal = 50 nsec tr = 1 nsec t = 310 psec VIH - VIL = 1 V (VDD = 5 V)

N(T) = 3.9 10-9 errors/sec MTF (T) = 2.6 108 sec = 8.3 years MTF (0) = 2.5 sec
2nd

EE141 Digital Integrated Circuits

Timing Issues

65

Influence of Noise
Uniform distribution around VM p(v)

logarithmic reduction T

VIL

VIH

Initial Distribution

Still Uniform

Low amplitude noise does not influence synchronization behavior


2nd

EE141 Digital Integrated Circuits

Timing Issues

66

Typical Synchronizers
2 phase clocking circuit
Q 1 2

Using delay line

EE141 Digital Integrated Circuits

2nd

Timing Issues

67

Cascaded Synchronizers Reduce MTF


In Sync O1 Sync O2 Sync Out

EE141 Digital Integrated Circuits

2nd

Timing Issues

68

Arbiters
Req1 Req2 Arbiter Ack1 Ack2 Req2
Ack1

Req1

A B
Ack2

(a) Schematic symbol Req1 Req2 A B metastable Ack1 VT gap

(b) Implementation (c) Timing diagram t

EE141 Digital Integrated Circuits

2nd

Timing Issues

69

PLL-Based Synchronization
Chip 1 Data Digital System fsystem = N x fcrystal PLL fcrystal , 200<Mhz Crystal Oscillator Divider reference clock Digital System Chip 2

PLL Clock Buffer

EE141 Digital Integrated Circuits

2nd

Timing Issues

70

PLL Block Diagram


Reference clock Up Phase detector Down Charge pump Loop filter v VCO

Local clock

Divide by N

System Clock

EE141 Digital Integrated Circuits

2nd

Timing Issues

71

Phase Detector
ref ref Output local clock (a) VDD local clock Output

Output before filtering

Output (Low pass filtered)

(b)

Transfer characteristic
90 (c) 180 phase error (deg)

-180

-90
2nd

EE141 Digital Integrated Circuits

Timing Issues

72

Phase-Frequency Detector
Rst D Q A Rst D Q B (a) schematic A B UP DN B UP B UP = 0 DN = 1 DN UP = 0 DN = 0 UP = 1 DN = 0 A A

(b) state transition diagram A B UP DN (c) Timing waveforms


2nd

EE141 Digital Integrated Circuits

Timing Issues

73

PFD Response to Frequency


A B UP DN

EE141 Digital Integrated Circuits

2nd

Timing Issues

74

PFD Phase Transfer Characteristic


Average (UP-DN) VDD

2 2 phase error (deg)

EE141 Digital Integrated Circuits

2nd

Timing Issues

75

Charge Pump
VDD

UP DN

To VCO Control Input

EE141 Digital Integrated Circuits

2nd

Timing Issues

76

PLL Simulation
ref 1.0 0.8 0.6 0.4 ref 0.2 0.0 div 0 1 2 3 4 5 vco Time ( s) div

Control Voltage (V)

vco

EE141 Digital Integrated Circuits

2nd

Timing Issues

77

Clock Generation using DLLs


Delay-Locked Loop (Delay Line Based) fREF
U D

Phase Det

Charge Pump

DL
Filter

fO Phase-Locked Loop (VCO-Based) fREF N PD


U D

CP
Filter

VCO fO

EE141 Digital Integrated Circuits

2nd

Timing Issues

78

Delay Locked Loop


FREF PH Phase detect U D Charge C pump (a) REF OUT UP DN PH VCTRL Delay
79

VCTRL VCDL FO

EE141 Digital Integrated Circuits

2nd

Timing Issues

DLL-Based Clock Distribution


VCDL Digital Circuit

CP/LF Phase Detector GLOBAL CLK VCDL Digital Circuit

CP/LF Phase Detector


2nd

EE141 Digital Integrated Circuits

Timing Issues

80

You might also like