Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J...

27
1 Fast Electrical Correction Using Resizing and Buffering Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud

Transcript of Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J...

Page 1: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

1

Fast Electrical Correction Using Resizing and Buffering

Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve

Quay, Tuhin Mahmud

Page 2: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 2

Constructive versus Polishing

Page 3: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 3

Example Large ASIC

Page 4: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 4

What is Physical Synthesis?

Placement

Buffering

Repowering

Scan ChainsCloning

Routing

Timing Analysis

Legalization

Re-synthesis

PhysicalSynthesis

Combines multiple separate steps into one to Combines multiple separate steps into one to perform timing (design) closureperform timing (design) closure

Page 5: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 5

Big Challenges in Physical Synthesis

Designs are enormous 4 to 8 million objects nowMust be fast

Interconnect resistance increasingDensity / white space management Buffer explosionMultiple cycles to cross chip

Support for full design closureNoise, power, routability, yield

Page 6: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 6

Global Interconnect Dominance

Page 7: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 7

Building Blocks of Physical Synthesis

Placement(find non-overlapping locations

to minimize wirelength)

Electrical Correction(buffer and repower to

fix slew and cap constraints)

Timing Analysis(identify critical logic)

Legalization(place those buffers

and logic in legal locations)

Critical Path Opts(incremental synthesis to optimize

most critical regions)

Compression(Optimize rest of critical regions)

Area Recovery(reduce area without hurting timing)

Page 8: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 8

Example Physical Synthesis Flow

Placement

Electrical Correction

Legalization

Timing Analysis

Critical Path Opts

Compression

Timing Analysis

Net Weighting

Recovery

Detailed Placement

Electrical Correction

Critical Path Opts

Compression

Page 9: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 9

Slew violationsSize down sinkResize sourceBuffer net

Capacitance violationsFanout violations

Electrical Correction Necessary to Time Design

Page 10: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 10

Slew Model

( , ) ( , ) ln 9w i j i js v v ElmoreDelay v v= ⋅

2 2,( ) ( ) ( , )j b out i w i js v s v s v v= +

Upstream Downstream

S(vj)Sb,out(vi) Slew degradation on wire: Sw(vi,vj)

vi vj

Page 11: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 11

Get the Design Into Good Shape

Pick aggressive target slewBuffer / repower to meet targetPower down non-critical gatesPower up critical onesChoice of slew target has large impact on final area and timing

Page 12: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 12

Basic Approach to Electrical Correction

Process gates right to leftIf net has no violations, size source gate down

saves areareduce load on inputs

If net has violations, size gate upIf violations still exist, buffer the netLinear time algorithm

Page 13: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 13

EVE in Action

Page 14: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 14

Legalization

Electrical correction just repowered and performed massive buffering. How do you legalize?No bin modelBin-based modelIncremental legalization

Page 15: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 15

No Bin Model

Place every cell, buffer at ideal (x,y) coordinateLike having one giant binPermits “pile-ups”Let legalization handle it afterwardsAdvantage: faster for optimizationDisadvantage: things move far away

Page 16: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 16

Bin Model

Divide region into binsEach cell assigned to binIf inserting into bin, check areaFull bins prevent repowering /bufferingCould try finding adjacent bin with free spaceAdvantage: less likely that legalization will move things far awayDisadvantage: may prevent fixing violations

Page 17: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 17

Puzzle Fit Problem

FitsDoesn’t Fit

new cell

Two bins with same set of cells and same total area

Page 18: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 18

Puzzle Fit Example

Page 19: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 19

A Closer Look

Page 20: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 20

Buffering for Electrical Correction

Van Ginneken: prune on three variablesDelay/slackCapacitancePower/Area

What if you removed delayObtain minimum area solution such that slew constraints are satisfiedOrder of magnitude faster than Van GinnekenLinear “length based” in case of 1 buffer

Page 21: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 21

Chuck’s “Buffer Tree Philosophy”

Buffers completely inhibit routingMillions of buffer trees needed, so build them fastRequired for speed, simultaneous stuff too time consuming and not necessarily any betterClean up messes afterward

Page 22: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 22

Environmentally Friendly “Green” Buffering

Page 23: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 23

Congestion Mitigation High-level Illustration

Page 24: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 24

Plate Example

Page 25: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 25

Dual Plate Example

Page 26: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 26

Congestion Reduction Example

Page 27: Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul ... · Shrirang Karandikar, Charles J Alpert, Mehmet Yildiz, Paul Villarrubia, Steve Quay, Tuhin Mahmud. C. J. Alpert ASP-DAC

C. J. Alpert ASP-DAC 2007 Tutorial: Physical Synthesis 27

Final Thoughts

On the surface, electrical correction simpleRight to leftFirst try repoweringThen buffering

Flow decisions affect solution qualityWhich legalization strategyHow tight a slew constraintSaving area versus getting design in good shape