semi合集-English.pdf - 第5922页
SEMI P39-0304 E2 © SEMI 2004 25 that propname-string (an n-string ) is present and stores the property na me locally. When C = 0, N is ignored, an d the value of m odal variable last-property-name is used instead. 31.5 W…

SEMI P39-0304
E2
© SEMI 2004 24
29.6 The triangle, rectangle, and square forms are provided for compactness and for compatibility with some mask
writing pattern file formats. For types 16–19, 22–23, and 25, height is not used, and H must be 0. For types 20–21,
width is not used and W must be 0.
29.7 Each successive CTRAPEZOID record updates all ctrapezoid-related modal variables with the following
exception: for the forms where only one of width or height is used (types 16–23 and 25), modal variables geometry-
w and geometry-h are both updated to match the specified dimension.
29.8 EXCEPTION HANDLING
— For types 0-3 and 6-7, (w < h) should be treated as a fatal error. For types 4-5,
(w < 2h) should be treated as a fatal error. For types 8-11 and 14-15, (h < w) should be treated as a fatal error. For
types 12-13, (h < 2w) should be treated as a fatal error. For types 16-19, 22–23, and 25, an H value of 1 should be
treated as a fatal error. For types 20-21, a W value of 1 should be treated as a fatal error. A value of ctrapezoid-type
greater than 25 should be treated as a fatal error. Implicit use of modal variables ctrapezoid-type, geometry-w,
geometry-h, layer or datatype when they are in the undefined state should be treated as a fatal error. The
interpretation of zero-area trapezoids is application-dependent.
30 CIRCLE Record
30.1 A CIRCLE record represents a circular figure. It has the following format:
‘27’ circle-info-byte [ layer-number ] [ datatype-number ] [ radius ] [ x ] [ y ] [ repetition ]
30.2 The circle-info-byte contains the bit pattern ‘00rXYRDL’.
30.3 R is 1 if repetition is present. L is 1 if layer-number is present. D is 1 if datatype-number is present. Both
layer-number and datatype-number are unsigned-integers. When layer-number and/or datatype-number are
unspecified, they assume the value of modal variables layer and datatype, respectively.
30.4 x and y are signed-integer coordinates representing either the absolute or the relative (x,y) location of the
circle’s center. X is 1 if x is present, and Y is 1 if y is present. When either x or y is unspecified, the value of modal
variable geometry-x or geometry-y, respectively, is used instead. Refer to Section 21 on page 17 for a discussion of
how absolute and
relative modes affect the interpretation of x and y.
30.4.1 r is 1 if radius is present, otherwise radius assumes the value of modal variable circle-radius instead.
30.5 Each successive CIRCLE record updates all circle-related modal variables.
30.6 EXCEPTION HANDLING
— Implicit use of modal variables circle-radius, layer, or datatype when they are in
the undefined state should be treated as a fatal error. The interpretation of zero-area CIRCLEs is application-
dependent.
31 PROPERTY Record
31.1 A property is an annotation element consisting of a name plus an optional list of values, supplying descriptive
information about the characteristics of the OASIS file or one of its components. A property may be associated with
the entire OASIS file, a <name> record, a CELL, a PLACEMENT, or an <element> record within a cell. The
PROPERTY record has the following format:
‘28’ prop-info-byte [ reference-number | propname-string ] [ prop-value-count ] [ <property-value>* ]
‘29’
31.2 Record type ‘29’ provides a compact way to specify a duplicate copy of the most-recently-seen property
together with its value list. It makes use of modal variables last-property-name and last-value-list, which were
defined by a previous PROPERTY record.
31.3 The prop-info-byte contains the bit pattern ‘UUUUVCNS’.
31.4 When C = 1, the property name reference is explicit, in which case N = 1 means that reference-number (an
unsigned-integer) is present, and refers to a PROPNAME record where the property name is stored; N = 0 means

