Variation Tolerant Buffered Variation Tolerant Buffered Clock Netw - - PowerPoint PPT Presentation

variation tolerant buffered variation tolerant buffered
SMART_READER_LITE
LIVE PREVIEW

Variation Tolerant Buffered Variation Tolerant Buffered Clock Netw - - PowerPoint PPT Presentation

Variation Tolerant Buffered Variation Tolerant Buffered Clock Netw ork Synthesis Clock Netw ork Synthesis w ith Cross Links w ith Cross Links Anand Rajaram David Z. Pan Dept. of ECE, UT-Austin Texas Instruments, Dallas


slide-1
SLIDE 1

1

Variation Tolerant Buffered Variation Tolerant Buffered Clock Netw ork Synthesis Clock Netw ork Synthesis w ith Cross Links w ith Cross Links

Anand Rajaram † ‡ David Z. Pan †

† Dept. of ECE, UT-Austin ‡ Texas Instruments, Dallas

Sponsored by SRC and IBM Faculty Award

slide-2
SLIDE 2

2

Presentation Outline

Introduction Link Insertion and Challenges for Buffered

Clock Trees

Linked Buffered Clock Tree Synthesis Experimental Results Conclusions

slide-3
SLIDE 3

3

Clock Netw ork

Stringent skew budget for multi-gHz designs Global in nature (span the entire chip) Skew is very sensitive to variations

› Manufacturing process variations (P) › Supply voltage variations (V) › Temperature variations (T)

=> Variation-tolerant clock network

Temp

(oC)

(source: Intel)

tox Gate length

Gate variations Temp variations

slide-4
SLIDE 4

4

Approaches for Reducing Skew Variability

Buffer & wire sizing [Pullela et al., DAC’93; Chung et al.,

ICCAD’94; Wang et al., ISPD’04]

Variation aware routing [Lin et al., ICCAD’94; Lu et al.,

ISPD’03; Padmanabhan+, ISPD’06]

Temperature aware clock optimization [Cho+,

ICCAD’05]

Non-tree clock network › McCoy+, ETC’94; Xue et al., ICCAD’95; Vandenberghe et al., ICCAD’97; Kurd et. al. JSSC’01; Su et. al. ICCAD’01; Restle et al. JSSC’01 › Link based non-tree clock networks: Rajaram et al., DAC’04, ISPD’05, ISQED’06; Venkataraman+, ICCAD’05

slide-5
SLIDE 5

5

Non-tree: Spine & Mesh

Applied in Pentium processor

Spines Clock sinks or local sub-networks

Clock sinks or local sub-networks Clock sinks or local sub-networks

Applied in IBM microprocessor

Very effective, huge wire

[Restle et. al, JSSC’01] [Su et. al, ICCAD’01] [Kurd et. al. JSSC’01]

slide-6
SLIDE 6

6

Non-tree: Link Perspective

Non-tree = tree + links How to select link pairs is the key problem Link = link_capacitors + link_resistor

u w i w u Rl

C/2 C/2

u w Rl

C/2 C/2

[Rajaram et al, DAC’04]

slide-7
SLIDE 7

7

Guidelines for Link Insertion

Select nodes physically close to each other Select nodes which are hierarchically far apart Select nodes with equal nominal delay Select nodes closer to leaf nodes

[Rajaram et al, DAC’04]

slide-8
SLIDE 8

8

Challenges for Buffered CTS

Link insertion may cause multi-driver nets

› Short circuit avoidance: ∆max < Delaymin [Venkataraman+ ICCAD’05]

Link insertion must have high delay accuracy cf. SPICE

› Elmore delay not good fidelity cf. SPICE for buffered clock trees

[Wang et. al, ISPD04]

slide-9
SLIDE 9

9

A B S P Q

Input Slew of buffers & Delay from Buffers to Sinks Load seen by buffers Select link A-B or not? Delays at A and B same?

A Chicken-Egg problem!

Challenges for Buffered CTS

slide-10
SLIDE 10

10

Venkataraman+ ICCAD’05

Addressed the problem of link insertion in buffered

clock tree by

› Using special tunable buffers to break the chicken-egg problem described before › Using SPICE to do the node tuning

Drawbacks:

› Tunable buffers – not generally available › Will consume extra power/area due to extra capacitances in tunable buffers › Slow on very large clock trees due to use of SPICE

I1

I2

I3

slide-11
SLIDE 11

11

Our Contributions

Link-insertion friendly balanced Clock Tree

Synthesis algorithm

› A new merging scheme for bottom-up CTS

» guarantees balanced buffered clock tree while trying to minimize wirelength

› Uses an Elmore like, but more accurate iterative delay calculator used by IBM [Puri et. al. GLVLSI’02] to break the chicken-egg dilemma

Uses regular buffers instead of the tunable

buffers of Venkataraman et. al ICCAD’05

› Can be applied on any general design › No unwanted increase in capacitance/power

slide-12
SLIDE 12

12

Why Balanced Clock Tree?

Current CTS Algorithms mostly focus on

skews at nominal delay values

Due to variation effects, delays and

skews vary

› Interconnect and Buffers have different variation patterns

Having a balanced clock tree is likely to

minimize the variational effects

Balanced Clock Tree will reduce the

possibility of short-circuit currents caused by link insertion

A B S P Q 8 4 8 10 10

Unbalanced

A B S P Q

Balanced

