31
ECO Timing ECO Timing Optimization Using Optimization Using Spare Cells Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang Chang ICCAD2007, Pages 530-5 ICCAD2007, Pages 530-5 35 35

ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Embed Size (px)

Citation preview

Page 1: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

ECO Timing Optimization ECO Timing Optimization Using Spare CellsUsing Spare Cells

Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen ChangYen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang

ICCAD2007, Pages 530-535ICCAD2007, Pages 530-535

Page 2: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

OutlineOutline

IntroductionIntroduction Problem FormulationProblem Formulation The Spare-Cell Selection AlgorithmThe Spare-Cell Selection Algorithm Experimental ResultsExperimental Results ConclusionsConclusions

Page 3: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

OutlineOutline

IntroductionIntroduction Problem FormulationProblem Formulation The Spare-Cell Selection AlgorithmThe Spare-Cell Selection Algorithm Experimental ResultsExperimental Results ConclusionsConclusions

Page 4: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

IntroductionIntroduction

Spare cells are often used to perform ECO (Engineering Change Order) after the placement stage to change/fix a design.

They are often evenly placed on the chip layout; the type and number of spare cells vary from different chip designs and are usually determined by designers empirically.

Page 5: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

IntroductionIntroduction

Using spare cells is an efficient way to do Using spare cells is an efficient way to do netlist changes.netlist changes. Save time and effort of re-placing the netlistSave time and effort of re-placing the netlist Save production cost of masksSave production cost of masks

Page 6: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

OutlineOutline

IntroductionIntroduction Problem FormulationProblem Formulation The Spare-Cell Selection AlgorithmThe Spare-Cell Selection Algorithm Experimental ResultsExperimental Results ConclusionsConclusions

Page 7: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Problem FormulationProblem Formulation

A timing path is defined as A timing path is defined as (1) A path from a primary input to a primary output(1) A path from a primary input to a primary output

(2) A path from a primary input to a flip-flop input(2) A path from a primary input to a flip-flop input

(3) A path from a flip-flop output to a primary output(3) A path from a flip-flop output to a primary output

(4) A path between a flip-flop output and a flip-flop input(4) A path between a flip-flop output and a flip-flop input

An ECO path is a timing path that violates An ECO path is a timing path that violates the timing constraint.the timing constraint.

Page 8: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Problem FormulationProblem Formulation

A buffering operation is to insert a buffer-type spA buffering operation is to insert a buffer-type spare cell gare cell gSS(i) into a net n(i) into a net nEE(j) along an ECO path. (j) along an ECO path.

A gate sizing operation is to exchange a spare cA gate sizing operation is to exchange a spare cell gell gSS(i) with a gate g(i) with a gate gEE(j) along an ECO path by r(j) along an ECO path by rewiring.ewiring.

Page 9: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

OutlineOutline

IntroductionIntroduction Problem FormulationProblem Formulation The Spare-Cell Selection AlgorithmThe Spare-Cell Selection Algorithm Experimental ResultsExperimental Results ConclusionsConclusions

Page 10: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Timing Model and PropertiesTiming Model and Properties Synopsys Liberty library formatSynopsys Liberty library format

Use lookup table to calculate gate delays.Use lookup table to calculate gate delays. The gate delay and the output transition time are functions The gate delay and the output transition time are functions

of the output loading and the input transition time.of the output loading and the input transition time.

Page 11: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Timing Model and PropertiesTiming Model and Properties Loading dominanceLoading dominance

The effect of its output capacitance to the gatThe effect of its output capacitance to the gate delay is much larger than that of the input tre delay is much larger than that of the input transition time .(28x vs 1x)ansition time .(28x vs 1x)

Shielding effectShielding effect Change of the netlist effects delay of neighbor Change of the netlist effects delay of neighbor

gates only. gates only.

Page 12: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Algorithm OverviewAlgorithm Overview

Page 13: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Buffer InsertionBuffer Insertion

We keep the solution if d’(gE(M−1))+d’(gS(j)) < d(gE(M−1)) , M: size of GE

Page 14: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Gate SizingGate Sizing

Page 15: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Spare-Cell Selection inside a Spare-Cell Selection inside a Bounding PolygonBounding Polygon

Let the width of the square bounding box of gE(i) centered at gE(i) be

