+ All Categories
Home > Documents > Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What...

Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What...

Date post: 04-Mar-2021
Category:
Upload: others
View: 10 times
Download: 0 times
Share this document with a friend
64
Efficient Timing Closure Without Timing Driven Placement and Routing Miodrag Vujkovic, David Wadkins, Bill Swartz * and Carl Sechen Dept. of Electrical Engineering University of Washington Seattle * InternetCAD.com Dallas, TX
Transcript
Page 1: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Efficient Timing Closure Without Timing Driven Placement and Routing

Miodrag Vujkovic, David Wadkins, Bill Swartz* and Carl Sechen

Dept. of Electrical EngineeringUniversity of Washington

Seattle

*InternetCAD.comDallas, TX

Page 2: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Outline• Prior Work• Problem domain• Why timing closure is difficult• Objectives of our design flow• Cell library• Variable die placement and routing• Clock tree insertion• Energy-delay plots• Timing convergence design flow details• Results

Page 3: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Prior Work1. C.K. Cheng, “Timing Closure Using Layout Based Design Process”,

(www.techonline.com/community/tech_topic/timing_closure/116).2. R. Bryant, et al., “Limitations and Challenges of Computer-Aided Design Technology for CMOS

VLSI”, Proc. IEEE, Vol. 89, No.3, March 2001.3. O. Coudert, “Timing and Design Closure in Physical Design Flows”, Proc. of the International

Symposium on Quality Electronic Design (ISQED), 2002.4. S. Hojat, and P. Villarrubia, “An Integrated Placement and Synthesis Approach for Timing Closure

of PowerPC TM Microprocessors”, Proc. IEEE Int. Conference on Computer Design (ICCD), pp. 206-210, October 1997.

5. B. Halpin, N. Sehgal, and C.Y. R. Chen, “Detailed Placement with Net Length Constraints”, Proc. of the 3rd IEEE Int. Work. on SOC for Real-Time Applications, 2003.

6. S. Posluszny et al., “Timing Closure by Design, A High Frequency Microprocessor Design Methodology”, Proc. of Design Automation Conf. (DAC), pp. 712-717, June 2000.

7. G. Northrop, and P.F. Lu, “A Semi-Custom Design Flow in High-Performance Microprocessor Design”, Proc. of Design Automation Conference (DAC), pp. 426-431, June 2001.

8. E. Yoneno, and P. Hurat, “Power and Performance Optimization of Cell-Based Designs with Intelligent Transistor Sizing and Cell Creation”, IEEE/DATC Electronic Design Processes Workshop, Monterey, CA, April 2001.

9. M. Hashimoto, and H. Onodera, “Post-Layout Transistor Sizing for Power Reduction in Cell-Base Design”, IEICE Trans. Fund., Vol.E84-A, pp. 2769-2777, November 2001.

Page 4: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Problem Domain• The focus of this paper is timing closure at the block level

– e.g. up to 50k cells -- or library instances– but certainly scaling up as tools (gate sizers) improve

• The approach certainly can be applied hierarchically, to obtain similar benefits for much larger circuits

Page 5: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

The Challenge!• What makes the timing closure problem particularly difficult is the

high variability in the loading of wires• We measured the capacitance per unit length for all nets for a wide

variety of circuits in the 0.18um TSMC technology– varied from about 0.02 fF/um to about 0.7 fF/um– a 35X variance!

• The value you get for a particular net is only ascertained AFTERdetail routing

• There is no way for a timing driven placement approach to be effective in meeting timing– Predicting useful gate loads seems impossible

Page 6: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Design Flow Objectives1. Absolutely minimize energy (power) for a specific delay target2. Rapid timing convergence

Page 7: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Concepts Behind the Objectives1. Absolutely minimize energy (power) for a specific delay target

– Use only combinational gates that are power efficient– Provide a very wide range of drive strengths and beta ratios for this limited set

of gates– Transistor area only used if absolutely necessary to meet delay constraint

2. Rapid timing convergence– Since timing analysis must be done while gate sizing (actually, gate selection)

anyway, ONLY do TA there!– Since wire loads are crucial to power & delay, want placer to only worry about

wire lengths– Placer objective function is not concerned with: congestion, timing, overlap,

