You are on page 1of 29

Introduction to Digital VLSI Design VLSI

Clock

Lecturer: Gil Rahav Semester B , EE Dept. BGU. Freescale Semiconductors Israel

Clock
Reference Signal in Sequential Elements.

o o o

Most critical signal in synchronous designs Reference for all the timing measurements Single clock signal serves multiple flops/latches

Clock tree concepts

Clock Insertion Delay = Tdly1, Tdly2 Clock Skew = Tdly2 Tdly1 For a successful signal launch and capture :i) ii)

Tck-qff1 + Tdly3 <= T + Skew Tsetupff2 Tck-qff1 + Tdly3 >= Skew + Tholdff2

Clock Tree Concepts


Rise Skew :- Skew calculated based on Rise edge at Clock Root Fall Skew :- Skew calculated based on Fall edge at Clock Root
Triggering edge Skew :- Skew calculated based on arrival times of active signal on clock pins Transition time :- The time taken by signal to make a transition from 20%-80% of the full value.

Clock Tree Architecture

H-Tree Mesh

H-Tree Clock Network


If the paths are perfectly balanced, clock skew is zero

Clock

Can insert clock gating at multiple levels in clock tree Can shut off entire subtree if all gating conditions are satisfied Idle condition Clock Gated clock

Clock Tree Synthesis :i) Achieve Insertion Delay number ii) Achieve Skew Targets iii) Maintain Transition limits iv) Limit Power Numbers

Compare the three Structures .?

SoC Clock Distribution Network

IP Core or Module Global Clock Net Core Internal Clock Net Core Internal Clock Driver/PLL: Buffer Freq. Multiply Align

SoC

External clock

PLL

Example: H-Tree
Clock Distribution

PLL
Ref clk in Ref clk out
Bypass

3 PLL out

2 1

Feedback

Restle et al., The clock distribution of the Power4 microprocessor, ISSCC2002

PLL Block Diagram

Reference clock

Up Phase detector Down Charge pump Loop filter

vcont VCO

Local clock

Divide by N

System Clock

Power reduction in Clock trees Clock Gating

Whats the Problem ?


Clock variation Difference in arrival times to flops Static reasons = skew: - Unequal wire length - Unequal buffer delay - Unequal load - IR drop - In-die process variation Dynamic reasons = drift and jitter: - Switching load supply voltage variation, IR drop, coupling - Temperature

Two Methods of Clock Distribution Networks

Zero skew at clock inputs to IP cores


(a)
IP 1 IP 2 IP 3

Zero skew at the flip-flops


(b)
IP 1 IP 2 IP 3 IP 4

clock

clock distribution network

IP 4 IP 5 IP 6 IP 7 IP 8 IP 9 clock

clock distribution network

IP 5 IP 6 IP 7 IP 8 IP 9

clock delay

clock delay

Assume perfectly balanced clock tree !

Clock Tree Synthesis


when?

Clock Tree synthesis is needed for nets which have high fanout:

Clocks

Asynchronous resets

Scan signals which feed all the Flip-flops in the design

Clock Tree Synthesis


Why?

Minimal skew . Minimal insertion delay . DRC (Design Rule Constraints) max transition, max capacitance

Clock Tree Synthesis


Why? Minimum Skew Hold violation B

Hold time violation when A + B < C

Clock Tree Synthesis


Why? Minimum Skew Setup violation B

Setup time violation when A + B > C + T

Clock Tree Synthesis


Why? Minimum Insertion Delay / Buffers Stages

Large insertion delay increase power but also results with increased skew cause of On-Chip-Variation (OCV) .

Total skew

Timing Violation

Add Buffers On Logic Path

Total Power & Area

Clock Tree Synthesis


Symmetric Clock tree

All flops of a symmetric clock tree , traced back from the clock tree root are passing the same number of levels and the same cell references at each level. The clock tree is balanced at a specific corner which should fit all corners . Asymmetric tree results with increased skew variations at different corners .

Clock Tree Synthesis


Asymmetric Clock Tree

Asymmetric Clock Tree is used for non clock signals such as asynchronous resets & DFT signals.