Let the width of the square bounding box of g(j) (g(j) ∈ G(j)) centered at g(j) be

: the capacitance per unit wirelengthCEO(i) : the output pin capacitance of gate gE(i).FO(gE(i)) : the set of fan-out gates of gE(i)G(j) : the fan-outs of the gate gE(i) to be sized

Page 16: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Spare-Cell Selection inside a Spare-Cell Selection inside a Bounding PolygonBounding Polygon

Page 17: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Spare-Cell Selection inside a Spare-Cell Selection inside a Bounding PolygonBounding Polygon

Page 18: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Spare-Cell Selection inside a Spare-Cell Selection inside a Bounding PolygonBounding Polygon

Let the width of the square bounding box of g(k) (g(k) G∈ (k)) centered at g(k) be

Let the width of the square bounding box of g(j) (g(j) G∈ (j)) centered at g(j) be

G(k) : the fan-ins of the gate gE(i) to be sizedG(j) : the fan-outs of the gate gE(i) to be sized

Page 19: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Solution ControlSolution Control

For each set of solutions, we keep at most For each set of solutions, we keep at most kk solutions. ( solutions. (kk is a user-defined parameter) is a user-defined parameter) Discard non-dominant solutions.Discard non-dominant solutions. Classify these solutions by the number of used bufferClassify these solutions by the number of used buffer

s.s. Keep the best K solutions for each class. Keep the best K solutions for each class.

Page 20: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

OutlineOutline

IntroductionIntroduction Problem FormulationProblem Formulation The Spare-Cell Selection AlgorithmThe Spare-Cell Selection Algorithm Experimental ResultsExperimental Results ConclusionsConclusions

Page 21: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Shielding EffectShielding Effect

Page 22: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Shielding EffectShielding Effect

Page 23: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

ECO Timing OptimizationECO Timing Optimization

Page 24: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

ECO Timing OptimizationECO Timing Optimization

Page 25: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

OutlineOutline

IntroductionIntroduction Problem FormulationProblem Formulation The Spare-Cell Selection AlgorithmThe Spare-Cell Selection Algorithm Experimental ResultsExperimental Results ConclusionsConclusions

Page 26: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

ConclusionsConclusions

This paper present the first work for this problem of ECO timing optimization using spare-cell rewiring.

They didn’t solve the competition for using a spare cell among multiple paths.

They can’t insert multiple buffers in a single net.

Page 27: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

ThanksThanks

Page 28: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Timing Model and PropertiesTiming Model and Properties

Output loading consists ofOutput loading consists of input pin capacitanceinput pin capacitance output pin capacitanceoutput pin capacitance wire loadingwire loading

c : is the capacitance per unit wirelength,FO(g(i)) : the set of fan-out gates of g(i)CO(i) : output pin capacitance of gate g(i)CI (j) : input pin capacitance of the fan-outs of the gate g(i)

Page 29: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Gate Sizing and Buffer InsertionGate Sizing and Buffer Insertion

Buffering on the net nE(i) changes the delay of the driving gate and driven gates of nE(i), while other gates are little or not affected. Thus the impact of buffering on the timing of the ECO path is the delay change of gE(i), gE(i + 1), and the delay increase of the inserted buffer.

Sizing the gate gE(i) changes the delay of the fan-in/fan-out gates of gE(i), while other gates are little or not affected. Thus the impact of sizing gE(i) on the timing of the ECO path is the delay change of gE(i − 1), gE(i + 1), and the sized gate.

Page 30: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Gate SizingGate Sizing

We keep the solution if

d’(gE(M −2))+d’(gS(j)) < d(gE(M − 2))+d(gE(M −1)),and

d’(gE(M −2)) < d(gE(M −2)),

Page 31: ECO Timing Optimization Using Spare Cells Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang ICCAD2007, Pages 530-535 ICCAD2007, Pages 530-535

Spare-Cell Selection inside a Spare-Cell Selection inside a Bounding PolygonBounding Polygon

Theorem 1: Given a net nE(i) with the source gE(i) and the sinks in G(j) to be buffered, inserting any buffer-type spare cell, whose output transition time is not smaller than gE(i) and with the same output loading, outside the bounding polygon Γ(i) into the net increases the path delay.