etc., rather, only wire length – Enables MUCH lower wire lengths, hence power & delay– Also need effective ECO mode, featuring “stable” placers and routers (about the

same wire lengths after an ECO iteration)

Page 8: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Outline• Prior Work• Problem domain• Why timing closure is difficult• Objectives of our design flow• Cell library• Variable die placement and routing• Clock tree insertion• Energy-delay plots• Timing convergence design flow details• Results

Page 9: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Cell Library• A cell library consisting of 14 different combinational functions appears

to be optimal for minimizing power for a specific delay (ICCAD 2002)– INV, NAND2-4, NOR2-3, AOI/OAI12, AOI/OAI22, XOR, MUX2:1– FA (sum), FA (carry)

• Pass-transistor versions of XOR and FA also available– pass transistor cells yield higher speed, but are higher power

• Crucial to provide WIDE range (and number) of drive strengths • Even more crucial to provide very wide range (and number) of beta

ratios

Page 10: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Cell Sizes• All channel-connected nMOS devices for a cell are sized as a group• All channel-connected pMOS devices are sized as a separate group• Series/parallel cells have only one group of nMOS devices and one

group of pMOS devices while pass-transistor cells can have several nMOS/pMOS transistor groups

• For larger widths, the sizes correspond to an integral number of half folds (i.e. transistor widths are 1.0, 1.5, 2.0, 2.5, etc., times the maximum non-folded size)

• For a 0.18um process, the allowable sizes for both nMOS and pMOSdevices range from 1.06um to 13.78um, in steps of 0.53um– From 0.42um to 1.06um, approximately in steps of 0.13um

• Total number of instances of 14 combinational functions: about 1300

Page 11: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Cell Library (cont’d)• Fixed library approach!

– library is characterized and validated via fabrication• During synthesis (only), the library is enhanced to include various cells

that are “compounds” of the 14 base functions– greatly enhances flexibility during synthesis without using power inefficient gates,

and without enlarging the physical library

Page 12: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Parameterized Cell Layout Generator

• Foundry-independent, parameterized, automatic cell layout generator developed

• Separate generator for each of the 14 combinational cell types plus DFF cells

• Cell layouts specially tuned to yield best possible placement and routing density

Page 13: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

NAND2 Gate• nMOS size:

0.42u to 1.06u within one fold

• pMOS: from 0.42 u to 1.56u within one fold

Figure 9. Single contact method allows for a largerange of transistor sizes with no change in routing

Page 14: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Compounding Cells

• Gates (base functions) comprising a compound cell are sized separately– Improves power efficiency

• However, great benefit in HARDWIRING these gates together:– One circuit: # of nets to route decreased from 8000 to 5000 from hardwiring

the compound cells– 2nd circuit: # of nets to route decreased from 19,000 to 13,500 from

hardwiring the compound cells– Not surprisingly, in each case the routing area decreased by 60%!

Page 15: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Compound Cell Example: AND2

Figure 10. AND 2 Cell

Page 16: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Example of Compound Cell

•AOI2BB2 cell

cells separately optimized

Page 17: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Another Compound Cell Example

FULL ADDERab

cin

scout

s

coutCarry generator

Sum generatorab

cin

ab

cin

Page 18: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Cellgen Cellsxor2p mux2:1p and2

oai2bb1 aoi21 addfs

Page 19: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Outline• Prior Work• Problem domain• Why timing closure is difficult• Objectives of our design flow• Cell library• Variable die placement and routing• Clock tree insertion• Energy-delay plots• Timing convergence design flow details• Results

Page 20: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Placement Issues• All timing analysis resides within the cell sizer, where the cells have their

sizes optimized for the actual extracted wire loads• A critical advantage of this new approach is that the placement tool can

focus on only a single objective, that of minimizing wire length– But we don’t allow any single net from becoming “too long” … by providing an upper

bound

• We need an approach that generates placements having the lowest possible total wire lengths

Page 21: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Placement Issues (cont’d)• Based on our experience, the iTools placer from InternetCAD.com yields

lower total wire lengths compared to other EDA placers– For the smaller PEKO benchmarks (having known optimal wire lengths), iTools

