Browse Prior Art Database

# Algorithm for Uniformly Modifying Polygonal Shapes for Graphical Design

IP.com Disclosure Number: IPCOM000081176D
Original Publication Date: 1974-Apr-01
Included in the Prior Art Database: 2005-Feb-27
Document File: 3 page(s) / 74K

IBM

## Related People

Beilstein, KE: AUTHOR [+1]

## Abstract

Topology for semiconductor devices differ according to changes in parameters, e.g., photoresist tolerances, mask tolerances, and the like. This algorithm is useful in changing design shapes for topology embodied in a photolithographic mask for fabricating semiconductor devices.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 3

Algorithm for Uniformly Modifying Polygonal Shapes for Graphical Design

Topology for semiconductor devices differ according to changes in parameters, e.g., photoresist tolerances, mask tolerances, and the like. This algorithm is useful in changing design shapes for topology embodied in a photolithographic mask for fabricating semiconductor devices.

An operation 10 enters data descriptive of desired topology changes in a mask. The topology changes may add to or subtract from a geometrical shape by N steps where N is any integer. The X coordinates and Y coordinates for various points in the geometrical shape are specified in Tables Ix and Iy and entered in an operation 12. The total number of coordinate points in the shape are also entered in the operation 12. A flag is initialized in an operation 14. The flag is used to indicate the presence of line segments which contain both x and y vector components.

A storage area is initialized in an operation 16. The storage area is used to store the sense or direction of an angle, i.e., clockwise or counterclockwise in the shape and the sign of the vector components (x, y) of a composite vector at each coordinate. A sum is also initialized in the operation 16. The sum represents the total angle sense of the shape, i.e., clockwise or counterclockwise. An operation 18 initializes a J counter to a setting of 1.

At entry point `A' the program begins to check for the slope between two adjacent coordinate points. In an operation 20 data is obtained from the Ix and Iy Tables formed in the operation 12. The data comprises the x component and the y component of the first and the second points in the Table. The first point is defined by LX and LY, and the second point is defined as KX and KY. Decisions 22 and 24 determine whether the vectors specified by LX, LY and KX and KY fall in a vertical or horizontal direction. A zero decision at either decision points 22 or 24 indicates that the vector is in a horizontal or vertical plane. A plus or minus decision from the decision points 22 and 24 indicate nonvertical or nonhorizontal vectors. The flag initialized in the operation 14 is set to 1 in an operation 26. The flag indicates the presence of a line segment which contains both x and y vector components.

An operation 28 defines indices K and JJ based on the J Table. The operation also determines the components of the vectors on either side of the index J. An operation 30 determines the absolute vector lengths from the vectors defined in the operation 28. Decisions 32 and 34 determine whether the vectors C1 and C2 calculated in the operation 30 are zero or nonzero. When C1 or C2 are zero operations 36 and 40 indicates the vector length is zero or the points overlap for the J index setting. If C1 or C2 are positive then the vectors are normalized in operations 38 and 42, respectively.

An operation 44 computes the cross product of the...