Hsi-An Chien
Ting-Chi Wang
Redundant-Via-Aware ECO Routing
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 qrrg1 so it is not necessary to query the overlapped region between qrg and qrrg1 again.
THE PROPOSED APPROACH
The reduced query region rqrrg1 shown in Figure(d) is used to lower the search effort when examining whether rg1 is a feasible gridpoint.
THE PROPOSED APPROACH
the rqrtg1 intersects with an existing wire segment on the same layer , and therefore tg1 is not a feasible gridpoint
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 rqrrg2 (Figure (h)), so rg2 is treated as a feasible neighboring gridpoint for rg1.
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.