100 likes | 120 Views
Linear ordering and application to placement. By S. Kang. Linear Ordering generates a linear sequence of elements of a set of interconnected elements. This sequence is used for constructive initial-placement methods.
E N D
Linear ordering and application to placement By S. Kang
Linear Ordering generates a linear sequence of elements of a set of interconnected elements. This sequence is used for constructive initial-placement methods. Important difference from other previous techniques: starts the ordering process from the most lightly connected module. Abstract
Problem • With a set of connected modules, we want to put the components in a linear sequence so that the number of nets cut by a plane separating two adjacent components is minimized.
Solution • Algorithm Linear_Ordering • S = Set of all modules • Order = sequence of ordered modules (now empty) • Begin • Seed = selected seed module; • Order = seed; • S = S – seed; Repeat { Compute gain for each module m; If a tie { Select module that terminates the largest number of nets; } If still a tie { Select the module with the largest number of continuing nets; } If still a tie { Select the module with the least number of connections; } Else break tie however desired Order = Order + new module; S = S – new module; } until S is empty End
Gain Calculation • New net: a net created with the current module • Terminated net: a net that ends with the current module • Continuing net: an already created net that does not terminate with this module • Gain = terminated nets – new nets
Net Example terminating new Module under consideration continuing
Linear ordering does not use look-ahead for tie breaking, so it is not sufficient for real circuits. Problem: Global nets Global vs Local nets Local nets – nets connected to a select few modules Global nets – nets connected to every module in the set Problems
What’s wrong with Global Nets? Picking a seed • No matter what seed is picked, it will contain a net connected to every other module in the set. • In practice, this causes less than ideal choices for future module selection. What to do about them • Ignore them! • Because of folding, treating the special case of global nets is not necessarily ideal in placement
Folding Example A B C D E F A B C F D E F E D E D F A B C A B C