semi合集-English.pdf - 第5914页

SEMI P39-0304 E2 © SEMI 2004 17 19.5 LAYERN AME records may be re peated for the same layer name. The complete m apping for a lay er nam e is formed by the union of all layer, datatype, textlaye r, and texttype ranges as…

100%1 / 7923
SEMI P39-0304
E2
© SEMI 2004 16
17.2 propname-string is an n-string which holds the property name. The reference-number is an unsigned-
integer which is either implicitly or explicitly assigned to the property name. Implicit assignment occurs in record
type ‘7’, by assigning sequential reference numbers beginning with 0 as each successive PROPNAME record is
encountered. Explicit assignment occurs in record type ‘8’.
17.3 Record types ‘7’ and ‘8’ may not both be used in the same OASIS file.
17.4 EXCEPTION HANDLING
— The appearance of two PROPNAME records in the same file with the same
number but different names, or two PROPNAME records in the same file with the same name but different
numbers, should be treated as a fatal error. The appearance of both record types ‘7’ and ‘8’ in the same OASIS file
should be treated as a fatal error.
18 PROPSTRING Record
18.1 A PROPSTRING record associates a property string with a unique reference number. This allows
PROPERTY records, if desired, to avoid redundantly storing the actual text of the property string and instead refer
to the property string by its assigned reference number. It has the following format:
‘9’ prop-string
‘10’ prop-string reference-number
18.2 prop-string is an a-string, b-string , or n-string which holds the property string, depending on the referencing
PROPERTY record. The reference-number is an unsigned-integer which is either implicitly or explicitly assigned
to the property string. Implicit assignment occurs in record type ‘9’, by assigning sequential reference numbers
beginning with 0 as each successive PROPSTRING record is encountered. Explicit assignment occurs in record
type ‘10’.
18.3 Record types ‘9’ and ‘10’ may not both be used in the same OASIS file.
18.4 EXCEPTION HANDLING
— The appearance of two PROPSTRING records in the same file with the same
number but different names should be treated as a fatal error. The appearance of both record types ‘9’ and ‘10’ in the
same OASIS file should be treated as a fatal error.
19 LAYERNAME Record
19.1 A LAYERNAME record provides a means of mapping numeric (layer,datatype) and (layer,texttype)
combinations to layer names. It has the following format:
‘11’ layername-string layer-interval datatype-interval
‘12’ layername-string textlayer-interval texttype-interval
19.2 Record type ‘11’ maps a range of (layer,datatype) numbers to a layer name, and record type ‘12’ maps a range
of (textlayer,texttype) numbers to a layer name.
19.3 layername-string is an n-string containing the layer name.
19.4 Each of the interval fields consists of an unsigned-integer denoting the interval type, followed by 0, 1, or 2
unsigned-integers representing the bounds of that interval as follows:
Table 13 LAYERNAME Interval Types
Type Bounds Implied Range
0
0 to
1
bound-a
0 to bound-a
2
bound-a
bound-a to
3
bound-a bound-a
4
bound-a bound-b
bound-a to bound-b
SEMI P39-0304
E2
© SEMI 2004 17
19.5 LAYERNAME records may be repeated for the same layer name. The complete mapping for a layer name is
formed by the union of all layer, datatype, textlayer, and texttype ranges associated with that name.
20 CELL Record
20.1 A CELL record introduces a cell definition. It has the following format:
‘13’ reference-number
‘14’ cellname-string
20.2 In record type ‘13’, reference-number is an unsigned-integer referring to a CELLNAME record where the
cell name is stored. In record type ‘14’, cellname-string stores the cell name locally. In either representation, the
cell name must be an n-string.
20.3 All subsequent records in the file up to the next CELL, END, or <name> record are considered to be part of
that cell.
20.4 EXCEPTION HANDLING
— Use of a reference-number for which there is no corresponding CELLNAME
record within the same OASIS file should be treated as a fatal error. Multiple CELL records within a single file
which refer to the same cell name (in effect, a duplicate cell definition) should also be treated as a fatal error.
21 XYABSOLUTE & XYRELATIVE Records
21.1 The XYABSOLUTE and XYRELATIVE records control the value of modal variable xy-mode, which in turn
governs the interpretation of the x and y values found in PLACEMENT, <geometry>, and TEXT records. They
consist simply of a record-ID with no additional fields:
‘15’ = XYABSOLUTE
‘16’ = XYRELATIVE
21.2 When each CELL record is encountered, modal variable xy-mode is set to absolute, and related modal position
variables placement-x, placement-y, geometry-x, geometry-y, text-x, and text-y are set to 0. The presence of an
XYRELATIVE record forces modal variable xy-mode to relative, and the presence of an XYABSOLUTE record
forces modal variable xy-mode to absolute. This mode may be changed any number of times within a cell definition.
21.3 In absolute mode, explicit x and y values, when present, are used directly as the actual (x,y) coordinates.
21.4 In relative mode, explicit x and y values, when present, are interpreted as relative displacements from the
stored position information in modal variables placement-x, placement-y, geometry-x,
geometry-y, text-x, or text-y,
depending on the record type in which they occur. In this mode, the actual x-coordinate is computed as the sum of
the x value and its corresponding modal position variable, and the actual y-coordinate is computed as the sum of the
y value and its corresponding modal position variable.
21.5 In both absolute and relative modes, when an x or y value is not explicitly present in the record, the value of
the corresponding modal position variable is used for the actual x or y coordinate. In both absolute and relative
modes, the corresponding modal position variables are always updated with the actual (x,y) coordinate position.
21.6 The interpretation of point-lists and repetitions does not depend on absolute or relative mode. Also, even when
a given element includes a repetition, the corresponding modal position variables (placement-x, placement-y,
geometry-x, geometry-y, text-x, or text-y) are always updated with the actual (x,y) coordinate of the initial element.
22 PLACEMENT Record
22.1 A PLACEMENT record describes one or more placements of the referenced cell within the current cell. It has
the following format:
‘17’ placement-info-byte [ reference-number | cellname-string ] [ x ] [ y ] [ repetition ]
‘18’ placement-info-byte [ reference-number | cellname-string ] [ magnification ] [ angle ]
[ x ] [ y ] [ repetition ]
SEMI P39-0304
E2
© SEMI 2004 18
22.2 In record type ‘17’, placement-info-byte contains the bit pattern ‘CNXYRAAF’.
22.3 In record type ‘18’, placement-info-byte contains the bit pattern ‘CNXYRMAF’.
22.4 When C = 1, the cell reference is explicit, in which case N = 1 means that reference-number (an unsigned-
integer) is present, and refers to a CELLNAME record where the cell name is stored; N = 0 means that cellname-
string (an n-string) is present and stores the cell name locally. When C = 0, N is ignored, and the value of modal
variable placement-cell is used, referring to the same cell as the previous PLACEMENT record.
22.5 x and y are signed-integer coordinates representing either the absolute or the relative (x,y) location of the
placement. 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 placement-x or placement-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.
22.6 R is 1 if repetition is present. F = 1 indicates reflection (or flip) about the x-axis; F = 0 indicates no flip.
22.7 In record type ‘17’, magnification is 1.0 and rotation is a counterclockwise integral multiple of 90°: AA = 0 for
0°,
AA = 1 for 90°, AA = 2 for 180°, and AA = 3 for 270°.
22.8 In record type ‘18’, magnification and rotation are reals; angle is dimensioned in degrees, with positive values
denoting a counterclockwise rotation; magnification is, of course, unitless. A is 1 if angle is present, otherwise the
rotation defaults to 0°. M is 1 if magnification is present, otherwise the magnification defaults to 1.0.
22.9 Each successive PLACEMENT record updates all placement-related modal variables.
22.10 EXCEPTION HANDLING
— Use of a reference-number for which there is no corresponding CELLNAME
record should be treated as a fatal error. Any recursive cell reference (a cell placing a copy of itself within itself)
should be treated as a fatal error. Magnification values which are negative or zero should be treated as fatal errors.
Floating point values of NaN or Inf for either magnification or angle should be treated as fatal errors.
PLACEMENT records may refer to CELL records regardless of their relative location within the file, and may also
refer to external cells which are not defined in the same file.
23 Placement Transform Representation
23.1 EDA applications generally define a placement transform as a 3×3 matrix:
T =
X00 X01 0
X10 X11 0
X20 X21 1
which transforms any point (p,q) via left-multiplication by the 1×3 row matrix [ p q 1 ]. Conversion of OASIS
placement data to this form is defined as follows:
X00 = cos( angle ) * magnification
X01 = sin( angle ) * magnification
X10 = -f * sin( angle ) * magnification
X11 = +f * cos( angle ) * magnification
X20 = x
X21 = y
where f = 1 if F = 0, f = -1 if F = 1, “angle” is the rotation angle given by either AA or angle in the PLACEMENT
record, and “magnification” is magnification if specified, else 1.0. Note that if the rotation is a multiple of 90° and
the magnification is 1.0, then the upper 2×2 sub-matrix takes one of the following eight forms and OASIS
processors may optimize accordingly: