Automated Design for Micromachining

# Geometry Library

The geometry library contains technology independent parameterized cells that provide new, or improved, geometry primitives. Additionally, some of the cells create new types of composite structures.

The following parameterized cells are available in the geometry library:

Parameterized cells available in this category
Title Skill File(s) Description
Arrow arrow.il This parameterized cell draws an arrow.
Circle circle.il This parameterized cell draws a circle. However, it provides two advantages over the simple shape provided by Virtuoso. First, it calculates the number of sides necessary to meet the manufacturing tolerance. Second, it allows specification of a start and stop angle, allowing designers to draw partial circles.
Cross cross.il This parameterized cell draws a cross. This may be useful, for example, for drawing alignment marks.
Donut donut.il This parameterized cell draws a donut. However, it provides two advantages over the simple shape provided by Virtuoso. First, it calculates the number of sides necessary to meet the manufacturing tolerance. Second, it allows specification of a start and stop angle, allowing designers to draw partial donuts.
Fillet fillet.il This parameterized cell is used to create a fillet for the corners of a polygon whose exterior angle is less than 180°. From the angle of the corner and the radius of curvature, this cell will construct the necessary arc and fill the corner in.
Fill Donut fill_donut.il Often, one would like to fill a circle or donut with etch holes, dimples, or other simple repetitive structure. This parameterized cell provides a simple approach to filling a circle or donut with regularly spaced sub-rectangles or sub-circle.
Fill Rectangle fill_rect.il Often, one would like to fill a rectangle with etch holes, dimples, or other simple repetitive structure. This parameterized cell provides a simple approach to filling a rectangle with regularly spaced sub-rectangles or sub-circle.
Label label.il While Cadence does support labels, these labels cannot be converted to paths or to polygons, and they are not exported to CIF files. This instance simply writes out text using paths. The size and thickness of the letters can be modified.

## Notes

The parameterized cells in this library should be usable with Cadence for any technology, not just PolyMUMPs®. The cells are tools for filling in gaps in the geometry primitives provided by Cadence.

Some of these cells also make use of parameters not necessary for the other cells within the ADM. These properties are the default layer and the maximum number of points. Both values are stored as properties attached to the library.

The property `default_layer` must be set to a valid drawing layer for the technology. If the property does not exist, it will be created with a default value of POLY0, which is acceptable for PolyMUMPs, but obviously not necessarily for other processes. Without knowing a valid drawing layer, these cells can not be initialized properly. If POLY0 is not acceptable as the default layer, or is not available, simply specify another layer.

Properties can be added to libraries from within Cadence's Library Manager. Alternatively, the properites can be created using code. For example, use the code can be used to create the `default_layer` property.

`dbCreateProp( ddGetObj(admLibraryName) "default_layer" "string" "POLY0" )`

Additionally, those cells that make use of curved surfaces make use of a library property called `max_points`. Creating a polygon in Cadence with more than 4000 points will result in an error. Additionally, other downstream tools may not be handle even this many points. Consequently, users can change this library property. This can be done by accessing the property dialog of the library into which the cells are being installed. The parameterized cells in this library will ensure that no polygons with more than this number of points are created.