semi合集-English.pdf - 第4994页
SEMI M13-1103 © SEMI 1988, 2003 6 Figure 5 Character Skew NOTE: This line is parallel to the bottom of the code field window. R adj Figure 6 Adjacent Character Misalignment R line Figure 7 Line Character Mis alignment 7 …

SEMI M13-1103 © SEMI 1988, 2003 5
max
min
Figure 4
Field Location for Notched Wafers

SEMI M13-1103 © SEMI 1988, 2003 6
Figure 5
Character Skew
NOTE: This line is parallel to the bottom of the code field
window.
R
adj
Figure 6
Adjacent Character Misalignment
R
line
Figure 7
Line Character Misalignment
7 Alphanumeric Error-Detecting Method
7.1 The alphanumeric check characters in character
locations 17 and 18 are a required part of the Code
defined in this specification.
7.2 All single-character substitution errors are detected.
7.3 All two-character transposition errors are detected
for any message up to 58 characters in length.
7.4 The character set may be expanded into the first 59
characters of the ASCII 64-character set.
7.5 There exist simple recursive algorithms for error
detection and check character generation that do not
require the use of multiplication or division.
7.6 Definition of the Error-Detecting Method
7.6.1 For the purpose of describing the error-detecting
method, we define the following symbols:
• A
i
represents the i
th
ASCII character.
• a
i
represents the numerical value assigned to A
i
.
7.6.2 The characters are numbered from left to right,
so that the message is given by
A
1
A
2
A
3
...A
18
.
7.6.3 A complete description of the error-detecting
method is given by the following seven rules:
7.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).
7.6.3.2 An ASCII character A
i
is allowed only if its
numerical value a
i
is one of
0,1, 2,...,58.
7.6.3.3 The check character A
17
must be one of the
ASCII characters A,B,C,D,E,F,G,H.
7.6.3.4 The check character A
18
must be one of the
ASCII characters 0,1,2,3,4,5,6,7.
7.6.3.5 The check character pair A
17
A
18
may not be
one of the combinations H3, H4, H5, H6, H7.
7.6.3.6 When the message is written, the check
characters A
17
and A
18
are chosen such that 59 divides
the expression
8
17
a
1
+ 8
16
a
2
... + 8
2
a
16
+ 8a
17
+ a
18
without a remainder.
7.6.3.7 If, on reading the message, 59 does not evenly
divide the expression given above, an error has
occurred.
7.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.
7.7.1 First, since we are interested only in the remain-
der 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.

SEMI M13-1103 © SEMI 1988, 2003 7
7.7.2 Second, we can rearrange the error-detecting
expression, using Horner' s Rule, to form
a
18
+ 8(a
16
+ ...8(a
3
+ 8(a
2
+ 8a
1
))...)
which can be calculated recursively from the inside out
by successive multiplication and addition.
7.7.3 Third, multiplication by eight can be accom-
plished by adding a quantity to itself three times in
succession.
7.8 An Algorithm for Error Detection
7.8.1 When implementing error detection, it is conven-
ient to imaging a checksum for each individual charac-
ter 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 " run-
ning" checksum (that is, calculate each partial check-
sum in order). This leads to the following algorithm.
7.8.2 Add the checksum for 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.
7.8.3 Add the result of Step 1 to itself. If the result is
59 or greater, subtract 59.
7.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.
7.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.
7.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.
7.9 An Algorithm for Generating the Check Characters
— The check characters may be generated as follows:
7.9.1 Initially, assume that the check characters are A0
(the first check character is the letter A, the second is
the numeral 0).
7.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.
7.9.3 If the result of Step 2 is nonzero, subtract it from
59, yielding a number in the range 1–58.
7.9.4 Convert the result of Step 3 to binary.
7.9.5 Add the least significant three bits of the binary
number to the numerical value of the second assumed
check character 0 (zero). This will yield a value that
corresponds to an ASCII character in the range 0–7.
7.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.
7.10 An Illustrative Example — For the purpose of
illustrating the check character generating algorithm,
assume that the message consists of only two
characters, the digits 2 and 3. Initially, assume that the
check characters are A and 0 (zero) yielding the
composite message 23A0.
7.10.1 Initially, assume that the check characters are A
and 0 (zero) yielding the composite message 23A0.
7.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.
7.10.3 The least significant three bits 010 (decimal
value 2) added to the numerical value of the ASCII
character 0 (zero), which is 16, yields 18 (the numerical
value of the ASCII character 2).
7.10.4 The final composite message is 23D2. 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).
Table 4 Character Values
ASCII Character ASCII Decimal Value Numerical Value
– 45 13
. 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