yields results around 10% above optimal – Other placers are in the 40% above or more range

• Run time is not an issue– Run time around 3-4 hrs for 20k cells for one PC– Parallel mode gives linear speedup with # of PCs or processors

• Also, since resizing cells perturbs the initial global placement, we need the effective ECO (engineering change order) mode in iTools– Want about the same wire lengths after cells have been resized– Cells are only permitted to move up or down one row, and a limited distance left or

right

Page 22: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Routing: Fixed Die vs. Variable Die• The major EDA companies and much of academic research for more

than 10 years have employed what are essentially gate array (or fixed die) routers for standard cell circuits

• Hardly makes sense since the die is programmable on all mask layers in the standard cell style …

• Variable die routers create routing space wherever needed in order to complete the routing– variable die routers inherently complete 100% of the routing whereas in fixed die

routing this guarantee is absent• The routing quality obtained from a fixed die router is highly dependent

on the quality of the user– numerous iterations to eliminate unneeded routing space and/or to add needed

routing space

Page 23: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Fixed Die Routers are Bullied by Congestion• If a congested area lies between 2 pins, the router must detour around it• Often this net lies on a critical path and now the load for the driving gate

is dramatically larger than before, causing timing to diverge– Gate sizing creates a lot of critical paths …

• Furthermore, resizing a design often dramatically changes the congestion landscape, causing nets to become much longer (or shorter) than previously (lack of “stability”)

• It is our experience that a fixed die router renders our flow to be largely ineffective in accomplishing timing closure

Congested Area

Page 24: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Variable Die Router• Each net is routed in near minimum length, every time• Congestion has no impact• It simply creates space (e.g. increasing row separations or adding

feedthroughs) wherever needed to wire up a net using near minimum total wire length

• Thus, a minor placement change, such as what might occur after resizing and an ECO placement run, will yield almost the same lengths for each net

• Great “stability”!

Page 25: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Variable Die Router (cont’d)• In our flow, we use the iTools gridded variable die router

– To our knowledge, this is the only commercial (or academic) variable die router available

– While a non-gridded version is available, the gridded version is faster and our cell library is gridded anyway

– Parallel algorithm enables linear speedup with # of PCs or processors

Page 26: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Leading EDA Router vs. iTools Routing• For the same netlist (and library of cells) as well as the same placement,

the iTools layout is 33% smaller than the leading fixed die router!• This design (NCO) has about 8,000 library cells

Page 27: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Outline• Prior Work• Problem domain• Why timing closure is difficult• Objectives of our design flow• Cell library• Variable die placement and routing• Clock tree insertion• Energy-delay plots• Timing convergence design flow details• Results

Page 28: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Clock Tree Insertion

• In traditional flows, clock tree synthesis is performed after placement• This greatly disturbs cell placement, and consequently wire lengths,

making timing closure almost impossible

Page 29: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Simultaneous Clock Tree Insertion• We augmented the iTools placer to add a

hierarchical H-tree of symmetrical inverters during the actual placement process

• Just like the rest of the flow, the clock tree synthesis is a refinement process

• Initially, iTools equalizes the transistor loads on the leaf inverters

– however, it cannot assure an equal RC wire load to each flip-flop during placement since routing is yet to be performed

• After initial global placement, each inverter in the tree is sized using logical effort, based on the capacitive loads

Page 30: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Minimizing and Using Skew

• The result is that the fanout capacitance is constant for each leaf inverter, which in turn tends to equalize the rise and fall time for each inverter and reduces the overall skew

• However, sizing cannot compensate for the skew between flip-flop loads due to RC effects

• The residual clock skews are accurately simulated using Hspice on the Assura (RC) extraction of the clock tree directly to the individual flip-flop loads

• This skew information is incorporated into the gate sizing step, where it is used to optimize the timing

Page 31: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Outline• Prior Work• Problem domain• Why timing closure is difficult• Objectives of our design flow• Cell library• Variable die placement and routing• Clock tree insertion• Energy-delay plots• Timing convergence design flow details• Results

Page 32: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Two Modes of Operation1. Energy (or power) vs. delay plots

– Energy is minimized for several delay points or a delay range– E vs. D plots can be combined hierarchically, to handle large circuits

