GDSII
GDSII (Graphic Data System II) is the de-facto industry standard for IC mask layout data exchange. Originally developed by Calma Company in the 1970s, it uses a binary format with hierarchical cell structures.
Format Summary
| Property | Value |
|---|---|
| Extensions | .gds, .gdsii |
| Encoding | Binary |
| Import | |
| Export | |
| License | Basic |
| Hierarchy | Full cell hierarchy with SREFs and AREFs |
| Layers | Numeric layers (0–65535) with datatypes (0–65535) |
Import Options
| Option | Description | Default |
|---|---|---|
| Ignore text elements | Skip TEXT records during import | Off |
| Font size | Size for imported text elements | Auto |
| Font size units | Units for the font size value | Micron |
Supported Features
- All GDSII record types (BOUNDARY, PATH, SREF, AREF, TEXT, NODE, BOX)
- Full hierarchy preservation with cell references
- Layer numbers and datatypes
- Text labels with positioning
- Path elements with end treatments (flush, half-round, extended)
- Array references (AREF) with row/column expansion
- Custom properties and attributes
Export Options
| Option | Description | Default |
|---|---|---|
| Database units | Internal coordinate resolution | 1 nm |
| User units | Display units written to the GDSII header | 1 µm |
| Precision | Coordinate resolution | 1 nm |
| Flatten hierarchy | Expand all cell references | Off |
| Explode text | Convert text to polygons | Off |
| Split polygons | Maximum vertices per polygon (GDSII limit: 8191) | 8191 |
| Pad to boundary | Pad output to even byte boundary | On |
Common Workflows
GDSII → DXF
Standard IC-to-mechanical conversion. Set DXF output units to match your target CAD system (typically millimeters or inches).
GDSII → Gerber
Convert IC mask data to photoplotter format for PCB-style fabrication.
GDSII → CIF
Convert to the human-readable CIF format for academic or legacy tool chains.
GDSII → GDS-TXT
Produce a text representation for manual inspection, scripting, or diff.
Technical Notes
- GDSII coordinates are stored as 32-bit integers in database units
- Database unit resolution is typically 1 nm (nanometer)
- Maximum polygon vertex count per element is 8191
- Layer numbers range from 0 to 65535; datatypes from 0 to 65535
- File size limit: none (streaming I/O)
- Timestamps in GDSII headers are preserved during round-trip conversion
CLI / Command-File Options
These option keys can be used on the command line or in command files.
Import
| Key | Type | Description |
|---|---|---|
GdsInIgnoreText |
flag | Ignore text elements |
GdsInIgnoreDataTypes |
flag | Ignore GDSII data types |
GdsInFontSizeUnits |
int | Font size unit enum (see Units) |
GdsInFontSizeValue |
float | Font size value |
Export
| Key | Type | Description |
|---|---|---|
GdsOutDbScalingUnits |
int | Database scaling unit enum (see Units); default: Nanometer |
GdsOutDbScalingValue |
float | Database scaling value |
GdsOutFontSizeValue |
float | Export font size multiplier |
GdsOutPad |
flag | Zero-pad output records |