Maze Routing Algorithms with Exact Matching Constraints for Analog and Mixed Signal Designs M. M. Ozdal and R. F. Hentschke Intel Corporation ICCAD 2012 Outline Introduction Problem Formulation Preliminaries Proposed Maze Routing Algorithm Scalable Route Matching Framework Experimental Results Conclusions Introduction One of the most common classes of constraints in analog and mixed-signal designs is the matching of specific devices and interconnects between them. For matching the interconnect properties exactly, the following route matching formulation was proposed: The routes of all nets must have identical number of wire segments. The i-th segment of each net must have the same wirelength and the same layer assignment. Introduction Introduction Problem Formulation Given a set of 2-pin nets with driver and receiver terminals. For exact route matching constraint to hold, the following conditions must be satisfied: The segment counts are identical for all nets. The lengths and layer assignments of the i-th segments of all nets are identical. Minimize the routing cost: Preliminaries The exact route matching problem can be formulated as a system of linear equations for horizontal and vertical segments: CH × LH = DH (for horizontal segments) CV × LV = DV (for vertical segments) LH[j] is the length of the j-th horizontal segment. DH[n] is the horizontal distance between the driver and receiver terminals of net n. CH is the configuration matrix to determine the direction of each horizontal segment for each net. Preliminaries Net 1 Net 2 Seg 1 Preliminaries A segment type t for a set of nets is defined as a specific routing direction for each net. A segment type can be either a horizontal type or a vertical type. (n1;n2;n3) (→;→;→) (→;→;←) Proposed Maze Routing Algorithm Us: a set of unit segments. ut : the number of unit segments in Us with type t. The set Us is feasible for N iff for each net in N, a path can be constructed from driver to receiver by using all unit segments in Us. Proposed Maze Routing Algorithm Proposed Maze Routing Algorithm Assume that there are m segment types in Us. A partial solution state is defined as {c1, c2,…, cm,last_layer}. Each ct (1 ≤ t ≤ m) corresponds to the number of unit segments of type t in the partial solution. last_layer is the layer of the last segment in the partial solution. Proposed Maze Routing Algorithm Scalable Route Matching Framework Start with a topology obtained by the algorithms in [8]. Scalable Route Matching Framework CR1 corresponds to the empty partial solution state. {c1=0; c2=0; c3=0; c4=0} CR2 {c1=10; c2=0; c3=0; c4=0} CR5 {c1=10; c2=8; c3=6; c4=2} Scalable Route Matching Framework Define a graph, each node corresponds to a corner of the topology, each edge corresponds to the best routing solution between the corresponding corners. CR1→CR2 correspond to routing between the respective corners with a single segment type. Scalable Route Matching Framework CR1→CR3 correspond to the best exactly matched maze routing result between the respective corners using 2 segment types. (segment types 1 and 2) After computing the maze routing solution corresponding to each graph edge, set the edge costs to be equal to the routing cost of the route. Computing the shortest path on this graph will give the best combination of different maze routing solutions. Experimental Results Conclusions This paper proposed a maze routing algorithm that satisfied exact matching constraints for analog nets. Experiments show significant congestion reductions compared to the previous work.