2. Minimize energy for specific delay

Page 33: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Generating P vs. D PlotsCurrently use AMPS gate sizer from Synopsys (not really intended for this purpose)But, power and delays are fairly accurateAMPS is allowed to use only the cell sizes in the library

delay (ns)

power (mW)

25

4035

5.2

30

45

55

65

5.4 5.65.86.0 6.3 7.06.6 7.4

pow-req. mode run1

pow-req. mode run3

pow-req. mode run6. . .

del-req. run1

del-req. run3

del-req. run6

. . .

optimal curve

optimal point

Page 34: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Outline• Prior Work• Problem domain• Why timing closure is difficult• Objectives of our design flow• Cell library• Variable die placement and routing• Clock tree insertion• Energy-delay plots• Timing convergence design flow details• Results

Page 35: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Timing Convergence Flow - Overview1. Synthesis runs using the latest Synopsys products (DC Ultra, BOA,

Power Compiler) 2. AMPS runs to determine P vs. D plots (using a wire load model)3. Select one or more P,D points and execute iTools placement and

routing4. Extract actual wire loads (e.g. Assura RCX) and determine P, D5. Re-run AMPS for one or more of the layout points6. iTools ECO place and route7. Extract actual wire loads and determine P, D8. If necessary, repeat 5-7 once

Page 36: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Timing Closure Design Flow - Details

1. Synthesis using Synopsys DC– 25-30 iterations or until desired improvement– DC-ultra optimization (Behavioral Optimization of Arithmetic)– Power optimization (using Power Compiler)– Synthesis library includes 156 combinational cells (each decomposes into

one or more of the 14 basic functions) and 20 FFs (each decomposes into one of the 5 FFs in our library)

2. Add wire load model to synthesized netlists– 17 um/FO (3.4 fF/FO) for TSMC .18um

Page 37: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Timing Closure Design Flow (cont’d)

k2

0.40.60.8

11.21.41.61.8

22.2

0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8delay (ns)

DC library(176cells)

3. Delay/power analysis (Pathmill/NanoSim)4. “Optimized” curve extraction after synthesis

Page 38: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Timing Closure Design Flow (cont’d)5. Select point(s) from the “optimized” curve (e.g., target delay,

min PD point, min PDA point, or a set of points spanning the P-D curve)

• Want to run AMPS with the wire load model for certain points

k2

0.8

1

1.2

1.4

1.6

1.8

2

2.2

0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8delay (ns)

DC - library(176 cells)

Pick Min PD point

Page 39: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Timing Closure Design Flow (cont’d)6. Convert compound cells to the set of 14 base functions in our

libraryFull adders are pass transistor for high speed portion of P-D curve; otherwise, static CMOS versions are used

Page 40: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Timing Closure Design Flow (cont’d)7. Initial Power/Delay optimization using AMPS8. “Optimized” P-D curve extraction

k2

0.4

0.5

0.6

0.7

0.8

0.9

1

1.2 1.4 1.6 1.8 2 2.2 2.4

delay (ns)

pow

er (m

W)

Initial AMPSP/D optimalcurve

Page 41: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Timing Closure Design Flow (cont’d)9. Choose desired points from one or more delay sub-ranges

– Divide delay range in selected number of sub-ranges (e.g. 5 sub-ranges)– Choose one point from each sub-range which satisfies specified criteria (e.g. min

PD)– Generate netlist for each of the (e.g. 5) designs– Netlists corresponding to same synthesis runs differ only with respect to cell sizes

k2

0.4

0.5

0.6

0.7

0.8

0.9

1

1.2 1.4 1.6 1.8 2 2.2 2.4delay (ns)

Initial AMPSoptimization

selected set of points

Page 42: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Timing Closure Design Flow (cont’d)10. Extract needed cell layouts from library11. High quality (iTools) placement run for each point12. iTools routing (variable die)13. Accurate hierarchical parasitic (RC) extraction using Assura RCX or

Star RCXT14. Logical-effort-based clock-tree sizing15. Detailed skew measurements to the actual FF loads, including

distributed RC parasitics16. Delay/power/area measurements for each generated layout17. If converged (usually need 1 or at most 2 iterations), stop; else

continue