Asymmetric clock tree features:

Requires max delay & max transition. Relaxed constraints for skew.

Review: Synchronous Timing Basics


R1 In D Q tclk1 tc-q, tsu, thold, tcdreg Combinational logic R2 D Q tclk2 tplogic, tcdlogic

clk

Under ideal conditions (i.e., when tclk1 = tclk2)


T tc-q + tplogic + tsu thold tcdlogic + tcdreg

Under real conditions, the clock signal can have both spatial (clock skew) and temporal (clock jitter) variations
skew is constant from cycle to cycle (by definition); skew can be positive (clock and data flowing in the same direction) or negative (clock and data flowing in opposite directions) jitter causes T to change on a cycle-by-cycle basis

Sources of Clock Skew and Jitter in Clock Network


4 power supply 3 interconnect

clock 1 generation

6 capacitive load 7 capacitive

PLL

2 clock drivers

coupling

5 temperature

Skew
manufacturing device variations in clock drivers interconnect variations environmental variations (power supply and temperature)

Jitter
clock generation capacitive loading and coupling environmental variations (power supply and temperature)

Positive Clock Skew


Clock and data flow in the same direction
R1 In clk D Q tclk1
T
1

R2 Combinational logic delay


3

D Q tclk2

T+ >0
2

+ thold

T: thold :

T + tc-q + tplogic + tsu so T tc-q + tplogic + tsu - thold + tcdlogic + tcdreg so thold tcdlogic + tcdreg -

meet. If thold is not met (race conditions), the circuit malfunctions independent of the clock period!

> 0: Improves performance, but makes thold harder to

Negative Clock Skew


Clock and data flow in opposite directions
R1 In D Q tclk1 delay
T T+
1 2 4 3

R2 Combinational logic D Q tclk2 clk

<0

T: thold :

T + tc-q + tplogic + tsu so T tc-q + tplogic + tsu - thold + tcdlogic + tcdreg so thold tcdlogic + tcdreg -

(eliminating race conditions)

< 0: Degrades performance, but thold is easier to meet

Clock Jitter
Jitter causes T to vary on a cycle-bycycle basis
R1 In clk tclk
T

Combinational logic

-tjitter

+tjitter

T : T - 2tjitter tc-q + tplogic + tsu so T tc-q + tplogic + tsu + 2tjitter

Jitter directly reduces the performance of a sequential circuit

Combined Impact of Skew and Jitter


Constraints on the minimum clock period ( > 0)
R1 In D Q tclk1
T
1

R2 Combinational logic D Q tclk2


T+ >0
6 12

-tjitter

T tc-q + tplogic + tsu - + 2tjitter

thold tcdlogic + tcdreg 2tjitter

even harder to meet. (The acceptable skew is reduced by jitter.)

> 0 with jitter: Degrades performance, and makes thold

Clock Distribution Networks


Clock skew and jitter can ultimately limit the performance of a digital system, so designing a clock network that minimizes both is important
In many high-speed processors, a majority of the dynamic power is dissipated in the clock network. To reduce dynamic power, the clock network must support clock gating (shutting down (disabling the clock) units)

Clock distribution techniques


Balanced paths (H-tree network, matched RC trees)
- In the ideal case, can eliminate skew - Could take multiple cycles for the clock signal to propagate to the leaves of the tree

Clock grids
- Typically used in the final stage of the clock distribution network - Minimizes absolute delay (not relative delay)

Dealing with Clock Skew and Jitter


To minimize skew, balance clock paths using H-tree or other clock distribution structures. If possible, route data and clock in opposite directions; eliminates races at the cost of performance. The use of gated clocks to help with dynamic power consumption make jitter worse. Shield clock wires (route power lines VDD or GND next to clock lines) to minimize/eliminate coupling with neighboring signal nets. Use dummy fills to reduce skew by reducing variations in interconnect capacitances due to interlayer dielectric thickness variations. Beware of temperature and supply rail variations and their effects on skew and jitter. Power supply noise fundamentally limits the performance of clock networks.

You might also like