15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

and, in the case of w = X 2 − X 1, by the expressions [33]:<br />

© 2002 by CRC Press LLC<br />

(47.41)<br />

(47.42)<br />

(47.43)<br />

(47.44)<br />

(47.45)<br />

(47.46)<br />

(47.47)<br />

The simplest way to extract the critical area for shortening and opening geometrical objects is the<br />

comparison of a geometrical object to all the other geometrical objects. This is computationally prohibitive<br />

in the case of modern ICs that can contain millions of transistors due to its O(n 2 ) performance, where n<br />

is the total number of objects. Therefore, algorithms that enable efficient processing of geometrical objects<br />

and minimization of the number of comparisons between object pairs must be used. These algorithms<br />

are more complex than O(n) and their complexity determines the CPU time and memory consumption.<br />

Two main types of methods are used to scan objects in an IC layout: raster-scan based algorithm [57]<br />

and edge-based scan-line algorithm [58]. In raster-scan algorithms, the chip is examined in a raster-scan<br />

order (left to right, top to bottom) looking through an I-shaped window containing three raster elements.<br />

The main advantage is simplicity, but a lot of time is wasted scanning over grid squares where no<br />

information is to be gained. It further requires that all geometry be aligned with the grid. Edge-based<br />

scan-line algorithms divide the chip into a number of horizontal strips where the state within the strip<br />

does not change in the vertical direction. Change in state occurs only at the interface between two strips.<br />

At the interface, the algorithm steps through the list of objects touching the scan-line and makes the<br />

necessary updates to state. One of the main advantages of these algorithms over the raster-scan algorithms<br />

is that empty space and large device structures are extracted easily. Because scan-line algorithms are<br />

superior to raster-scan algorithms, a typical scan-line algorithm is used with a list for storing the incoming<br />

objects where the top edges coincide with the scan-line. Then every object in this list is sorted and inserted<br />

into another list called active list [32]. In the meantime, layout extractions are carried out by comparison<br />

of the object being inserted to other objects in the active list. An object then exits the active list when<br />

the scan-line is at or below its bottom edge.<br />

Data Structures<br />

x 2<br />

=<br />

X 2<br />

2Ao 0( x)<br />

-----------------<br />

+ x– w<br />

y1 = Y1 – ( x/2 – w)<br />

y2 = Y2 + ( x/2 – w)<br />

x1 = X1 – ( x/2 – w)<br />

x2 = X2 + ( x/2 – w)<br />

y 1<br />

y 2<br />

=<br />

=<br />

Y 1<br />

Y 2<br />

2Ao 0( x)<br />

– ----------------x–<br />

w<br />

2Ao 0( x)<br />

-----------------<br />

+ x– w<br />

The choice of a data structure for efficient geometrical object representation plays an important role.<br />

The local extraction methodology is chosen, so a good candidate for the data structure requires a fast<br />

region query operation and reasonable memory consumption. Many data structures are suggested for<br />

the local extraction purposes. Among them, singly linked list, bin, k-d tree, and quad tree have been used<br />

most often [59–61]. A singly linked list is the most memory efficient but has the slowest region query<br />

performance. Conversely, a bin structure has the fast region query but consumes the most memory space.<br />

Both k-d tree and quad tree reside in the middle and have a trade-off between speed and memory space.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!