Free & Open

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

A New Approach to Layout Generation

The Ciranova™ approach to layout generation represents a fundamental advance because it combines three sophisticated software components that come together for the first time to solve the problem of creating DRC-correct layout using language-based cell generation:

  • Ciranova Layout API
  • Technology Database
  • Geometry Engine

 

The Geometry Engine reads active design rules from the Technology Database to calculate placement for objects placed through the Ciranova Layout API.


Ciranova Layout API

The Ciranova Layout API is an object-oriented programming environment based on the Python programming language. This API provides more than 60 classes and 600 unique class methods specifically designed for integrated circuit layout generation. Classes range from basic geometric and shape classes to built-in high-level layout objects such as ContactRing and Bar. These are created using "design rule clean construction" (DRCC) methods and employ the sophisticated technology database and geometry engine modules to determine optimal placement for all design components.

PyCell ™ authors can directly access design rule information from the Ciranova technology database. In addition, a complete set of "smart" methods is provided as part of the layout API. These smart methods automatically use the technology database and geometry engine when performing DRCC operations.

The Ciranova Layout API handles all of the complexities of the OpenAccess PCell infrastructure, so that OpenAccess libraries can be used to store and retrieve PyCell designs. A lightweight plug-in module is provided to open and create PyCell libraries in OpenAccess based tools.

The Ciranova Layout API is implemented using C++ working directly with the OpenAccess C++ API. Ciranova's C++ Classes and their methods are wrapped into the Python language and runtime system for access by library developers.

Click here to learn more about the Ciranova Layout API.

Ciranova Technology Database

The Ciranova Technology Database handles all technology information important to the design of integrated circuits, including data about layers and layer relationships, physical design rules and electrical design rules. Physical design-rule sets can include simple minimum-spacing rules and/or recommended rules and/or complex conditional rules, as used in typical DRC engines. Support for multiple rule sets, which is important in Design For Manufacturing (DFM), is also provided.

Algorithms behind the layout construction APIs make extensive use of the Technology Database. The Ciranova Layout API also provides direct methods for PyCell authors to access the design rule information stored in the Technology Database.

The technology database has a text-based on-disk representation. Conversions from industry-standard design rule representations are available.

Ciranova Geometry Engine

The Ciranova Geometry Engine has much in common with geometry engines that power many DRC programs. It supports the Layout API "smart" methods that help designers create DRC clean layout. Also, this engine powers the interactive DRC capability in the Pyros™ Layout Viewer . This allows PyCell authors to easily check generated geometries for design rule correctness.

The Geometry Engine exposes all of its key internal functions through the Ciranova Layout API. Geometric operations such as MERGE, AND, OR, NOT, XOR, etc. can be directly applied to shapes in the generated layout.

 

 

 

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.