GDSII format

 

GDSII format

 

INDEX

 

  1. introduction
  2. bachus nauer forms
  3. GDSII BNF
  4. Record header
  5. Data types
  6. record types overview
  7. record types description
  8. example file

 

example

example.gifuploading.4e448015.gif转存失败重新上传取消example.gifuploading.4e448015.gif正在上传…重新上传取消example.gifuploading.4e448015.gif转存失败重新上传取消
 
 

  1. text presentation of GDSII file in  KEYformat
  2. hex presentation of same file
  3. GDSII file

 
 

introduction

GDSII Stream format is the standard file format for transfering/archiving 2D graphical design data. It contains a hiearchy of structures, each structure containing elements (boundary/polygon, path/polyline, text,box, structure references, structure array references). The elements are situated on layers. It is a binary format that is platform independent, because it uses internally defined formats for its data types. While reading GDSII files, the GDSII internal data types (like reals, integers etc.) need to be converted to the platform/CAE package datatypes that are used.The GDSII format is a sequential list of records, each record contains a header to tell what information is in the record.The order of the record needs to be according to the GDSII BNF, because of this strict organization it is relativly easy to parse. The maximum number of vertixes is officially only 200 x,y pairs, but many packages can read up to the absolute maximum of 64k/2=32k, simple because this is the maximum record lenght that can be specified (two bytes).The format is hard to read, since it is binary, for that viewers are available to view (boolean)  the contents as ASCII. Also an ASCII format has been developed (KEY format) which is more than just a text representation. It is possible to convert GDSIIformat  to  KEYformat and back. KEYformat has extended the basic primitives to contain cicrles, arcs, polygons/polylines with arc segments.

Bachus Nauer Forms

The Bachus Nauer Form uses the following symbols:

Symbol NameSymbolMeaning
Double Colon::"Is composed of."
Square brackets[ ]An element which can occor zero or one time.
Braces{ }Choose one of the elements within the braces.
Braces with an asteriks{ }*The elements within the braces can occur zero or more times.
Braces with a plus{ }+The elements within braces must occur one or more times.
Angle brackets< >These elements are further defined as a seperate entitie in the syntax list.
Vertical bar|Or

 

GDSII BNF

The following is the Bachus Naur Form of the GDSI format, the words in capital are the names of RECORDS

