logo

GDSII

logo
welcome: Please Sign in

the fair gds editor


location: GDSII

GDS II (Calma GDS II)

GDS II is a database file format which is the de facto industry standard for data exchange of integrated circuit or IC layout artwork. It is a binary file format representing planar geometric shapes, text labels, and other information about the layout in hierarchical form. The data can be used to reconstruct all or part of the artwork to be used in sharing layouts, transferring artwork between different tools, or creating photo masks. Initially, GDS II was designed as a format used to control integrated circuit photo mask plotting. Despite its limited set of features and low data density, it became the industry conventional format for transfer of IC layout data between design tools of different vendors, all of which operated with proprietary data formats. It was originally developed by Calma for its layout design software, "Graphic Data System" ("GDS") and "GDS II". Now the format is owned by Cadence Design Systems. GDS II files are usually the final output product of the IC design cycle and are given to IC foundries for IC fabrication. GDS II files were originally placed on magnetic tapes. This moment was fittingly called tape out though it is not the original root of the term. Objects contained in a GDS II file are grouped by assigning numeric attributes to them including "layer number", "datatype" or "texttype". While these attributes were designed to correspond to the "layers of material" used in manufacturing an integrated circuit, their meaning rapidly became more abstract to reflect the way that the physical layout is designed. As of October 2004, many EDA software vendors have begun to support a new format, OASIS, which may replace GDS II.

GDS II in the LayoutEditor

The GDS II file format is the default in the LayoutEditor and full supported in its all existing versions (version 3 to version 7). Also the GDS II structure is used for the internal data represenations in the LayoutEditor which enables a fast performance and avoid any convertion. GDS II file can be read as normal files or g'ziped compressed file without an external decompressor. Some GDS II options can be set up via the setup dialog:

Handling of Layers in GDS II

The GDS II saves a layer number to each shape like polygon, path, etc. By default the LayoutEditor keeps these number untouched. Optional it is possible to setup a layer mapping during load/save. With this mapping a combination of layer/datatype in the GDS II file can be mapped to a layernumber in the LayoutEditor. The setup can be done via the setup dialog or via a macro. GDS II specification is not designed to store layer names. The LayoutEditor can store layer names by a non standard extention (see below).

Set Maximal Number of Points in Polygons

Version 3 of the GDS II file format limits the maximal size of polygons/path elements to 200 vertexes. The technical limit of the file format structure is 8191 points, which is allowed in version 7. This limit can be set via the setup dialog or via a macro. If a polygon exceed this limit, it will be splited into two or more polygon during the saving the file. The default setting is 8191. As a workaround it is possible to save polygons in multi records and avoid the limit. This is not part of the gds standard, but supported by some viewers. Activate 'gdsMultiXYRecord' to use it and avoid any splitting of polygons.

Option: Padding the Filesize to N*2048

Same old programs or tape devices can only handle GDS II file the file size is a multiply of 2048 bytes. By activating this option via the setup dialog or via a macro all saved GDS II files will be padded to this length by add 0 at the end of the file. This option is rarely need and the default is off.

Option: Save Box as Polygon

Box element were introduced with version 4 of the GDS II file format. By activating this option by the setup dialog or via a macro all box elements will be saved as a polygon. By default this option is off.

Option: Save Text as Polygon

GDS II does not specify fonts. So text elements may look different with other viewers and are often irgnored in mask production. By activating this option via the setup dialog or via a macro all text elements will be saved as a polygon. The current design in the memory is modified as well with any save operation. To convert scale independent text elements as well, set a non zero default text size value for this option in the setup. By default the Save Text as Polygon option is off.

Option: Multi XY Records

Due to the block structure of the GDSII file format the maximum size of polygons is limited to 8192. Larger polygons can not be saved conform to the GDSII standard. A polygon exceed this limit will be splitten by default. However it is possible to save such polygon in multiply blocks. This method will allow unlimit number of polygon points. This extension is not part of the GDSII standard, but supported of some other GDSII programs.

Option: Store Layer Names

By default GDSII only stores layer numbers. The names of the layers and its appearance in the design is not stored. By activation this option the layer names will be store in the GDSII file. This is done by adding a additional cell to the design with the name LayerNames contains a text elements on each layer with the layer names. Colors, etc. of the layer are store as attributes of the text element. That additional cell will not be visible in the LayoutEditor, if this option is activated. This option is not part as the GDSII standard. However it will not interference with any other GDSII tool as long no cell with the mentioned named is used in the design.

Description of the GDSII File Format

The GDSII or Stream file format stores its information in records. Each record starts with two bytes with the length of the record. So the maximal size of a record is limited to 2^16 bytes. After the length record there is a record type and a data type byte. The GDSII specification include the description of 69 different record types, but only less than the half are usually used. Often used types are LAYER, BOUNDARY (=Polygon), PATH, SREF (=cell reference) or XY (to store coorinates). Seven stream data types are defined. Each record type must have the specified data type. This data types are supported: no data, bit array, two byte signed integer, four byte singed integer, four byte real, eight byte real, ASCII string. The raw data of GDSII is binary, however the integrated text editor of the LayoutEditor can convert it from/to a readable text. So it can be used for low level manipulation of GDSII files.

editing gds file with an text editor

See also


CategoryFileFormat CategoryFileFormatLayout

GDSII (last edited 2012-04-28 20:04:25 by JürgenThies)