Presentation is loading. Please wait.

Presentation is loading. Please wait.

ECE 665 - Routing 1 ECE 665 Spring 2004 ECE 665 Spring 2004 Computer Algorithms with Applications to VLSI CAD Channel Routing Global Routing.

Similar presentations


Presentation on theme: "ECE 665 - Routing 1 ECE 665 Spring 2004 ECE 665 Spring 2004 Computer Algorithms with Applications to VLSI CAD Channel Routing Global Routing."— Presentation transcript:

1 ECE 665 - Routing 1 ECE 665 Spring 2004 ECE 665 Spring 2004 Computer Algorithms with Applications to VLSI CAD Channel Routing Global Routing

2 ECE 665 - Routing 2 Channel Routing Problem Assume uniform net width: track Two layers of interconnect: – –L1 for horizontal nets – –L2 for vertical connections Represent each net segment as an interval, indicating the terminal connections up  or down  Given a rectangular channel with terminals located on both sides of the channel, and a set of nets to be routed, place the nets in the channel to minimize its width [Has71,Yos84]. Formulation:

3 ECE 665 - Routing 3 Interval Graph V = {net segments} E = horizontal relations between the nets: – –(v i, v j )  E iff nets n i and n j overlap The density of IG (max clique size): d max Channel density: d  d max Define an Interval Graph, IG(V,E) In general, finding max clique size is NP-complete! 12 34 1 2 4 3

4 ECE 665 - Routing 4 Channel Routing 1 2 Define routing regions = channelsDefine routing regions = channels Routing channel 1 2

5 ECE 665 - Routing 5 Perform routing of nets to minimize channel widthPerform routing of nets to minimize channel width 1 2 Channel Routing 1 2

6 ECE 665 - Routing 6 Move blocks at a minimum distance (channel width)Move blocks at a minimum distance (channel width) 1 2 Channel Routing 1 2

7 ECE 665 - Routing 7 Feasibility of Channel Routing What happens when blocks move apart, when more space is neededWhat happens when blocks move apart, when more space is needed 1 2 1 2

8 ECE 665 - Routing 8 Routing Violation Nets overlap because of change in relative pin position Pins can move away but not sidewaysPins can move away but not sideways 1 2 Problem: net overlap 1 2

9 ECE 665 - Routing 9 Ordering of Routing Channels Need to process channels in certain order, so that the routing of individual channels need not be redone Does such an ordering exist ? 1 2 1 2 Process first Process this channel next

10 ECE 665 - Routing 10 Channel Ordering Channel ordering = topological sorting of OG(V, E) 1 2 3 2 3 1 Create Channel Order Graph OG(V,E) V = {channels} E = “dead-end” relations between channels: (c i, c k )  E if c i  c k

11 ECE 665 - Routing 11 Channel Ordering Condition Every layout is inherently routable iff its Channel Order Graph OG(V,E) is acyclic [Liu 82]. 3 4 1 2 6 5 A D B C E FG 12 3 4 5 6

12 ECE 665 - Routing 12 Breaking Cyclic Constraints A C B E D 1 4 3 2 L 2 1 4 3 3 1 2 L Break cyclic constraint by creating an L channel


Download ppt "ECE 665 - Routing 1 ECE 665 Spring 2004 ECE 665 Spring 2004 Computer Algorithms with Applications to VLSI CAD Channel Routing Global Routing."

Similar presentations


Ads by Google