Data Structures and Basic Algorithms
VLSI layouts are represented as a collection of several layers of planar geometric elements. These elements are usually limited to Manhattan features (vertical and horizontal edges) and are not allowed to overlap within the same layer. The layouts have historically been manipulated by human layout designers to conform to the design rules and perform the specified functions. These manipulations were time consuming and error prone, even for small layouts. Rapid advances in fabrication technology in recent years have dramatically increased the size and complexity of VLSI circuits. As a result, a single chip may include several million transistors. These technological advances have made it impossible for layout designers to manipulate the layout without the assistance of computers. Several Computer Aided Design (CAD) tools have been developed to assist the designers with the enormous amount of data required to represent and manipulate a layout. CAD tools require highly specialized algorithms and data structures to effectively manage layout information. A layout is usually stored in a highlevel format, which specifies every geometric object in the layout with great precision. This precision is necessary since this information has to be communicated to output devices such as plotters, video displays, and pattern—generating machines. Most importantly, the layout information must be specific enough so that it can be sent to the foundry for fabrication.
KeywordsSteiner Tree Maximum Clique Interval Graph Physical Design Steiner Tree Problem
Unable to display preview. Download preview PDF.