SEMI P39-0304
E2
© SEMI 2004 25
that propname-string (an n-string) is present and stores the property name locally. When C = 0, N is ignored, and
the value of modal variable last-property-name is used instead.
31.5 When V = 0, values of UUUU from 0 to 14 indicate the number of <property-value> fields which are part of
this record, and prop-value-count is omitted. When V = 0 and UUUU = 15, prop-value-count, an unsigned-
integer, is present and indicates the number of <property-value> fields. When V = 1, UUUU must be 0, and modal
variable last-value-list supplies the value list. See Section 7.8 on page 11 for a description of <property-value>
types.
31.6 When S = 1, a standard property is indicated; when S = 0, a non-standard or user property is indicated. The list
of OASIS Standard Properties appears in Appendix 2 on page 36. That appendix also describes how to represent
GDSII-Stream-style properties using the S_GDS_PROPERTY standard property.
31.7 Each successive PROPERTY record updates modal variables last-property-name and last-value-list.
31.8 In general, PROPERTY records directly follow the record with which they are associated. PROPERTY
records occurring directly after the START record are associated globally with the entire OASIS file. PROPERTY
records occurring after a CELL record or its corresponding CELLNAME record pertain to that entire cell.
PROPERTY records occurring after a PLACEMENT record pertain to the placement(s) it describes, including
repetitions. PROPERTY records occurring after an <element> record pertain to that element and any repetitions.
31.9 PROPERTY records do not associate with
CBLOCK or PAD records. Instead, property association occurs as
though all CBLOCK records have been uncompressed, and all PAD records have been deleted.
31.10 EXCEPTION HANDLING
— Implicit use of modal variables last-property-name or last-value-list when they
are in the undefined state should be treated as a fatal error. Use of a reference-number for which there is no
corresponding PROPNAME record should be treated as a fatal error.
32 XNAME Record
32.1 An XNAME record allows backward-compatible extension of OASIS <name> records. It associates a string
with a unique reference number. It has the following format:
‘30’ xname-attribute xname-string
‘31’ xname-attribute xname-string reference-number
32.2 xname-string is user-defined as an a-string, b-string, or n-string which holds the name. xname-attribute is an
unsigned-integer providing the ability to associate the XNAME with a user-defined class. The reference-number is
an unsigned-integer which is either implicitly or explicitly assigned to the name. Implicit assignment occurs in
record type ‘30’, by assigning sequential reference numbers beginning with 0 as each successive XNAME record is
encountered. Explicit assignment occurs in record type ‘31’.
32.3 Record types ‘30’ and ‘31’ may not both be used in the same OASIS file.
32.4 EXCEPTION HANDLING
— The appearance of two XNAME records in the same file with the same
reference number but different names should be treated as a fatal error. The appearance of both record types ‘30’
and ‘31’ in the same OASIS file should be treated as a fatal error.
33 XELEMENT Record
33.1 An XELEMENT record allows backward-compatible extension of OASIS <element> records. It has the
following format:
‘32’ xelement-attribute xelement-string
33.2 xelement-attribute is an unsigned-integer providing the ability to associate the XELEMENT with a user-
defined class. xelement-string is a b-string containing user-defined data.

SEMI P39-0304
E2
© SEMI 2004 26
34 XGEOMETRY Record
34.1 An XGEOMETRY record allows backward-compatible extension of OASIS <geometry> records. It has the
following format:
‘33’ xgeometry-info-byte xgeometry-attribute
[ layer-number ] [ datatype-number ] xgeometry-string [ x ] [ y ] [ repetition ]
34.2 The xgeometry-info-byte contains the bit pattern ‘000XYRDL’.
34.3 R is 1 if repetition is present. L is 1 if layer-number is present. D is 1 if datatype-number is present. Both
layer-number and datatype-number are unsigned-integers. When layer-number and/or datatype-number are
unspecified, they assume the value of modal variables layer and datatype, respectively.
34.4 x and y are signed-integer coordinates representing either the absolute or the relative (x,y) location of the
geometry. X is 1 if x is present, and Y is 1 if y is present. When either x or y is unspecified, the value of modal
variable geometry-x or geometry-y, respectively, is used instead. Refer to Section 21 on page 17 for a discussion of
how absolute and relative modes affect the interpretation of x and y.
34.5 xgeometry-attribute is an integer providing the ability to associate the XGEOMETRY with a user-defined
class. xgeometry-string is a b-string containing user-defined data describing the geometry.
34.6
Each successive XGEOMETRY record updates all XGEOMETRY-related modal variables.
34.7 EXCEPTION HANDLING
— Implicit use of modal variables layer, or datatype when they are in the undefined
state should be treated as a fatal error.
35 CBLOCK Record
35.1 A CBLOCK record provides a mechanism for embedding compressed data within the structure of an OASIS
file for additional compactness. It has the following format:
‘34’ comp-type uncomp-byte-count comp-byte-count comp-bytes
35.2 comp-type is an unsigned-integer describing the type of compression used for this record. uncomp-byte-
count is an unsigned-integer describing the number of bytes prior to compression, and comp-byte-count is an
unsigned-integer describing the number of bytes after compression. comp-bytes is a sequence of bytes containing
the compressed byte sequence.
35.3 When comp-type = 0, the compression scheme is the lossless DEFLATE Compressed Data Format, Version
1.3, as documented in RFC 1951 (1996). Other values of comp-type are reserved for future versions of the OASIS
format; the intent is to be able to support a mixture of compression methods within a single OASIS file for
maximum compactness.
35.3.1 One example of compression/decompression software that is compliant with RFC 1951 is found in ZLIB
version 1.1.4 (March 2002). This software version can be used without any licensing or legal encumbrances. It is
expected that future versions of the ZLIB software will also remain RFC-1951-compliant. Users of future releases
of ZLIB are cautioned to check for continued conformance to RFC 1951 as well as any changes in the terms of use.
35.3.2 Use of the ZLIB software is not mandatory in order to be compliant with the OASIS specification. Any
compression/decompression software that stores and processes data in conformance with RFC 1951 is OASIS-
compliant. It should be noted that alternatives to the CBLOCK record may emerge in the future, supporting other
compression mechanisms. Use of multiple compression methods within a single OASIS file is not ruled out.
35.4 The START, END, CELL, and nested CBLOCK records may not be stored within a compressed record. This
maintains the ability to perform random access at the cell level within an OASIS file. A CBLOCK record may not
encapsulate more than one “strict mode” name table (refer to Sections 13 and 14 beginning on page 13). All other
sequences of records, of any length, may be stored in a CBLOCK record.
35.5 EXCEPTION HANDLING
— During the reading of a CBLOCK record, it is a fatal error if the number of
bytes returned after decompression does not match uncomp-byte-count.