<stream format>::=HEADER BGNLIB LIBNAME [REFLIBS] [FONTS
[ATTRTABLE] [GENERATIONS] [<FormatType>] 
UNITS {<structure>}* ENDLIB
<FormatType>::=FORMAT | FORMAT {MASK}+ ENDMASKS
<structure>::=BGNSTR STRNAME [STRCLASS] {<element>}* ENDSTR
<element>::={<boundary> | <path> | <sref> | <aref> | <text> | <node> | <box>} {<property>}* ENDEL
<boundary>::=BOUNDARY [ELFLAGS] [PLEXLAYER DATATYPE XY
<path>::=PATH [ELFLAGS] [PLEXLAYER DATATYPE [PATHTYPE][WIDTHXY
<sref>::=SREF [ELFLAGS] [PLEXSNAME [<strans>] XY
<aref>::=AREF [ELFLAGS] [PLEXSNAME [<strans>] COLROW XY
<text>::=TEXT [ELFLAGS] [PLEXLAYER <textbody>
<node>::=NODE [ELFLAGS]. [PLEXLAYER NODETYPE XY
<box>::=BOX [ELFLAGS] [PLEXLAYER BOXTYPE XY
<textbody>::=TEXTYPE [PRESENTATION] [PATHTYPE] [WIDTH] [<strans>] XY STRING
<strans>::=STRANS [MAG] [ANGLE]
<property>::=PROPATTR PROPVALUE

 

Record header

The Stream format output file is composed of variable length records. Record length is measured in bytes. The minimum record length is four bytes. Within the record, two bytes (16 bits) is a word. The 16 bits in a word are numbered 0 to 15, left to right.The first four bytes of a record compose the recordheader. The first two bytes of the recordheader contain a count (in eight-bit bytes) of the total record length, so the maximum length is 65536 (64k). The next record starts immediately after the last byte of the previous record.The third byte of the header is the record type. The fourth byte of the header identifies the type of data contained within the record. The fifth until count bytes of a record contain the data.

Bitnr0123456789101112131415
Word1Total Record length in bytes
Word2Record TypeData type
Word3Data until Word n (total record length/2)

 

Data Types

The fourth byte in the record header contains the data type for the rest of the record. The record length is used to find the number of  items of the specified datatype.

Data TypeValue
No Data0
Bit Array1
Two Byte Signed Integer2
Four Byte Signed Integer3
Four Byte Real4 (not used)
Eight Byte Real5
ASCII string6

 

  1. Bit Array:
  2. A bit array is a word which uses the value of a particular bit or group of bits to represent data. A bit array allows oneword to represent a number of simple pieces of information.
     
  3. Two-Byte Signed Integer:
  4. 2-byte integer = 1 word 2s-complement representation. The range of two-byte signed integers is -32,768 to 32,767.

    The following is a representation of a two-byte integer, where S is the sign and M is the magnitude.

    smmmmmmm mmmmmmmm

    The following are examples of two-byte integers:

    00000000 00000001 = 1
    00000000 00000010 = 2
    00000000 10001001 = 137
    11111111 11111111 = -1
    11111111 11111110 = -2
    11111111 01110111 = -137
     

  5. Four-Byte Signed Integer:
  6. 4-byte integer = 2 word 2s-complement representation

    The range of four-byte signed integers is -2,147,483,648 to 2,147,483,647.

    The following is a representation of a four-byte integer, where S is the sign and M is the magnitude.

    smmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm

    The following are examples of four-byte integers:

    00000000 00000000 00000000 00000001 = 1
    00000000 00000000 00000000 00000010 = 2
    00000000 00000000 00000000 10001001 = 137
    11111111 11111111 11111111 11111111 = -1
    11111111 11111111 11111111 11111110 = -2
    11111111 11111111 11111111 01110111 = -137
     

  7. Four-Byte Real
  8. 4-byte real = 2-word floating point representation

    (See 5.)
     

  9. Eight-Byte Real
  10. 8-byte real = 4-word floating point representation

    For all non-zero values:

    1. A floating point number has three parts: the sign, the exponent, and the mantissa.
    2. The value of a floating point number is defined as:
    3. (Mantissa) x (16 raised to the true value of the exponent field).
    4. The exponent field (bits 1-7) is in Excess-64 representation.
    5. The 7-bit field shows a number that is 64 greater than the actual exponent.
    6. The mantissa is always a positive fraction >=1/16 and <1. For a 4-byte real, the mantissa is bits 8-31. For an 8-byte real, the mantissa is bits 8-63.
    7. The binary point is just to the left of bit 8.
    8. Bit 8 represents the value 1/2, bit 9 represents 1/4, etc.
    9. In order to keep the mantissa in the range of 1/16 to 1, the results of floating point arithmetic are normalized. Normalization is a process where by the mantissa is shifted left one hex digit at a time until its left FOUR bits represent a non-zero quantity. For every hex digit shifted, the exponent is decreased by one. Since the mantissa is shifted four bits at a time, it is possible for the left three bits of the normalized mantissa to be zero. A zero value, also called true zero, is represented by a number with all bits zero.
    The following are representations of 4-byte and 8-byte reals, where S is the sign, E is the exponent, and M is the magnitude. Examples of 4-byte reals are included in the following pages, but 4-byte reals are not used currently. The representation of the negative values of real numbers is exactly the same as the positive, except that the highest order bit is 1, not 0. In the eight-byte real representation, the first four bytes are exactly the same as in the four-byte real representation. The last four bytes contain additional binary places for more resolution.

    4-byte real:

    SEEEEEEE MMMMMMMM MMMMMMMM MMMMMMMM

    8-byte real:

    SEEEEEEE MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM

    Examples of 4-byte real:

    Note: In the first six lines of the following example, the 7-bit exponent field = 65. The actual exponent is 65-64=1.

    01000001 00010000 00000000 00000000 = 1
    01000001 00100000 00000000 00000000 = 2
    01000001 00110000 00000000 00000000 = 3
    11000001 00010000 00000000 00000000 = -1
    11000001 00100000 00000000 00000000 = -2
    11000001 00110000 00000000 00000000 = -3
    01000000 10000000 00000000 0000000 = 0 .5
    01000000 10011001 10011001 1001100 = 1 .6
    01000000 10110011 00110011 0011001 = 1 .7
    01000001 00011000 00000000 00000000 = 1.5
    01000001 00011001 10011001 10011001 = 1.6
    01000001 00011011 00110011 00110011 = 1.7
    00000000 00000000 00000000 00000000 = 0
    01000001 00010000 00000000 00000000 = 1
    01000001 10100000 00000000 00000000 = 10
    01000010 01100100 00000000 00000000 = 100
    01000011 00111110 00000001 00000000 = 1000
    01000100 00100111 00010000 00000000 = 10000
    01000101 00011000 01101010 00000000 = 100000
     

  11. ASCII String
  12. A collection of ASCII characters, where each character is represented by one byte. All odd length strings must be padded with a null character (the number zero), and the byte count for the record containing the ASCII string must include this null character. Stream read-in programs must look for the null character and decrease the length of the string by one if the null character is present.

 

Record Types Overview

The following table gives an overview of all the record that are used within a GDSII file.

Nr.CodeMnemonicData Typedescription
00002HEADERTwo-Byte Signed Integerversion number
10102BGNLIBTwo-Byte Signed Integerbegin of library, last modification date and time
20206LIBNAMETwo-Byte Signed Integername of library
30305UNITSEight-Byte Realuser and database units
40400ENDLIBNo Dataend of library
50502BGNSTRTwo-Byte Signed Integerbegin of structure + creation and modification time
60606STRNAMEASCII stringname of structure
70700ENDSTRNo Dataend of structure
80800BOUNDARYNo Databegin of boundary element
90900PATHNo Databegin of path element
100A00SREFNo Databegin of structure reference element
110B00AREFNo Databegin of array reference element
120C00TEXTNo Databegin of text element
130D02LAYERTwo-Byte Signed Integerlayer number of element
140E02DATATYPETwo-Byte Signed IntegerDatatype number of element 
150F03WIDTHFour-Byte Signed Integerwidth of element in db units
161003XYFour-Byte Signed Integerlist of xy coordinates in db units
171100ENDELNo Dataend of element
181206SNAMEASCII stringname of structure reference
191302COLROWTwo-Byte Signed Integernumber of colomns and rows in array reference
211500NODENo Databegin of node element
221602TEXTTYPETwo-Byte Signed Integertexttype number
231701PRESENTATIONBit Arraytext presentation, font
251906STRINGASCII stringcharacter string for text element
261A01STRANSBit Arrayarray reference, structure reference and text transform flags
271B05MAGEight Byte Realmagnification factor for text and references
281C05ANGLEEight Byte Realrotation angle for text and references
311F06REFLIBSASCII stringname of referenced libraries
322006FONTSASCII stringname of text fonts definition files
332102PATHTYPETwo-Byte Signed Integertype of PATH element end ( rounded, square)
342202GENERATIONSTwo-Byte Signed Integernumber of deleted structure ?????
352306ATTRTABLEASCII stringattribute table, used in combination with element properties
382601ELFLAGSTwo-Byte Signed Integertemplate data
422A02NODETYPETwo-Byte Signed Integernode type number for NODE element
432B02PROPATTRTwo-Byte Signed Integerattribute number
442C06PROPVALUEASCII stringattribute name
452D00BOXNo Databegin of box element
462E02BOXTYPETwo-Byte Signed Integerboxtype for box element
472F03PLEXFour-Byte Signed Integerplex number
503202TAPENUMTwo-Byte Signed IntegerTape Number
513302TAPECODETwo-Byte Signed IntegerTape code
543602FORMATTwo-Byte Signed Integerformat type
553706MASKASCII stringlist of layers
563800ENDMASKSNo Dataend of MASK

 

Record types description

Records are always an even number of bytes long. The first four bytes of a record are the  record header. If a record contains ASCII string data and the ASCII string is an odd number of bytes long, the data is padded with a null character. This paragraph lists the record types with a brief description of each. The descriptions include the record name and a four-digit number in brackets. The first two numbers within the brackets are the record type, and the last two numbers in brackets are the data type. All record numbers are expressed in hexadecimal.
 

0HEADER0002Two-Byte Signed Integer

Contains two bytes of data representing the Stream version number.
 

1BGNLIB0102Two-Byte Signed Integer

Contains the last modification time of a library (two bytes each for year, month, day, hour, minute, and second), the time of last access (same format), and marks the beginning of a library.

Bit0123456789101112131415
word1l C (hex) # of bytes in record
word201 (hex) 02 (hex)
word3year (lastmodification time)
word4month
word5day
word6hour
word7minute
word8second
word9year (last access time)
word10month
word11day
word12hour
word13minute
word14second

 

2LIBNAME0206ASCII String

Contains a string which is the library name. The library name must follow UNIX filename conventions for length and valid characters. The library name may include the file extension (.sf or db in most cases).
 

3UNITS0305Eight-Byte Real

Contains two eight-byte real numbers. The first number is the size of a database unit in user units. The second number is the size of a database unit in meters. For example, if you create a library with the default units (user unit = 1 micron and 1000 database units per user unit), the first number is .001, and the second number is 1E-9. Typically, the first number is less than 1, since you use more than 1 database unit per user unit. To calculate the size of a user unit in meters, divide the second number by the first.
 

4ENDLIB0400No Data

Marks the end of a library.
 

5BGNSTR0502Two-Byte Signed Integer

Contains the creation time and last modification time of a structure (in the same format as the BGNLIB record), and marks the beginning of a structure.
 

6STRNAME0606ASCII String

Contains a string which is the structure name. A structurename may be up to 32 characters long. Legal structurename characters are:

  • A through Z
  • a through z
  • 0 through 9
  • Underscore (_)
  • Question mark (?)
  • Dollar sign ($)

 

7ENDSTR0700No Data

Marks the end of a structure.
 

8BOUNDARY0800No Data

Marks the beginning of a boundary element.
 

9PATH0900No Data

Marks the beginning of a path element.
 

10SREF0A00No Data

Marks the beginning of an Sref (structure reference) element.
 

11AREF0B00No Data

Marks the beginning of an Aref (array reference) element.
 

12TEXT0C00No Data

Marks the beginning of a text element.
 

13LAYER0D02Two-Byte Signed Integer

Contains two bytes which specify the layer. The value of the layer must be in the range of 0 to 255.
 

14DATATYPEOEO2Two-Byte Signed Integer

Contains two bytes which specify the datatype. The value of the datatype must be in the range of 0 to 255.
 

15WIDTH0F03Two-Byte Signed Integer

Contains four bytes which specify the width of a path or text lines in database units. A negative value for width means that the width is absolute, that is, the width is not affected by the magnification factor of any parent reference. If omitted, zero is assumed.
 

16XY1003Two-Byte Signed Integer

 
arrayref.gifuploading.4e448015.gif转存失败重新上传取消

  • Contains an array of XY coordinates in database units. Each X or Y coordinate is four bytes long. Path elements may have a minimum of 2 and a maximum of 200 coordinates. Boundary and border elements may have a minimum of 4 and a maximum of 200 coordinates. The first and last coordinates of a boundary or border must coincide.
  • A text, or Sref element may have only one coordinate.
  • An Aref has exactly three coordinates. In an Aref, the first coordinate is the array reference point (origin point). The other two coordinates are already rotated, reflected as specified in the STRANS record (if specified). So in order to calculate the intercolomn and interrow spacing, the coordinates must be mapped back to their original position, or the vector lenght (x1,y1-> x3,y3) must be divided by the number of row etc. . The second coordinate locates a position which is displaced from the reference point by the inter-column spacing times the number of columns. The third coordinate locates a position which is displaced from the reference point by the inter-row spacing times the number of rows. For an example of an array lattice see the next picture.
  • Aref rotated -30 degrees.
  • A node may have from one to 50 coordinates.
  • A box must have five coordinates, with the first and last coordinates being the same.

 

17ENDEL1100No Data

Marks the end of an element.

18SNAME1206ASCII string

Contains the name of a referenced structure.See also STRNAME.

19COLROW1302Two-Byte Signed Integer

Contains four bytes. The first two bytes contain the number of columns in the array. The third and fourth bytes contain the number of rows. Neither the number of columns nor the number of rows may exceed 32,767 (decimal), and both are positive. See also AREF.
 

21NODE1500No Data

Present Marks the beginning of a node
 

22TEXTTYPE1602Two-Byte Signed Integer

Contains two bytes representing texttype. The value of the texttype must be in the range 0 to 255.
 

23PRESENTATION1701Bit Array

Contains one word (two bytes) of bit flags for text presentation. Bits 10 and 11, taken together as a binary number, specify the font (00 means font 0, 01 rneans font 1, 10 means font 2, and 11 means font 3). Bits 12 and 13 specify the vertical justification (00 means top, 01 means middle, and 10 means bottom). Bits 14 and 15 specify the horizontal justification (00 means left, 01 means center, and 10 means right). Bits 0 through 9 are reserved for future use and must be cleared. If this record is omitted, then top-left justification and font 0 are assumed. The following shows a PRESENTATION record.
 

Bit0123456789101112131415
word16 (hex) # of bytes in record
word217 (hex) 01 (hex)
word3unused font numbervertical 
presentaion
horizontal presentation

 

25STRING1906ASCII String

Contains a character string, up to 512 characters long, for text presentation.
 

26STRANS1A01Bit Array

Contains two bytes of bit flags for Sref, Aref, and text transforrnation. Bit 0 (the leftmost bit) specifies reflection. If bit 0 is set, the element is reflected about the X-axis before angular rotation. For an Aref, the entire array is reflected, with the individual array members rigidly attached. Bit 13 flags absolute magnification. Bit 14 flags absolute angle. Bit 15 (the rightmost bit) and all remaining bits are reserved for future use and must be cleared. If this record is omitted, the element is assumed to have no reflection, non-absolute magnification, and non- absolute angle.
The following shows a STRANS record.
 

Bit0123456789101112131415
word16 (hex) # of bytes in record
word21A (hex) 01 (hex)
word3reflection unusedabsolute 
magnification
absolute angleunused

 

27MAG1B05Eight Byte Real

Eight-Byte Real Contains a double-precision real number (8 bytes), which is the magnification factor. If this record is omitted, a magnification factor of one is assumed.
 

28ANGLE1C05Eight Byte Real

Eight-Byte Real Contains a double-precision real number (8 bytes), which is the angular rotation factor. The angle of rotation is measured in degrees and in the counterclockwise direction. For an Aref, the ANGLE rotates the entire array (with the individual array members rigidly attached) about the array reference point. For COLROW record information, the angle of rotation is already inlcuded in the coordinates. If this record is omitted, an angle of zero degrees is assumed.
 

31REFLIBS1F06ASCII String

Contains the names of the reference libraries. This record must be present if any reference libraries are bound to the working library. The name of the first reference library starts at byte 5 (immediately following the record header) and continues for 44 bytes. The next 44 bytes contain the name of the second library. The record is extended by 44 bytes for each additional library (up to 15) which is bound for reference. The reference library names may include directory specifiers (separated with "/") and an extension (separated with "."). If either the first or second library is not named, its place is filled with nulls.
 

32FONTS2006ASCII String

Contains the names of the textfont definition files. This record must be present if any of the four fonts have acorresponding textfont definition file. This record must not be present if none of the fonts have a textfont definition file. The textfont filename of font 0 starts the record, followed by the textfont files of the remaining three fonts.Each filename is 44 bytes long. The filename is padded withnulls if the name is shorter than 44 bytes. The filename is null if no textfont definition corresponds to the font. The textfont filenames may include directory specifiers (separated with "/" and an extension (separated with ".").
 

33PATHTYPE2102Two-Byte Signed Integer

This record contains a value that describes the type of path endpoints. The value is

  • 0 for square-ended paths that endflush with their endpoints
  • 1 for round-ended paths
  • 2 for square-ended paths that extend a half-width beyond their endpoints

If not specified, a Path-type of 0 is assumed.

The following picture shows the pathtypes
 

pathtype.gifuploading.4e448015.gif转存失败重新上传取消Pathtype 0 produces a square-ended path, ending flush with thedigitized endpoints. This is the de-fault pathtype if none is specified
Pathtype 1 produces a round-ended path. The two ends aresemicircular with center at thedigitized endpoints.
Pathtype 2 produces a square-ended path. The ends of the pathextend beyond the digitized end-points by one-half the path width.

 

34GENERATIONS2202Two-Byte Signed Integer

This record contains a value to indicate the number of copies of deleted or back-up structures to retain. This numbermust be at least 2 and not more than 99. If the GENERATION record is omitted, a value of 3 is assumed.
 

35ATTRTABLE2306Two-Byte Signed Integer

Contains the name of the attribute definition file. This record is present only if an attribute definition file is bound to the library. The attribute defenition filename may include directory specifiers (separated with "/") and an extension (separated with "."). Maximum record size is 44 bytes.
 

36STYPTABLE2502Two-Byte Signed Integer

Unrelesed Feature
 

37STRTYPE2502Two-Byte Signed Integer

Unrelesed Feature
 

38ELFLAGS2601Bit Array

Contains two bytes of bit flags. Bit 15 (the rightmost bit)specifies Template data. Bit 14 specifies External data(also referred to as Exterior data). All other bits are currently unused and must be cleared to 0. If this record isomitted, all bits are assumed to be 0. The following shows an ELFLAGS record.

For additional information on Template data, consult the GDSII Reference Manual. For additional information on External data, consult the CustomPlus User's Manual.
 

Bit0123456789101112131415
word16 (hex) # of bytes in record
word226 (hex) 01 (hex)
word3unusedexternal datatemplate 
data

 

39ELKEY2703Two-Byte Signed Integer

(Unreleased feature)
 

40LINKTYPE28Two-Byte Signed Integer

(Unreleased feature)
 

41LINKKEYS29Two-Byte Signed Integer

(Unreleased feature)
 

42NODETYPE2A02Two-Byte Signed Integer

Contains two bytes which specify nodetype. The value ofthe nodetype must be in the range of 0 to 255.
 

43PROPATTR2B02Two-Byte Signed Integer

Contains two bytes which specify the attribute number. The attribute number is an integer from 1 to 127. Attribute numbers 126 and 127 are reserved for the user integer and userstring (CSD) properties which existed prior to Release 3.0.
 

44PROPVALUE2C06ASCII string

Contains the string value associated with the attribute named in the preceding PROPATTR record. Maximumlength is 126 characters. The attribute-value pairs associated with any one element must all have distinct attribute numbers. Also, the total amount of property data that may be associated with any one element is limited: thetotal length of all the strings, plus twice the number of attribute-value pairs, must not exceed 128 (or 512 if the element is an Sref, Aref, contact, nodeport, or node).

For example, if a boundary element uses property attribute2 with property value "metal," and property attribute 10 with property value "property," the total amount of property data is 18 bytes. This is 6 bytes for "metal" (odd-length strings must be padded with a null) + 8 for "property" + 2 times the 2 attributes (4) = 18.
 

45BOX2D00No Data

Marks the beginning of a box element.
 

46BOXTYPE2E02Two-Byte Signed Integer

Contains two bytes which specify boxtype. The value of the boxtype must be in the range of 0 to 255.
 

47PLEX2F03Two-Byte Signed Integer

A unique positive number which is common to all elementsof the plex to which this element belongs. The head of the plex is flagged by setting the seventh bit; therefore, plexnumbers should be small enough to occupy only the right-most 24 bits. If this record is not present, the element is not a plex member Applies to Pathtype 4.Contains four bytes which specify indatabase units the distance a path outline begins before orafter the last point of the path. Value can be negative.
 

50TAPENUM3202Two-Byte Signed Integer

Contains two bytes which specify the number of the current reel of tape for a multi-reel Stream file. For the first tape, the TAPENUM is 1: for the second tape, the TAPENUM is 2. For each additional tape, increment the TAPENum by one.
 

51TAPECODE3302Two-Byte Signed Integer

Contains 12 bytes. This is a unique 6-integer code which iscommon to all the reels of multi-reel Stream file. It verifies that the correct reels are being read.
 

52STRCLASS3401Two-Byte Signed Integer

Not used
 

53RESERVED3503Two-Byte Signed Integer

This record type was used for NUMTYPES but was not required.

54FORMAT3602Two-Byte Signed Integer

Defines the format of a Stream tape in two bytes. The possible values are:

  1. for GDSII Archive format
  2. for GDSII Filtered format
  3. for EDSM Archive format
  4. for EDSHI Filtered forrnat

An Archive Stream file contains elements for all the layers and data types. In an Archive Stream file, the FORMAT record is followed immediately by the UNITS record. A file which does not have the FORMAT record is assumed to be an Archive file.

A Filtered Stream file contains only the elements on the layers and with the datatypes you specify during creation ofthe Stream file. The list of layers and datatypes specified appear in MASK records. At least one MASK record must immediately follow the FORMAT record. The MASK records are terminated with the ENDMASKS record.
 

55MASK3706ASCII string

(Required for and present only in FilteredStream file. )
Contains the list of layers and datatypes specified by the user when creating the file. At least one MASK record must immediately follow the FORMAT record. More than one MASK record may occur. The last MASK record is followed by the ENDMASK record.
In the MASK list, datatypes are separated from the layers with a semicolon. Individual layers or datatypes are sepa-rated with a space. A range of layers or datatypes is specified with a dash.

An example MASK list looks like this: 1 5 -7 10 ; 0- 255

56ENDMASKS3800NoData

(Required for and present only in FilteredStream file.)
Marks the end of the MASK records. The ENDMASKS record must follow the last MASK record. ENDMASKS is immediately followed by the UNITS record.

 

http://boolean.klaasholwerda.nl/interface/bnf/gdsformat.html

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: GDS (Graphic Data System)格式是一种用于存储和交换集成电路(IC)设计布局数据的标准格式。它是由美国半导体工业协会(Semiconductor Industry Association)和美国电子工业协会(Electronic Industries Association)共同开发的,并且已经成为IC设计行业的一种通用格式。 GDS格式的开源化意味着该格式的规范和工具是公开可用的,任何人都可以自由使用、修改和再分发。这有助于促进IC设计行业的发展和创新。开源GDS格式有以下几个优点: 首先,开源GDS格式可以降低IC设计的成本和门槛。由于规范和工具是公开的,设计师可以使用自己熟悉的软件进行设计和布局,无需购买昂贵的专有软件。这降低了设计过程中的起点成本,使更多的人能够参与到IC设计中来。 其次,开源GDS格式能够促进行业间的合作和共享。不同公司和组织可以基于公共的标准进行数据交换和共同开发,避免了不同系统之间的兼容性问题。这有助于提高IC设计的效率和质量,加快新产品的推出速度。 此外,开源GDS格式还能够激发创新和技术进步。由于格式的开放性,研究人员和工程师可以自由地对其进行改进和扩展,推动新的设计方法和算法的发展。这有助于推动集成电路设计的进步,提供更高性能和更低功耗的芯片解决方案。 总之,开源GDS格式对于IC设计行业来说具有重要的意义。它促进了合作和共享,降低了成本和门槛,并且推动了创新和技术进步。相信随着更多人参与其中,开源GDS格式将继续为集成电路设计带来更大的发展机遇。 ### 回答2: “GDS格式”全称为“图形数据系统”(Graphic Data System),是一种用于存储和交换电子设计自动化(EDA)中的布局和电路信息的开放标准格式。它最初由美国卡迪夫高级技术中心(Calma)在1980年代开发,并在2000年成为了ANSI(美国国家标准协会)和IEEE(电气和电子工程师协会)的标准。 GDS格式的开源主要指的是GDSII文件格式,GDSIIGDS格式的第二版,广泛应用于集成电路设计、半导体加工和光刻制造等领域。开源意味着这种格式的规范和实现代码是公开的,任何人都可以查看、使用和修改。 对于EDA领域的开发者和用户来说,GDS格式的开源具有以下一些优势: 1. 可互操作性:GDS格式的开源使得不同的EDA软件可以共享和交换设计数据,促进了产业链上的合作和创新。 2. 自由定制:开源使得用户可以根据自己的需求对规范和代码进行修改和定制,使其适应特定的设计流程和工具。 3. 知识共享:开放源代码鼓励了开发社区和技术社区的知识共享,可以集思广益,推动技术的进步和发展。 4. 更好的支持和发展:开源使得更多的开发者可以参与到GDS格式的优化和维护中,从而提供更好的支持和演进,保证了格式的持续性和稳定性。 总的来说,GDS格式的开源为EDA行业带来了更大的灵活性、互操作性和创新空间,促进了行业的发展和进步。 ### 回答3: GDS格式是一种用于存储微电子制造过程中的设计布局的文件格式,它是由美国电气和电子工程师学会(IEEE)制定的开放标准。GDS是“Graphic Data System”的缩写,它最初是为了满足电子设计自动化(EDA)行业的需求而开发的。 GDS格式开源意味着它的设计规范和文件格式是公开的,任何人都可以免费使用和修改它。这种开放性带来了许多好处。首先,它可以促进技术创新和发展,因为任何人都可以访问并使用GDS格式的文件,从而推动EDA技术的进步。其次,开源性也促进了行业间的合作与共享,不同公司和组织可以更方便地交换和共享GDS格式的文件,提高工作效率。 另外,GDS格式开源还有助于降低成本。由于GDS格式的开放性,企业可以开发和使用自己的GDS工具,而无需购买昂贵的商业软件。这样可以节省大量资金,并促使市场上出现更多价格合理的GDS工具供选择。 最后,GDS格式的开源也有助于保护知识产权。由于GDS格式的规范是公开的,电子设计的知识和技术可以进行更好的记录和保护。这对于研发团队和企业来说非常重要,可以确保他们的知识能够被持续保护,同时也可以防止他人滥用他们的技术。 总而言之,GDS格式开源具有推动技术创新、促进行业合作与共享、降低成本和保护知识产权等优势。因此,GDS格式的开源对于微电子制造行业的发展具有积极的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值