0% found this document useful (0 votes)
38 views7 pages

GDS II File Format

The GDSII file format consists of various data blocks that define essential components such as file headers, library names, and module structures. Each block contains specific metadata, including sizes and types, and may include optional elements. The document provides detailed examples of binary representations for different sections of a GDSII file, illustrating how coordinates and other attributes are structured within the format.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views7 pages

GDS II File Format

The GDSII file format consists of various data blocks that define essential components such as file headers, library names, and module structures. Each block contains specific metadata, including sizes and types, and may include optional elements. The document provides detailed examples of binary representations for different sections of a GDSII file, illustrating how coordinates and other attributes are structured within the format.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

GDSII File Format.

GDSII files are composed of a series of data block links. These data
blocks define file headers, library file heads, library file names, data
units, module structure heads, module structure names, graph
elements, layer names, data types, and graph elements respectively.
Coordinates, graph element tail, module structure tail, file tail.
Some data blocks are optional. Note that the first four bytes of
each module flag the meta-information of the section, the first two
bytes describe the size of the section, and the third four bytes
describe the type of the section.

Ashwani DFT
Ashwani DFT
As an example, this is a binary source file for a GSDII file:

It is mentioned above that the first four bytes of each module flag
the meta-information of the section, the first two bytes describe the
size of the section and the third four bytes describe the type of the
section. So,

Filehead(HEADER):

00 06 00 02 00 03, 00 06 represents six characters, 00 02 represents


the file header (HEADER), 00 03 represents the GDSII version
number is 3.

Library file header(BGNLIB):

00 1C 01 02 00 65 00 0100 05 00 0F 00 2F 00 32 00 65 00 01 00 05
00 0F 00 2F 00 32: The first two bytes 00 1C get a total of 28 bytes
of this module, 01 02 can be seen as the library file header (BGNLIB),
Two 00 65 00 01 00 05 00 0F 00 2F 00 32 00 indicate that the start
time and update time are both 15:47:50 on January 5, 2001. 【 The
first 8 bytes record the most recent modification time, and the last

Ashwani DFT
8 bytes record the most recent access time. 00 65 should be 101.
Table 2001 is a millennium problem 】

Library file name(LIBNAME):

00 0C 02 06 4C 61 79 6F75 74 31 00: 12 bytes, 02 06 is defined as


the library file name (LIBNAME), and the following eight bytes are
the corresponding characters for the ASCII code string “ layout1 ” .
Note that because the library name of this file is It consists of 7
characters and is an odd digit, so a blank bit 00 is finally filled Make
up an even number of bytes.

Data unit(UNITS):

00 14 03 05 3E 41 89 374B C6 A7 F0 39 44 B8 2F A0 9B 5A 54: 20
bytes, 00 14 03 05 defines the graphical data unit (UNITS), followed
by two 8-byte floating point numbers, which define each internal
unit respectively How many user setting units are equal to and how
many microns are equal to each user setting unit.

Module structure head(BGNSTR):

00 1C 05 02 00 65 00 0100 05 00 0F 00 2F 00 32 00 65 00 01 00 05
00 0F 00 2F 00 32:28 bytes, 00 1C 05 02 is the module structure
header (BGNSTR), and the following 24 bytes record the module
structure creation time and last modification time.

Module structural name(STRNAME):

00 0A 06 06 43 65 6C 6C31 00:10 bytes, 00 0A 06 06 Define the


module structure name (STRNAME), and the subsequent 6 bytes are
represented by ASCII code string “ Cell1 ” , plus an empty character
00.

Ashwani DFT
Tuple type:

00 04 08 00: 4 bytes, defining the first pixel in the module structure


is the fill polygon (BOUNDARY).

Layer name:

00 06 0D 02 00 2B: 6 bytes, indicating that the fill polygon is on a


layer with layer name 43 (LAYER, in GDSII the layer name is
represented by a number).

Data type DATATYPE:

00 06 0E 02 00 00: 6 bytes, refers to the data type DATATYPE,


generally 0

Graph coordinates:

00 2C 10 03 00 00 00 00 0032 C8 00 00 90 B8 00 00 32 C8 00 00 90
B8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 32 C8 00 00: 44 bytes, 00 2C 10 03 refers to the filling polygon
The coordinates XY occupy a total of 44 bytes, specifically, This
polygon is a rectangle, there should be 5 points, the coordinates of
each coordinate point occupy 8 bytes, the first 4 bytes represent X
coordinates, the last 4 bytes represent Y coordinates, note that the
coordinates of its last point must be the same as the coordinates of
the first point ( closed ). 5 pairs of XY coordinates of type int32.

ENDNET:

00 04 11 00: 4 bytes, refers to the end of the rectangle defining


ENDNET and ending the pixel. If there are other pixels in the
module structure Cell1, continue to define the pixel type, layer
name, data type, coordinates and end the pixel definition here).

Ashwani DFT
Module structure tail ENDSTR:

00 04 07 00: 4 bytes, the definition of the end module structure


Cell1, that is, the ENDSTR end module

New module structural name(STRNAME):

00 0A 06 06 43 65 6C 6C30 00:10 bytes, BGNSTR, defines a new


module structure name “Cell0”.

00 04 0A 00: 4 bytes, defining the attributes (SREF) to insert


established other module structures into the module structure Cell0.

00 0A 12 06 43 65 6C 6C31 00: 10 bytes, SNAME, defines a module


structure named Cell1 inserted into Cell0.

00 06 1A 01 00 00: 6 bytes, STRANS, defines the transformation


mode of the insertion module structure, neither mirroring, rotating,
or scaling.

00 0C 10 03 00 00 00 0032 C8 00 00: 12 bytes, the insertion


coordinate XY is defined, the coordinates occupy 8 bytes, the first 4
bytes represent the X coordinates of the insertion module, and the
last 4 bytes are the Y coordinates.

00 04 11 00: 4 bytes, end insertion definition.

The data from 00 04 08 00 to 00 04 11 00 defines adding a


rectangle with 5 coordinate points to cell0.

00 04 07 00: 4 bytes, ENDSTR ends the definition of module


structure Cell0.

Ashwani DFT
00 04 04 00: 4 bytes, ENDLIB end library file, that is, the file is
finally defined by 00 04 04 00 end GDSII file.

Ashwani DFT

You might also like