Redundant-Via-Aware ECO Routing
Download
Report
Transcript Redundant-Via-Aware ECO Routing
Redundant-Via-Aware ECO Routing
Hsi-An Chien
Ting-Chi Wang
ASPDAC2014
Outline
INTRODUCTION
PROBLEM DEFINITION
THE PROPOSED APPROACH
EXPERIMENTAL RESULTS
CONCLUSIONS
INTRODUCTION
With the advent of the manufacturing strategy that
requires redundant via insertion (RVI) for tackling
single via failure to enhance the chip reliability and
yield.
INTRODUCTION
Unfortunately, due to the large number of inserted
redundant vias, a design could become too
congested for engineering change order (ECO)
routing to succeed.
INTRODUCTION
INTRODUCTION
By using a traditional ECO routing method, it is easy
to get a feasible routing path that utilizes four vias, v6,
v7, v8, and v9.
INTRODUCTION
But only redundant vias rv6 and rv8 can be inserted
next to v6 and v8 while v7 and v9 become dead vias.
INTRODUCTION
If rv2 is removed, a shorter routing path that has two
vias, v6 and v7, and one inserted redundant via rv6 for
the ECO net can be found, as shown in Figure (c).
INTRODUCTION
To further reduce the amount of dead vias, we can
replace rv1 and rv3 with rv’1 and rv’3,
PROBLEM DEFINITION
It’s a ECO routing problem where redundant vias are
present in the given layout but can be considered for
replacement or removal to increase the routability
and improve the routing quality.
PROBLEM DEFINITION
The goal is to find a routing path with routing cost as
small as possible.
The cost considers several routing factors, including
wirelength, vias, dead vias.
THE PROPOSED APPROACH
For an easy presentation, each routing layer is
virtually superimposed with a grid to form the 3D
routing.
Each gridpoint is a square on a metal layer, whose
width is the minimum wire width on that layer.
THE PROPOSED APPROACH
To efficiently find the routing path to connect s and t,
we exploit A* search.
THE PROPOSED APPROACH
Given a feasible gridpoint g on Metal1 as shown in
Figure (a).
THE PROPOSED APPROACH
Figure(b) shows the construction of the query region
for g, which expands g by ws along each side to form
the query region qrg.
THE PROPOSED APPROACH
If the existing objects of Metal1 do not intersect with
the query region , the gridpoint is feasible.
THE PROPOSED APPROACH
We can see that qrg overlaps with qrrg so it is not
necessary to query the overlapped region between
qrg and qrrg again.
1
1
THE PROPOSED APPROACH
The reduced query region rqrrg shown in Figure(d) is
used to lower the search effort when examining
whether rg1 is a feasible gridpoint.
1
THE PROPOSED APPROACH
the rqrtg intersects with an existing wire segment on
the same layer , and therefore tg1 is not a feasible
gridpoint
1
THE PROPOSED APPROACH
Since existing redundant vias can be replaced or
removed, they will be ignored in any query region
THE PROPOSED APPROACH
It’s allowed to be replaced with rv1 (Figure (g)) or
removed out of rqrrg (Figure (h)), so rg2 is treated as
a feasible neighboring gridpoint for rg1.
2
THE PROPOSED APPROACH
To check the upper neighboring gridpoint ug on
Metal2 of the gridpoint g.
We can also deal with different wire widths and
spacings on adjacent layers.
THE PROPOSED APPROACH
We pick the nearest upper neighbor ug and locate
the via connecting g and ug at the intersection point v
THE PROPOSED APPROACH
Our path finding A* search algorithm uses the
following cost function:
g(n) : the actual routing cost from the source node s
to the current node n
h(n) : the Manhattan distance between n and t.
THE PROPOSED APPROACH
g(n) is the cumulative cost of the best path p from s
to n
g(n) = G(n) + αV (n) + βI(n) + γR(n)
THE PROPOSED APPROACH
G(n) =Pd +2*Nd
Pd: number of gridpoints along preferred routing
directions
Nd: the number of gridpoints along non-preferred
routing directions.
THE PROPOSED APPROACH
V (n): amount of vias on the path p
I(n): total number of “illegal redundant via insertions”
among these new
R(n): total number of “illegal redundant via
replacements”
THE PROPOSED APPROACH
To enhance the efficiency, our algorithm will search a
certain amount of consecutive gridpoints along a
preferred routing direction as a whole.
and return the maximum number of consecutive
feasible gridpoints
THE PROPOSED APPROACH
And return the maximum number of consecutive
feasible gridpoints.
EXPERIMENTAL RESULTS
All experiments were conducted on a Linux
workstation with an 2.2 GHz AMD CPU and 8G
memory.
EXPERIMENTAL RESULTS
CONCLUSIONS
An ECO routing approach that considers redundant
via replacement, removal, and insertion.
Successfully increased the routing completion rate
and improved the routing quality.