Skip to content

CIF

CIF (Caltech Intermediate Format) is a human-readable text format for IC layout data, widely used in academic and research environments.

Format Summary

Property Value
Extensions .cif
Encoding ASCII
Import
Export
License Basic
Hierarchy Symbol definitions (DS/DF) with calls (C)
Layers Named layers (L command)

Import Options

Units

Option Description Default
CIF standard 1/100 microns Selected
CADENCE 1/1000 microns

Text

Option Description Default
Ignore text Skip 94-extension text records Off
Text size Default text height in CIF units 1000
Vertical alignment Top, Middle, Base Line, Bottom Middle
Horizontal alignment Left, Center, Right Center

Export Options

CIF Dialect

LinkCAD can produce CIF output compatible with specific tools:

Dialect Description
CADENCE CADENCE Virtuoso compatibility
Compass Compass Design Automation
CleWin CleWin layout editor (supports donuts/scaling)
Electric Electric VLSI Design System
IE3D Zeland IE3D electromagnetic simulator
L-Edit Tanner L-Edit
Custom User-defined settings

Geometry

Option Description Default
Arc segments Segments per 360° for circle approximation 72
Box records (B) Write rectangular shapes as CIF boxes On
Wire records (W) Write polylines as CIF wires On
Roundflash (R) Write circles as roundflash records On
Vertex limit Split polygons exceeding vertex count Off
Flatten Remove symbol hierarchy Off

Format

Option Description Default
CIF units Standard (1/100 µm) or CADENCE (1/1000 µm) Standard
Line endings DOS/Windows or UNIX DOS
Max layer name length Truncate layer names Unlimited
Header text Custom comment in file header
Space after DS Add space after symbol definition keyword Dialect-dependent
Space after L Add space after layer keyword Dialect-dependent

Common Workflows

GDSII → CIF

Convert binary GDSII to human-readable CIF for academic tool chains or manual inspection.

CIF → GDSII

Convert CIF designs to GDSII for commercial fabrication.

CIF → DXF

Convert CIF layout data to DXF for viewing in general-purpose CAD tools.

Technical Notes

  • CIF is a purely text-based format — files can be edited with any text editor
  • Coordinates are integers in the chosen unit system
  • Symbol hierarchy uses DS (Define Symbol) and DF (End Definition) commands
  • Cell references use the C (Call) command with optional transformation
  • The 94-extension adds text support (not part of the original CIF specification)

CLI / Command-File Options

These option keys can be used on the command line or in command files.

Import

Key Type Description
CifInUnitsCents flag Use centimicrons (CADENCE mode)
CifInIgnoreText flag Ignore text primitives
CifInFontSizeUnits int Font size unit enum (see Units)
CifInFontSizeValue float Font size value
CifInFontAnchorH int Font horizontal anchor — 0=left, 1=center, 2=right
CifInFontAnchorV int Font vertical anchor — 0=top, 1=middle, 2=baseline, 3=bottom

Export

Key Type Description
CifOutFlavour int CIF dialect (0=Custom, 1=CADENCE, …)
CifOutUnitsCents flag Use centimicrons
CifOutFlatten flag Flatten hierarchy
CifOutCleMode flag CLE mode output
CifOutUseBox flag Use box primitive
CifOutUseWire flag Use wire primitive
CifOutUseRound flag Use round flash
CifOutSplitPolygons flag Split polygons at vertex limit
CifOutPolygonLimit int Maximum vertices per polygon
CifOutNoGlobalCell flag Do not create global cell
CifOutLinefeed flag Add linefeeds to output
CifOutHeader string File header comment
CifOutLayerNameLength int Max layer name length
CifOutScaleDS flag Scale DS command
CifOutSpaceDS flag Space after DS command
CifOutSpaceL flag Space after L command