Upload
siva-rao
View
215
Download
0
Embed Size (px)
Citation preview
7/29/2019 ECO Timing Optimization Using Spare Cells2
1/31
ECO Timing Optimization
Using Spare Cells
Yen-Pin Chen, Jia-Wei Fang, and Yao-Wen Chang
ICCAD2007, Pages 530-535
7/29/2019 ECO Timing Optimization Using Spare Cells2
2/31
Outline Introduction
Problem Formulation
The Spare-Cell Selection Algorithm Experimental Results
Conclusions
7/29/2019 ECO Timing Optimization Using Spare Cells2
3/31
Outline Introduction
Problem Formulation
The Spare-Cell Selection Algorithm Experimental Results
Conclusions
7/29/2019 ECO Timing Optimization Using Spare Cells2
4/31
Introduction 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.
7/29/2019 ECO Timing Optimization Using Spare Cells2
5/31
Introduction
Using spare cells is an efficient way to do
netlist changes.
Save time and effort of re-placing the netlist
Save production cost of masks
7/29/2019 ECO Timing Optimization Using Spare Cells2
6/31
Outline Introduction
Problem Formulation
The Spare-Cell Selection Algorithm Experimental Results
Conclusions
7/29/2019 ECO Timing Optimization Using Spare Cells2
7/31
Problem Formulation
A timing path is defined as(1) A path from a primary input to a primary output
(2) A path from a primary input to a flip-flop input
(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
An ECO path is a timing path that violates
the timing constraint.
7/29/2019 ECO Timing Optimization Using Spare Cells2
8/31
Problem Formulation
A buffering operation is to insert a buffer-typespare cell gS(i) into a net nE(j) along an ECOpath.
A gate sizing operation is to exchange a sparecell gS(i) with a gate gE(j) along an ECO path byrewiring.
7/29/2019 ECO Timing Optimization Using Spare Cells2
9/31
Outline Introduction
Problem Formulation
The Spare-Cell Selection Algorithm Experimental Results
Conclusions
7/29/2019 ECO Timing Optimization Using Spare Cells2
10/31
Timing Model and Properties
Synopsys Liberty library format Use lookup table to calculate gate delays.
The gate delay and the output transition time are functions
of the output loading and the input transition time.
7/29/2019 ECO Timing Optimization Using Spare Cells2
11/31
Timing Model and Properties
Loading dominance The effect of its output capacitance to the gate
delay is much larger than that of the input
transition time .(28x vs 1x) Shielding effect
Change of the netlist effects delay of neighbor
gates only.
7/29/2019 ECO Timing Optimization Using Spare Cells2
12/31
Algorithm Overview
7/29/2019 ECO Timing Optimization Using Spare Cells2
13/31
Buffer Insertion
We keep the solution if
d(gE(M1))+d(gS(j)) < d(gE(M1)) , M: size of GE
7/29/2019 ECO Timing Optimization Using Spare Cells2
14/31
Gate Sizing
7/29/2019 ECO Timing Optimization Using Spare Cells2
15/31
Spare-Cell Selection inside a
Bounding Polygon Let the width of the square bounding box ofgE(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
7/29/2019 ECO Timing Optimization Using Spare Cells2
16/31
Spare-Cell Selection inside a
Bounding Polygon
7/29/2019 ECO Timing Optimization Using Spare Cells2
17/31
Spare-Cell Selection inside a
Bounding Polygon
7/29/2019 ECO Timing Optimization Using Spare Cells2
18/31
Spare-Cell Selection inside a
Bounding Polygon Let the width of the square bounding box ofg(k)
(g(k) G(k)) centered at g(k) be
Let the width of the square bounding box ofg(j)(g(j) G(j)) centered at g(j) be
G(k) : the fan-ins of the gate gE(i) to be sized
G(j) : the fan-outs of the gate gE(i) to be sized
7/29/2019 ECO Timing Optimization Using Spare Cells2
19/31
Solution Control
For each set of solutions, we keep at most
ksolutions. (kis a user-defined parameter) Discard non-dominant solutions.
Classify these solutions by the number of usedbuffers.
Keep the best K solutions for each class.
7/29/2019 ECO Timing Optimization Using Spare Cells2
20/31
Outline Introduction
Problem Formulation
The Spare-Cell Selection Algorithm Experimental Results
Conclusions
7/29/2019 ECO Timing Optimization Using Spare Cells2
21/31
Shielding Effect
7/29/2019 ECO Timing Optimization Using Spare Cells2
22/31
Shielding Effect
7/29/2019 ECO Timing Optimization Using Spare Cells2
23/31
ECO Timing Optimization
7/29/2019 ECO Timing Optimization Using Spare Cells2
24/31
ECO Timing Optimization
7/29/2019 ECO Timing Optimization Using Spare Cells2
25/31
Outline Introduction
Problem Formulation
The Spare-Cell Selection Algorithm Experimental Results
Conclusions
7/29/2019 ECO Timing Optimization Using Spare Cells2
26/31
Conclusions
This paper present the firstwork for this problem
of ECO timing optimization using spare-cell
rewiring.
They didnt solve the competition for using a
spare cell among multiple paths.
They cant insert multiple buffers in a single net.
7/29/2019 ECO Timing Optimization Using Spare Cells2
27/31
Thanks
7/29/2019 ECO Timing Optimization Using Spare Cells2
28/31
Timing Model and Properties
Output loading consists of input pin capacitance
output pin capacitance
wire loading
c : is the capacitance per unit wirelength,
FO(g(i)) : the set of fan-out gates ofg(i)
CO(i) : output pin capacitance of gate g(i)
CI (j) : input pin capacitance of the fan-outs of the gate g(i)
7/29/2019 ECO Timing Optimization Using Spare Cells2
29/31
Gate Sizing and Buffer Insertion
Buffering on the net nE(i) changes the delay of the
driving gate and driven gates ofnE(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 ofgE(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 ofgE(i), while other gates are little or not
affected. Thus the impact of sizing gE(i) on the timing ofthe ECO path is the delay change ofgE(i 1), gE(i+ 1),
and the sized gate.
7/29/2019 ECO Timing Optimization Using Spare Cells2
30/31
Gate 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)),
7/29/2019 ECO Timing Optimization Using Spare Cells2
31/31
Spare-Cell Selection inside a
Bounding 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 notsmaller than gE(i) and with the same
output loading, outside the bounding
polygon (i) into the net increases the pathdelay.