And now, here's the main content of this page:

Ciranova Layout API

The Ciranova™ Layout API provides a high-level programming interface designed specifically for building deep-submicron cell generators. It generates layout in environments that are subject to complex design rules.

Accessed as a Python extension package, the Ciranova Layout API has a large number of built-in classes for layout generation, ranging from basic geometric classes (Point, Box, etc.) and standard shape classes (Rect, Polygon, etc.) to high-level layout classes, such as Contact, ContactRing, Bar, and RoutePath. High-level objects are automatically generated using all applicable design rules. PCell designers can use either Ciranova's or Python's built-in classes, or they can derive their own. 

Aside from built-in classes, the layout API provides several functions that can manage complex geometric operations. What follows is a detailed discussion of two of those functions.

The Power of the API: place versus fgPlace

The function place(obj1, EAST, obj2, 500) performs an explicit relative placement operation; obj2 is placed 500 user units to the east of obj1.

The function fgPlace(obj1, EAST, obj2) will calculate the optimal placement of obj2 to the east of obj1; fgPlace will examine all layers on which these objects are defined and apply all applicable design rules. obj1 and obj2 can be simple shapes, complex structures, or complete PyCells, and the API will place them according to the relevant rules in the technology database.

The difference between "place" and "fgPlace" is worth highlighting: "place" takes explicit instructions from the author to perform relative placement. "fgPlace" is a member of a set of FG functions which automatically perform calculation of spacing for complex process design rules. Click here to see fgPlace used to create a transistor pair.

All FG functions work with the Ciranova Geometry Engine, which applies complex process design rules of the type normally encoded in design rule decks.

 

XPyCell
Universal OpenAccess PCells, created using Ciranova's PyCell Studio software. PyCells are authored using the popular Python programming language, hence the name.
XAMS
Analog/Mixed Signal
XPyros Layout Viewer
A component of Ciranova's PyCell Studio software. The Pyros Layout Viewer can open any OpenAccess block, select layout objects for examination, and manipulate PyCell parameters. Pyros also includes a built-in design rule checker that allows users to check the layout interactively.