semi合集-English.pdf - 第4983页
SEMI M12-1103 © SEMI 1988, 2003 5 9 Alphanumeric Error-Detecting Metho d 9.1 The alphanumeric check characters in character locations 11 a nd 12 are a required part of the Code defined in this specification. 9.2 All sing…

SEMI M12-1103 © SEMI 1988, 2003 4
Figure 4
Character Window Location for Notched Wafers
NOTE: The vertical center line referenced in Figure 4 is the bisector of the primary fiducial (notch).
8 Character Alignment
8.1 Character Skew — the maximum allowable angle
between the character baseline and a line parallel with
the bottom of the character window shall be 3 degrees
(see Figure 5).
Figure 5
Character Skew
NOTE: This line is parallel to the bottom of the character
window.
8.2 Maximum Character Misalignment — the
maximum adjacent character misalignment, R
adj
shall
be 0.23 mm (see Figure 6), and the maximum line
character misalignment, R
line
, shall be 0.46 mm (see
Figure 7).
R
adj
Figure 6
Adjacent Character Misalignment
R
line
Figure 7
Line Character Misalignment

SEMI M12-1103 © SEMI 1988, 2003 5
9 Alphanumeric Error-Detecting Method
9.1 The alphanumeric check characters in character
locations 11 and 12 are a required part of the Code
defined in this specification.
9.2 All single-character substitution errors are detected.
9.3 All two-character transposition errors are detected
for any message up to 58 characters in length.
9.4 The character set may be expanded to include the
first 59 characters of the ASCII 64-character set.
9.5 There exist simple recursive algorithms for error
detection and check character generation that do not
require the use of multiplication or division.
9.6 Definition of the Error-Detecting Method
9.6.1 For the purpose of describing the error-detecting
method, we define the following symbols:
• A
i
represents the ith ASCII character.
• a
i
represents the numerical value assigned to A
i
.
9.6.2 The characters are numbered from left to right, so
that the message is given by
A
1
A
2
A
3
…A
12
9.6.3 A complete description of the error-detecting
method is given by the following seven rules:
9.6.3.1 The numerical value a
i
is found by subtracting
32 from the ASCII decimal representation of A
i
(refer
to Table 4 — Character Values).
9.6.3.2 An ASCII character A
i
is allowed only if its
numerical value a
i
is one of
0,1,2,…58.
9.6.3.3 The check character A
11
must be one of the
ASCII characters A,B,C,D,E,F,G,H.
9.6.3.4 The check character A
12
must be one of the
ASCII characters 0,1,2,3,4,5,6,7.
9.6.3.5 The check character pair A
11
A
12
may not be one
of the combinations H3, H4, H5, H6, H7.
9.6.3.6 When the message is written, the check
characters A
11
and A
12
are chosen such that 59 divides
the expression
8
11
a
1
+ 8
10
a
2
…+8
2
a
10
+ 8a
11
+ a
12
without a remainder.
9.6.3.7 If, on reading the message, 59 does not evenly
divide the expression given above, an error has
occurred.
Table 4 Character Values
ASCII Character ASCII Decimal Value Numerical Value
– 45 13
.(Note 1) 46 14
0 48 16
1 49 17
2 50 18
3 51 19
4 52 20
5 53 21
6 54 22
7 55 23
8 56 24
9 57 25
A 65 33
B 66 34
C 67 35
D 68 36
E 69 37
F 70 38
G 71 39
H 72 40
I 73 41
J 74 42
K 75 43
L 76 44
M 77 45
N 78 46
O 79 47
P 80 48
Q 81 49
R 82 50
S 83 51
T 84 52
U 85 53
V 86 54
W 87 55
X 88 56
Y 89 57
Z 90 58
Note 1: This character is not used in the code symbol covered
by this specification.
9.7 Suggestions for Implementation — The error-
detecting method can be implemented directly by
calculating the expression given above, and the check
characters can be found by exhaustive search.
However, this approach is unnecessarily complex; a
decrease in complexity can be made by taking
advantage of three simple observations.

SEMI M12-1103 © SEMI 1988, 2003 6
9.7.1 First, since we are interested only in the
remainder of the final expression after dividing it by 59,
we can avoid working with large numbers by
subtracting 59 repeatedly after each operation until the
result is less than 59.
9.7.2 Second, we can rearrange the error-detecting
expression, using Horner' s Rule, to form
a
12
+ 8 a
11
+…8a
3
+ 8a
2
+ 8a
1
()
()
…
(
)
which can be calculated recursively from the inside out
by successive multiplication and addition.
9.7.3 Third, multiplication by eight can be
accomplished by adding a quantity to itself three times
in succession.
9.8 An Algorithm for Error Detection
9.8.1 When implementing error detection, it is
convenient to imagine a checksum for each individual
character position. This partial checksum forms a check
on all preceding characters, as well as the present
character. Then using Horner' s Rule, one can calculate
a running checksum (that is, calculate each partial
checksum in order). This leads to the following
algorithm.
9.8.2 Add the checksum (or the previous character
position to itself. (For the first character position, the
value of the previous checksum is zero.) If the result is
59 or greater, subtract 59. This leaves a value in the
range 0–58.
9.8.3 Add the result of step 1 to itself. If the result is 59
or greater, subtract 59.
9.8.4 Add the result of step 2 to itself. If the result is 59
or greater, subtract 59. The result of this step is eight
times the previous position checksum, modulo 59.
9.8.5 Add the result of step 3 to the numerical value of
the character in the present position. If the result is 59
or greater, subtract 59. The result of this step is the
checksum for the present character position.
9.8.6 Repeat steps 1 through 4 for each character
position. If the checksum for the final character position
is nonzero, an error has occurred.
9.9 An Algorithm for Generating the Check Characters
— The check characters can be generated as follows:
9.9.1 Initially, assume that the check characters are A0
(the first check character is the letter A, the second is
the numeral 0).
9.9.2 Calculate the final checksum in the manner
described above for error detection. If the result is zero,
the check characters are correct, and the algorithm
terminates.
9.9.3 If the result of step 2 is nonzero, subtract it from
59, yielding a number in the range 1–58.
9.9.4 Convert the result of step 3 to binary.
9.9.5 Add the least significant three bits of the binary
number to the numerical value of the second assumed
check character 0 (numeral zero). This will yield a
value that corresponds to an ASCII character in the
range 0–7.
9.9.6 Add the next higher three bits of the binary num-
ber to the numerical value of the first assumed check
character A. This will yield a numerical value that
corresponds to an ASCII character in the range A–H.
9.10 An Illustrative Example — For the purpose of
illustrating the check character generating algorithm,
assume that the message consists of only two
characters, the numerals 2 and 3.
9.10.1 Initially, assume that the check characters are A
and 0 (zero) yielding the composite message 23A0.
9.10.2 Using the algorithm described above, the final
checksum is found to be 33. Since this is nonzero, it is
subtracted from 59, yielding 26 in decimal, or 011010
in binary.
9.10.3 The least significant three bits 010 (decimal
value 2) added to the numerical value of the ASCII
character 0 (numeral zero), which is 16, yields 18 (the
numerical value of the ASCII character 2).
9.10.4 The next higher three bits 011 (decimal value 3)
added to the numerical value of the ASCII character A,
which is 33, yields 36 (the numerical value of the
ASCII character D). The final composite message is
23D2.