Page 43: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Example - Initial Layout

k2

0.4

0.5

0.6

0.7

0.8

0.9

1

1.2 1.4 1.6 1.8 2 2.2 2.4delay (ns)

Initial AMPSoptimization

Layout -iteration 0

selected set of points

Page 44: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Timing Closure Design Flow (cont’d)18. New AMPS optimizations for one or more layout points19. “Optimized” curve extraction over all optimizations20. Re-execute steps 9-17 where step 11 is now an ECO-based placement run (iTools)

9. Choose desired points from one or more delay sub-ranges10. Extract needed cell layouts from library11. High quality (iTools) placement run for each point12. iTools routing (variable die)13. Accurate hierarchical parasitic (RC) extraction using Assura RCX or Star RCXT14. Logical-effort-based clock-tree sizing15. Detailed skew measurements to the actual FF loads, including distributed RC parasitics16. Delay/power/area measurements for each generated layout17. If converged (usually need 1 or at most 2 iterations), stop; else continue

Page 45: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Selected Points after AMPS Iteration 1

k2

0.30.40.50.60.70.80.9

11.11.2

1.2 1.4 1.6 1.8 2 2.2 2.4

delay (ns)

pow

er (m

W)

0.95

1.05

1.15

1.25

1.35

1.45

PDP

-AMPSiteration 1

Selectedpoints

.PDP vs -delayiteration 1

Page 46: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

P vs. D after Layout Iteration 1

k2

0.30.40.50.60.70.80.9

11.11.2

1.2 1.4 1.6 1.8 2 2.2 2.4

delay (ns)

pow

er (m

W)

0.95

1.05

1.15

1.25

1.35

1.45

PDP

AMPS PDiteration- 1

Selectedpts fromAMPS

-Layoutiteration 1

.PDP vs -delayiteration 1

Selected points after layout

Page 47: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

P vs. D after Layout Iteration 2

k2

0.30.40.50.60.7

0.80.9

11.11.2

1.2 1.4 1.6 1.8 2 2.2 2.4delay (ns)

pow

er (m

W)

0.9511.051.11.151.21.251.31.351.41.45

PDP

AMPS PD -iteration 2

Layoutiteration 2

selectedpts fromAMPS

PDP vs.delay -iteration 2

Page 48: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Layout Points after each Iteration

Delay-Power curves - k2

0.4

0.5

0.6

0.7

0.8

0.9

1

1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2

delay (ns)

pow

er (m

W)

Initial layout

Layoutiteration 1

Layoutiteration 2

Page 49: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Improvement in PDP for k2 Benchmark

0 .9

0 .9 5

1

1.0 5

1.1

1.15

1.2

1.2 5

1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 2 .1 2 .2delay (ns)

Init ia l layo ut Layo ut iterat io n 1 Layo ut iterat io n 2

Page 50: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Benchmark des

des

468

1012141618202224

0.9 1.1 1.3 1.5 1.7 1.9 2.1 2.3 2.5 2.7 2.9 3.1delay (ns)

pow

er (m

W)

1015202530354045505560

PDD

(mW

*ns^

2) -static176DC

.PDD vsdelay - DC

Page 51: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Initial Layout - des

des

89

101112131415161718

1.15 1.25 1.35 1.45 1.55 1.65 1.75

delay (ns)

pow

er (m

W)

1617181920212223242526

PDD

(mW

*ns^

2)

-AMPSiteration 0

Selectedpoints fromAMPS run -Layout iteration 0

.PDD vs -delayiteration 0

Page 52: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Iteration 1 - des

des

9

1011

12

13

1415

16

1.25 1.35 1.45 1.55

delay (ns)

pow

er (m

W)

23

2425

26

27

2829

30

PDD

(mW

*ns^

2)

-AMPSiteration 1

Selectedpoints fromAMPS run -Layout iteration 1

.PDD vs -delayiteration 1

Page 53: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Iteration 2 - des

des

10

11

12

13

14

15

16

1.2 1.3 1.4 1.5 1.6delay (ns)

pow

er (m

W)

23

24

25

26

27

28

29

PDD

(mW

*ns^

2)

-AMPSiteration 2

Selectedpoints fromAMPS run

