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.