Using the Electric VLSI Design System

Chapter VII: DESIGN ENVIRONMENTS

| ## 3: I/O Specifications |

Electric is able to read and write circuits in a number of different formats. This is done with the Import and the Export commands of the File menu (see section 3-9). To properly control translation, the Foreign File Options command has many subcommands for the different file types.

Unfortunately, Electric cannot read CIF, GDS II, or DXF files properly, because the individual layers are not aggregated into nodes and arcs (there is no node extraction done). Instead, these files appear as collections of pure-layer nodes which represent the geometry. This means that transistors, contacts, and other multi-layer nodes are not recognized properly. CIF and GDS II input is therefore only useful for library reference, where the circuitry will not be modified, but simply used in a larger design. If you try to edit a facet that was read from these formats, it appears confusing and nonintuitive.

### CIF Control

CIF options are controlled with the CIF Options... subcommand of the Foreign File Options command of the File menu.

This dialog controls the conversion between layers in Electric and layers in the CIF file. By clicking on an Electric layer, you can type a new CIF layer into the dialog.

By default, CIF output writes the entire hierarchy below the current facet. If you check the "Output Mimics Display" item, facet instances that are unexpanded will be represented as an outline in the CIF file. This is useful when the CIF output is intended for hardcopy display, and only the screen contents is desired. To revert to the default state, uncheck the item.

Another option is whether or not to merge adjoining geometry. This is an issue because of the duplication and overlap that occurs wherever arcs and nodes meet. The default action is to write each node and arc individually. This makes the file larger because of redundant box information, however it is faster to generate and uses simpler constructs. If you check the "Output Merges Boxes" item, all connecting regions on the same layer are merged into one complex polygon. This requires more processing, produces a smaller file, and generates more complex constructs. To revert to box output, uncheck the item.

Another option is whether or not to instantiate the circuit in the CIF. By default, the currently displayed facet becomes the top level of the CIF file, and is instantiated at the end of the CIF. This causes the CIF file to display the current facet. If the CIF file is to be used as a library, with no current facet, then uncheck the "Output Instantiates Top Level" checkbox, and there will be no invocation of the current facet.

When reading CIF files, the CIF "wire" statements are assumed to have rounded geometry at the ends and corners. If you check the "Input Squares Wires" item, CIF input assumes that wire ends are square and extend by half of their width. To revert to the rounded state, uncheck the item.

The "Output resolution" field is the minimum coordinate value that can be safely written in CIF (due to CIF's use of the centimicron as the smallest unit). When this value is zero, no resolution checking is done. If a value is entered here, all geometry of that size or less will be flagged during CIF output. For example, current MOSIS rules require that no boundaries be quarter-lambda or less, so a value of .25 in this field will detect such violations.

### GDS Control

GDS options are controlled with the GDS Options... subcommand of the Foreign File Options command of the File menu.

This dialog controls the conversion between layers in Electric and layers in the GDS file. By clicking on an Electric layer, you can type a new GDS layer into the dialog.

When reading GDS II files, text annotations can often clutter the display, so they are ignored from the GDS input. If you check the "Input Includes Text" item, the text will be read and displayed. To revert to ignoring text, uncheck the item.

Another GDS II input option controls whether facet instances are expanded or not. By default, facet instances are not expanded (they appear as a simple box). If you check the "Input Expands Facets" item, facets are expanded so that their contents are displayed. To revert to unexpanded facets, uncheck the item. Expansion of facets can always be changed with the subcommands of the Expand Facet Instances and Unexpand Facet Instances commands of the Facets menu.

Another GDS II input option controls whether arrays are instantiated or not. By default, arrays are instantiated fully, but this can consume excessive amounts of memory. If you uncheck the "Input Instantiates Arrays" item, only the upper-left and lower-right instance are actually placed. To revert to fully instantiated arrays, check the item.

Another GDS II input option controls whether unknown layers will be ignored, or placed in the circuit. By default, unknown layers appear as DRC-Nodes (special nodes used to indicate DRC errors, which appear as orange squares). By checking "Input Ignores Unknown Layers", the unknown layers are simply ignored.

When writing GDS files, there is an option to merge adjoining geometry. This is an issue because of the duplication and overlap that occurs wherever arcs and nodes meet. The default action is to write each node and arc individually. This makes the file larger because of redundant box information, however it is faster to generate and uses simpler constructs. If you check the "Output Merges Boxes" item, all connecting regions on the same layer are merged into one complex polygon. This requires more processing, produces a smaller file, and generates more complex constructs. To revert to box output, uncheck the item.

GDS II format is only able to handle straight lines, not curves. If your design has any curved geometry, the GDS II output will approximate these curves with straight line segments. To control how this approximation is handled, there are two factors: the maximum angle and the maximum sag. The maximum angle is the number of degrees of curvature between line segments (so a quarter-circle curve, which is 90 degrees, will be broken into 10 lines if the maximum angle is 9 degrees). The maximum sag is the maximum distance between the actual curve and the center of the approximating line segment. No line segment will be allowed to sag more than this distance. These two values can be entered in the "Maximum arc angle" and "Maximum arc sag" areas.

### DXF Control

DXF options are controlled with the DXF Options... subcommand of the Foreign File Options command of the File menu.

This dialog controls the conversion between layers in Electric and layers in the DXF file. By clicking on an Electric layer, you can type a new DXF layer into the dialog.

By default, Electric flattens DXF input, removing levels of hierarchy and creating a single facet with the DXF artwork. By unchecking the "Input flattens hierarchy", Electric will preserve the structure of the DXF file.

### EDIF Control

EDIF options are controlled with the EDIF Options... subcommand of the Foreign File Options command of the File menu.

This dialog controls whether EDIF output writes schematic or netlist views (the default is netlist).

### DEF Control

DEF options are controlled with the DEF Options... subcommand of the Foreign File Options command of the File menu.

This dialog controls whether DEF reads physical and/or logical information.

| Previous |  |  | Table of Contents |  | Next |