-Layout iteration 2

.PDD vs -delayiteration 2

Page 54: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

PDP vs. Delay

des

17

18

19

20

21

22

1.2 1.3 1.4 1.5 1.6 1.7 1.8

delay (ns)

PDP

Initial layout

Layoutiteration 1

Layoutiteration 2

Page 55: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

DC + Artisan + SE vs. Our Flow

des

8

10

12

14

16

18

20

22

1.1 1.2 1.3 1.4 1.5 1.6 1.7

delay (ns)

pow

er (m

W)

Layout SiliconEnsemble + DC

Our flow

Page 56: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

32b FIR after DC

fir_mod

12

14

16

18

20

22

24

26

5.5 6 6.5 7 7.5 8 8.5 9 9.5delay (ns)

pow

er (m

W)

800

850

900

950

1000

1050

1100

1150

PDD

static176DC-

.PDD vsdelay

• 32b FIR Filter

Page 57: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

32b FIR: Initial Layout

fir_mod

89

101112131415161718

6.5 7 7.5 8 8.5 9 9.5

delay (ns)

pow

er (m

W)

-Layoutiteration 0

Initial AMPSiteration (no)clock tree

Selectedpoint frominitial AMPSiteration

• 32b FIR Filter

Page 58: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

32b FIR – Iteration 1

fir_mod

13141516171819202122

7.5 8 8.5 9 9.5 10delay (ns)

pow

er (m

W)

900

1100

1300

1500

1700

PDD

-AMPSiteration 1

Selectedpoints

-Layoutiteration 1

PDD vs. delay

• 32b FIR Filter

Page 59: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

32b FIR – Iteration 2

fir_mod

8

10

12

14

16

18

8 8.5 9 9.5delay (ns)

pow

er (m

W)

1100

1200

1300

1400

1500

1600

PDD

-AMPSiteration 2

Selectedpoints

-Layoutiteration 2

.PDD vsdelay

• 32b FIR Filter

Page 60: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

32b FIR: PDP vs. Delay

fir_mod

140

142.5

145

147.5

150

152.5

155

8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9 9.1 9.2delay (ns)

PDP

Initial layout

Layoutiteration 1

Layoutiteration 2

• 32b FIR Filter

Page 61: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

DC + Artisan + SE vs. Our Flow

fir_mod

121416182022242628

5.5 6 6.5 7 7.5 8 8.5 9 9.5delay (ns)

pow

er (m

W) Layout Silicon

Ensemble + DC

Layout - ourflow

• 32b FIR Filter

Page 62: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Energy-Delay-Squared Results

Minimum EDD Design Initial iteration 1 iteration 2 K2 1.7 1 1.6 9% 1.4 21% C5315 17.8 1 16.6 8% 14.5 23% C7552 29.7 1 25.5 17% 23.2 28% 32-stage FIR 1374 1 1208 14% 1190 15% Avg improv. 1 12% 22%

Page 63: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Conclusion• Design flow from Verilog/VHDL to layout mitigates the timing closure

problem, while requiring no timing driven placement or routing tools• Timing issues are confined to the cell sizer, allowing the placement

algorithm to focus solely on wire lengths, resulting in superior layout densities and much lower energy (power)

• The key enablers are: – Optimal library composition (power efficient gates only)– Huge number of drive strengths and beta ratios– Effective scheme to generate energy (power) vs. delay plots– Lowest wire length placement– Variable die routing that allows each net to be routed in the shortest possible

length and guarantees 100% routing completion in the smallest possible area– Integrated cell placement, routing, gate sizing, and clock tree insertion– Effective incremental (ECO) placement that preserves net lengths from one

iteration to the next (made possible by the “stability” of the variable die router)

Page 64: Efficient Timing Closure Without Timing Driven Placement ...twolf.com/DAC04notes2.pdf · • What makes the timing closure problem particularly difficult is the high variability in

Acknowledgements• We are very grateful for the financial support provided by:

– Intel Corporation– Boeing/DARPA (MSP program) – MARCO/C2S2– National Science Foundation (NSF)– NSF Center for the Design of Digital and Analog ICs (CDADIC)– SRC (early on)– Texas Instruments– AMD


Recommended