350 likes | 612 Views
Computational Complexity of Area Minimization in Multi-Layer Channel Routing. Nafize Rabbani Paiker Std. ID: 0409052057. Introduction. Outline of the Talks. Review: Basic Definition Motivation to VHVH Routing Complexity Results for Multi-Layer Channel Routing
E N D
Computational Complexity of Area Minimization in Multi-Layer Channel Routing Nafize Rabbani Paiker Std. ID: 0409052057
Outline of the Talks • Review: Basic Definition • Motivation to VHVH Routing • Complexity Results for Multi-Layer Channel Routing • Some Algorithms for Multi-Layer Channel Routing • Definitions and Notations • A Simple Framework for Multi-Layer Channel Routing • NP-Completeness of Multi-Layer No-Dogleg Routing Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Review: Basic Definition • Horizontal Constraint Graph (HCG): • HCG, HC = (V,E) • Where corresponds to a the interval Ii of the net ni in the channel. • An undirected edge , if the intervals Ii and Ij corresponding to nets ni and nj, intersect a column. Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Review: Basic Definition • Vertical Constraint Graph (VCG): • VCG, VC = (V,A) • Where corresponds to a the interval Ii of the net ni in the channel. • An directed edge , in the VCG indicates that the net ni has to connect a top terminal and the net nj is connected to a bottom terminal at the same column position. Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Review: Basic Definition • dmax: Channel Density • vmax: The length of the longest path of VCG. • Dogleg Routing: • Horizontal wire segment of a net is split into two (or more) parts and assigned to different tracks. • No-Dogleg Routing: • A net is allowed to have only one horizontal wire segment. • Restricted Dogleg Routing: • Dogleg only allowed only in those columns in which it contains a terminal. • Unrestricted Dogleg Rouging: • Dogleg allowed in any columns. Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Review: Basic Definition Restricted Dogleg Routing Unrestricted Dogleg Routing Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Review: VHV Routing • Assign all horizontal wire segment with LEA. • Assign all upward vertical wire segment to a vertical layer (say V1). • Assign all downward vertical wire segment to a vertical layer (say V2). Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Review: HVH Routing • Assign all vertical wire segment to a vertical layer (V). • Segment the horizontal wire segments into two groups. • Assign each group of horizontal to different vertical layers. Computational Complexity of Area Minimization in Multi-Layer Channel Routing
0 0 3 1 0 0 1 4 6 0 4 2 4 0 0 5 5 3 2 6 0 6 hmax=3, vmax=4 01 06 05 04 03 02 06 05 04 03 02 01 Motivation to VHVH Routing • VHV routing model is suitable where VCG has a cycle or dmax < vmax. • Because we can always get routing solution using exact dmax tracks. Computational Complexity of Area Minimization in Multi-Layer Channel Routing
0 5 1 3 0 0 4 1 0 6 2 4 4 0 5 0 3 0 2 6 6 0 hmax=4, Vmax=3 05 02 03 04 05 06 01 06 04 03 02 01 Motivation to VHVH Routing • HVH routing model is suitable where VCG is cycle-free or dmax ≥ vmax. • Because there is a likelihood of getting a routing solution with number of tracks lower than dmax due to two horizontal layers. Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Motivation to VHVH Routing • The benefits of both VHV and HVH model can be achieved using VHVH routing model. • Least number of tracks required: Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Complexity Results for Multi-Layer Channel Routing • Problem: • Is there any no-dogleg routing solution for a given channel specification of multi-terminal nets using exactly tracks in VHVH routing? • Complexity: NP-complete • Problem: • Is there any no-dogleg routing solution for a given channel specification of multi-terminal nets using exactly tracks in ViHi routing? • Complexity: NP-complete Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Complexity Results for Multi-Layer Channel Routing • Problem: • Is there any no-dogleg routing solution for a given channel specification of multi-terminal nets using exactly tracks in ViHi+1 routing? • Complexity: NP-complete Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Some Algorithms for Multi-Layer Channel Routing • Algorithm proposed by Enbody and Du*: • This model considered ViHi and ViHi+1 routing model and use unrestricted dogleg routing. • Problem: Excessive via holes. * Enbody R. J. and H. C. Du, Near-Optimal n-Layer channel Routing, Proc. of 23rd ACM/IEEE Design Automation Conf., pp. 708-714, 1986. Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Some Algorithms for Multi-Layer Channel Routing • Algorithm used in Chameleon*: • Use no-dogleg routing. • Use short horizontal wires (jogs) on vertical layers in order to reduce the number of via holes and total number of track. • Problems: • Excessive via holes. • The use of wires may lead to undesirable routing of wires outside the left and right end of the channels. • The use of jogs results in overlapping wire segments in adjacent layers. * Barun D., J.L. Baruns, S. Devadas, H.K. Ma, K. Mayaram, F. Romeo and A. Sangiovanni-Vincentelli, Chameleon: A New Multi-Layer Channel Router, Proc. of 23rd ACM/IEEE Design Automation Conf., pp. 495-502, 1986. Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Some Algorithms for Multi-Layer Channel Routing • MulCh* and M3CR**: • Use unreserved layer. • Problems: • Electrical interference between the layers. * Greenberg R.I. and A. Sangiovanni-Vincetelli, MulCh: A Multi-Layer Channel Router using One-, Two- and Three- Layer Partitions, Proc. of IEEE Int. conf. on Computer Aided Design, pp. 88-91, 1988. ** Fang S.-C., W.-S. Feng and S.-L. Lee, A New Efficient Approach to Multi-Layer Channel Routing Problem, Proc. of 29th ACM/IEEE Design Automation Conf., pp. 579-584, 1992. Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Definitions and Notations • Density Routing Solution: • A routing solution is a density routing solution if it requires tracks, where i = number of horizontal layers. • Induced Subgraph: • An induced undirected (directed) subgraph, Gv’=(V’,EV’) of a undirected (directed) graph G=(V,E) is defined over set of vertices V’ where and a set of vertices EV’, where EV’ is the set of undirected (directed) edges between the vertices in V’. • Induced Set of Edges: • The set of edges, EV’ in an induced subgraph GV’ is referred to as induced set of edges. Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Definitions and Notations • Reduced Vertical constraint Graph, RVCG: • RVCG, RVC = (CC,A’) • CC = Set of clique covers of the HNCG. • A’ = Set of edges. • Rule of initiating directed edge in RVCG: • An directed edge would be introduced from clique to clique , if there are nets and such that there is a directed edge from vg to vh in the VCG, VC= (V,A). Computational Complexity of Area Minimization in Multi-Layer Channel Routing
HNCG Il Ii Ik Ij Il Ii Ik Ij C1 C2 RVCG VCG Definitions and Notations • Reduced Vertical constraint Graph, RVCG: Computational Complexity of Area Minimization in Multi-Layer Channel Routing
V1 H1 V2 H2 A Simple Framework for Multi-Layer Channel Routing • VHVH routing model. • Lower bound of the number of tracks required for routing any channel of density dmax = Computational Complexity of Area Minimization in Multi-Layer Channel Routing
V1 H1 V2 H2 A Simple Framework for Multi-Layer Channel Routing • All vertical constraints between nets assigned to H1 can be resolved by routing vertical wire segments using the two layers V1 and V2 ►VHV routing. • For VHVH routing, higher priority is given for routing vertical wire segments through V1. • Leaves the vertical layer V2 free for routing a vertical wire segment for a net assigned to H2. Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Il Ii Ik Ij C1 C2 RVCG VCG A Simple Framework for Multi-Layer Channel Routing • Which nets can be assigned to H2? • Whose corresponding vertex set S does not contain a cycle in the induced subgraph VCs = (S,As) of the VCG ►Cycles cannot be resolved using a single adjacent vertical layer. • Induced RVCG, RVCCCH2=(CCH2,A’CCH2) must be cycle free. Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Covered in the later part of the chapter. Not included In the context of the current presentation. Problem: MNVHVH • Problem: Multi-terminal No-dogleg VHVH channel routing (MNVHVH) • Instance: Channel specification of multi-terminal nets. • Question: Is there a four-layer VHVH routing solution for the given instance using tracks? • Complexity: NP-complete Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Problem: 3SAT • Problem: 3SAT • Instance: Collection F = {c1, c2, … , cq} of clauses on a finite set U of variables such that |ci| = 3 for 1 ≤ i ≤ q. • Question: Is there a truth assignment for U that satisfies all the clauses in F? Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Problem: IS3 • Problem: IS3 • Instance: An undirected graph G= (V,E). Here the number of the vertices in G is n. • Question: Is there any independent set of size ? • Complexity: NP-complete Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Theorem 5.1: IS3 is NP-Complete • Given a guess , where • The verification of whether V’ is an independent set of G = (V,E) requires polynomial time. • Transformation: 3SAT to the maximum clique problem. • Given: • 3SAT instance • An undirected graph G’ = (V,E’) of n=3q vertices is constructed such that: • G’ has a clique of size q if and only if the formula F of 3SAT instance is satisfiable. ►The complement G = (V,E).of the graph G’ has an independent set of size if and only if F is satisfiable. • G can never have an independent set larger than q; the independent set has exactly q elements whenever F is satisfiable. ► IS3 is NP-complete. Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Problem: IS2 • Problem: IS2 • Instance: An undirected graph G= (V,E). Here the number of the vertices in G is n. • Question: Is there any independent set of size ? • Complexity: NP-complete Computational Complexity of Area Minimization in Multi-Layer Channel Routing
Theorem 5.2: IS2 is NP-Complete • Given a guess , where • The verification of whether V’ is an independent set of G = (V,E) requires polynomial time. • Given: • 3SAT instance • An undirected graph G’ = (V,E’) of n=4q vertices. • q vertices are isolated ► vertex set A. • Remaining 3q vertices are as they are in theorem 5.1 ► vertex set B. • F of 3SAT instance has a satisfiable truth assignment if and only if the graph the graph of n=4q vertices has an independent set of size • Suppose, G has an impendent set S of size 2q. • Induced subgraph GB con not have an independent set of size larger q. • q vertices of S must belong to the A of the isolated vertices and the remaining q vertices of S must belong to the set B. • GB has an independent set of size q► F has a satisfiable truth assignment. ► IS2 is NP-complete. Computational Complexity of Area Minimization in Multi-Layer Channel Routing