slide-13
SLIDE 13

13

Balanced CTS Algorithm: Main Features

P A B

Sub-trees A & B are merged only when the effective

cap after merging is less than the cap limit Climit

Buffers are inserted at the root of all sub-trees if no

merging is possible without violating the cap limit.

The required slew information is propagated in a

bottom-up manner for accurate delay calculation

› Need accurate slew and Ceff information at buffer output

P A B

Ceff1 Ceff2 slew1 slew2

Climit

slide-14
SLIDE 14

14

Backw ard Slew Propagation

Based on Puri et. al. GLVLSI’02: given an input transition time ta

at node A, the slew at node B is given as:

a

t C R x

2

* where =

) 1 ( 1

1 x a b

e x t t

− − =

R C2

ta

A B C1

)) 1 ( 1 ( then , * Let

1 2 x b

e x x y t C R y

− − = =

Value of y bounded by 0.5 for all x 1-1 correspondence (x, y) Given a tb target, required ta can be

  • btained
slide-15
SLIDE 15

15

Pick Sub-trees to be Merged

  • Given N sub-trees to merge in list U:
  • 1. Pick the sub-tree with minimum root-sink delay - Ti
  • 2. Of all available sub-trees, pick Tj such that

MergingCost(Ti, Tj) is minimized.

  • 3. Merge Ti, Tj to get Tk. Remove Ti, Tj from list U. Add

Tk to list U.

Step 1 for delay balance. Smaller sub-trees will be merged first. Step 2 for MergingCost (e.g. wirelength) minimization

slide-16
SLIDE 16

16

Balanced CTS Algorithm

Pick the node with min delay. Initially, since all sinks have zero delay, pick the sink with min load cap. Merge the picked node with another node such that merging cost is minimized Without violating Cap Limit Repeat the process till no node pairs can be merged without cap limit violation A B C D Sub-trees A,B, C and D cannot be merged without violating Climit

slide-17
SLIDE 17

17

Balanced CTS Algorithm

Buffer all the sub-trees at the same time. This guarantees balanced clock tree by construction. The load imbalance between buffers is also minimized. A B C D Repeat the process to obtain the complete buffered clock tree

slide-18
SLIDE 18

18

Overall Algorithm

1.

Construct the balanced buffered clock tree (with accurate delay/slew model)

2.

Select the link pairs for insertion using modified MST algorithm [Rajaram et. al. ISPD’05] that uses physical and delay proximity for link selection

3.

Using link capacitance as extra sink load capacitance, and tune the clock tree with the same topology as in step 1

4.

Add the link resistance to the selected node pairs

slide-19
SLIDE 19

19

Construct a balanced clock tree

A Simple Example

Buffers Link resistance Sinks Sinks selected for link insertion Sinks with added Link cap.

slide-20
SLIDE 20

20

A Simple Example

Select the link pairs for insertion using modified MST algorithm

[Rajaram et. al. ISPD05] that uses physical and delay proximity for link

selection

Buffers Link resistance Sinks Sinks selected for link insertion Sinks with added Link cap.

slide-21
SLIDE 21

21

A Simple Example

Construct a new clock tree with the same topology as in step 1 using the balanced CTS algorithm

Buffers Link resistance Sinks Sinks selected for link insertion Sinks with added Link cap.

slide-22
SLIDE 22

22

A Simple Example

Add the link resistance to the selected node pairs

Buffers Link resistance Sinks Sinks selected for link insertion Sinks with added Link cap.

slide-23
SLIDE 23

23

Experimental Setup

Benchmarks: r1-r5 from Exact Zero Skew work [Tsay,

ICCAD’91]

Variations considered (σ = 5%)

› Buffer L, Tox › Interconnect width › Load Capacitance

Skew variability measure: Average magnitude of skew in

SPICE with 500 Monte Carlo trials.

3100 1903 862 598 267

  • No. of sinks

r5 r4 r3 R2 r1 Benchmark

slide-24
SLIDE 24

24

Experimental Setup

Results compared to

› Chen et. al, DATE’96 (balanced CTS)

» Equalizes delay at each stage of clock tree by wire elongation » Excessive wire elongation results in excessive wire length

› Chaturvedi et al, ISQED’04 (best wire-length for CTS)

» Results in unbalanced clock tree Cannot compare with [Venkataraman+

ICCAD’05] directly

› Special tunable buffers not available › Small benchmarks used in their work (running SPICE directly to construct/tune the clock network)

slide-25
SLIDE 25

25

Experimental Results

All results normalized w.r.t. Chaturvedi et. al The number of buffers used are similar All three algorithms were tuned to achieve the

same slew rate requirements

0.2 0.4 0.6 0.8 1 Standard Deviati w .r.t. clock tree r1 r2 r3 r4 r5 Test cases

Skew Variability

Chaturvedi C hen

  • Bal. CTS

BCTS+Link 2 4 6 8 10 12 14 W irelengt r1 r2 r3 r4 r5 Test cases

Total Wire Length C

  • mparison

C haturvedi C hen B

  • al. C

TS B CTS+Link

slide-26
SLIDE 26

26

Conclusions

We have proposed a link insertion friendly

balanced buffered CTS algorithm

Ordinary buffers are used (instead of special

tunable buffers)

Our merging scheme achieves balanced clock tree

without excessive cost of wire length

Skew variation is significantly reduced Link insertion becomes more practical even for

ASICs…