PATTERN INSPECTION SYSTEM

Abstract: An improved pattern inspection system for automatically inspecting patterns on a printed circuit board, a semiconductor chip, etc. The pattern inspection system includes an optical sensor (20), a binary conversion circuit (17), a memory (18) storing binary converted data in a matrix form, a length measurement circuit (11), a reference circuit (13) and a determination circuit (12). The length measurement circuit includes a gate unit for picking-up the binary converted data array from the memory in radial directions with respect to an origin and in a predetermined length in each direction, a unit for measuring radii of the pattern in the radial directions from the origin in response to the picked-up binary converted data; a unit for determining a center line of the pattern in the picked-up binary converted data array by the measured length of the first directions, and a unit for encoding the measured length of the second directions to numerals each corresponding to one length of each of the second directions. The reference circuit receives the coded numerals for a reference pattern and forms a coded reference in response to the coded numerals. The determination circuit receives coded numerals for a inspection pattern, compares a code in response to the received coded numerals with the coded reference in the reference circuit, and determines a fault in the inspection pattern.

Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a pattern inspection system. The pattern inspection system can be used to inspect patterns of leads on a printed circuit board (PCB), and patterns of a semiconductor chip, etc. 2. Description of the Related Arts Recently, an improvement in the inspection of patterns on a PCB has been urgently sought, to improve the reliability of system products provided with such PCBs. Such inspections were carried out by visual observation with a microscope, but the use of extremely complex and miniaturized patterns, and the requirements for reductions in labor and production costs, has led to attempts to develop an automatic inspection system therefor. JP-A-58-207633 discloses a system for automatically inspecting patterns on a PCB. In this system, the patterns are optically scanned, converted into electrical signals, the electrical signals encoded to binary data, and the binary data stored in a memory. The binary pattern data is then applied to spatial filters having specific characteristics, to extract features of the patterns, and detect any abnormalities in the patterns. More specifically, the above spatial filters detect faults by defining shapes which occur in the patterns to be inspected. The binary pattern data is consecutively compared with the spatial filters. If overlapping portions are detected between the input binary pattern data and one of the spatial filters, the system defines those overlapping portions as pattern error portions. The above spatial filters are designed to act only with a specific pattern and, as a result, the system can not be used to inspect a variety of patterns. Namely, the application of the system is limited. In addition, each spatial filter has a two dimensional shape, and thus it is difficult to optimize the arrangement of the spatial filter for each pattern, and thus misjudgements are liable to occur during the inspection. JP-A-59-74627 also discloses a method and apparatus for inspecting patterns of photomasks used for PCBs. The apparatus comprises an optical means, a scanner, a binary coding means, a memory, an inspection means, and a display. In this apparatus, the inspection means is provided with a picture element type length measurement means having radial directional scales. The length measurement means is applied on a matrix data plane in the memory stored binary coded pattern scan data, to obtain a width of the pattern on the PCB. The apparatus does not position a center of the width of the pattern. As a result, a correct inspection can not realized. Also, the apparatus does not use a reference dictionary for comparing actual pattern data. Thus, there is a low inspection accuracy. In addition, the binary coded pattern scan data is not classified by the validity of the width of the pattern. This results in a considerable lengthening of the inspection time and limits the invention to a general inspection technology. Furthermore, this apparatus can not detect a two dimensional fault of the pattern, for example, a break of the pattern in a longitudinal direction, and a narrow space between adjacent patterns, etc. US-A-4 481 664 discloses a pattern inspection process for objects prone to defects as regards dimensional tolerance, based on a comparison between an examined image and a stored reference image. SUMMARY OF THE INVENTION An object of the present invention is to provide a pattern inspection system by which the patterns on a variety of devices can be inspected. Another object of the present invention is to provide a pattern inspection system having an improved fault detection accuracy. Still another object of the present invention is to provide a pattern inspection system which is easily applicable to the inspection of a variety of patterns. Yet another object of the present invention is to provide a pattern inspection system having a compact circuit configuration and capable of performing a high speed inspection. These objects are met by the system for inspecting patterns on an article as defined in claim 1. Preferably, the reference memory means sets a bit of an address corresponding to the received coded numerals. Also, the compare and determination unit may read a data of an address corresponding to the coded numerals received thereat from the memory in the reference means and determine the fault in response to the read data. The system may further include a unit for correcting the binary converted data array. The pattern sensing unit may have a resolution for defining a minimum length measured at the length measurement unit. The radial directions with respect to the origin may include at least eight directions evenly spaced 45°. Preferably, the first directions for determining the center line at the length measurement unit may include 16 directions evenly spaced 22.5°. And, the second directions at the length measurement unit may include eight directions evenly spaced 45°. Preferably, the plurality of predetermined lengths in the radial directions for the gate circuit have the same length. The radius measurement circuit in the length measurement unit may measure the length of the pattern in the directions perpendicular to the direction(s) where the length exceed(s) the predetermined length of the gate circuit. The coding circuit in the length measurement unit may code the length by a first value smaller than a width of the inspection pattern, a second value greater than the width and suitable for measuring the width and a third value greater than the second value, being approximately equal to the predetermined length of the gate circuit, and suitable for detecting the center line perpendicular to the width direction. The measurement unit may use inverted binary converted data array. The coding circuit in the length measurement unit may code the length by a fourth value smaller that a distance between adjacent patterns and a fifth value greater than the distance. Preferably, the above can be combined. That is, the coding circuit may code the length by the first value, the second value and the third value, the measurement unit may use inverted binary converted data arrays, and the coding circuit may also code the length by the fourth value and the fifth value. The reference unit and the determination unit are operable for both coded numerals from the length measurement unit. In addition, the second directions at the length measurement unit may include 16 directions equal to the first directions. The plurality of predetermined length in the radial directions for the gate circuit have the same length. A first set of data array of eight directions evenly spaced 45° are used for detecting a width of the pattern, and a second set of data array of eight directions evenly spaced 45° and shift 22.5° to above directions are used for detecting the width of the pattern when a reasonable center line is not detected by the first set of data array. Furthermore, the gate circuit may further include a plurality of pairs of sub-gate circuits each pair of sub-gate circuits picking-up data at both sides opposing with respect to and adjacent to the main gate circuit picking-up data array of one of eight radial directions and at circumferential ends, for detecting the center line of the pattern when the reasonable center line is not detected by the data array of the main gate circuit. BRIEF DESCRIPTION OF THE DRAWINGS Other objects and features of the present invention will be described below in detail with reference to the accompanying drawings, in which: Fig. 1 is a block diagram of an embodiment of a pattern inspection system according to the present invention; Fig. 2 is a flow chart explaining the make-up of a reference dictionary; Fig. 3 is a partial enlarged view of patterns on a printed circuit board shown in Fig. 1; Figs. 4a and 4b are views explaining an isolated bit compensation; Fig. 5 is a view of a data array in which the length measurement is used; Fig. 6 is a view indicating directions of the data array in Fig. 5; Fig. 7 is a flow chart of a radius measurement; Fig. 8 is a flow chart of a centering operation; Fig. 9 is a diagram explaining the centering operation; Fig. 10 is a view of zones used in coding for a lead pattern; Fig. 11 is a flow chart of the zone classification; Figs. 12 and 13 are views of the coding process and the compiling of a reference dictionary; Fig. 14 is a block chart explaining the operation of compiling a satisfactory dictionary; Fig. 15 is a flow chart of the inspection of an actual lead pattern; Fig. 16 is a view explaining the detection of a break in a pattern; Fig. 17 is a view explaining the determination of whether a pattern is good or faulty; Fig. 18 is a flow chart of a compilation of a reference dictionary for a mutual pattern; Fig. 19 is a view a zones using the coding for a mutual pattern, corresponding to Fig. 10; Fig. 20 is a flow chart of the zone classification of the mutual pattern, corresponding to Fig. 11; Fig. 21 is a flow chart of the inspection of an actual mutual pattern; Figs. 22a to 22e are views explaining the operation of a second embodiment of the present invention; Fig. 23 is a graph of data arrays in the second embodiment shown in Figs. 22a to 22e; Fig. 24 is a flow chart of the operation of the second embodiment shown in Figs. 22a to 22e; Fig. 25 is a view of data arrays of a third embodiment of the present invention; Fig. 26 is a gate circuit of the third embodiment shown in Fig. 25; and, Figs. 27a and 27b are views explaining the operation of the third embodiment shown in Fig. 25. DESCRIPTION OF THE PREFERRED EMBODIMENTS In Fig. 1, a pattern inspection system includes a line sensor 20 consisting of a lens 15 and a chargecoupled device (CCD) array 16, a binary coding circuit 17, a memory 18, a length measurement circuit 11, a comparison and determination circuit 12 and a reference dictionary memory 13. The pattern inspection system compiles reference dictionaries of flawless patterns prior to the inspection and stores the same into the reference dictionary memory 13, then inspects the actual patterns by comparing them with those in the reference dictionary memory 13. The operation for compiling the reference dictionary will be described with reference to Fig. 2. Prior to the operation, a flawless pattern reference PCB 14 is positioned beneath the line sensor 20 incorporating the lens 15 and the CCD 16. Figure 3 is a partial enlarged view of the PCB 14 in Fig. 1. In Fig. 3, shaded portions show conductive patterns. Each conductive pattern consists of a lead portion, e.g., LEAD1, and a pair of land portions, e.g., LAND11 and LAND12, provided at each end and having apertures for inserting, for example, pins of a semiconductor device. In Fig. 3, a lead portion LEAD3 and a dotted land portion LAND32 shown by a dash line represent flawless patterns, and a shaded lead portion LEAD3′ and a shaded land portion LAND32′ show flawed patterns. When compiling the reference dictionary, of course, the flawless pattern reference PCB 14 is used. Steps S001 to S005 in Fig. 2. In step S001, the line sensor 20 scans patterns on the PCB 14, and the CCD array 16 outputs a plurality of analog electrical signals S16. In step S002, these signals S16 are encoded into binary data S17 by comparison with a threshold value at the binary coding circuit 17. The binary data is "1" at the portions patterned by reflective material, e.g., the lead portions and the land portions, and "0" at non-patterned portions. Due to this binary coding, the patterned portions and the non-patterned portions can be clearly discriminated. In addition, the bindary coding contributes to a reduction of a memory storage area of the memory 18 and an increase in the speed of data handling. Optionally, in step S003, an isolated bit compensation (correction) can be achieved after the binary coding step. This is a data correction process wherein, when binary coded data is given in a longitudinal direction of the line sensor 20 as shown in Fig. 4a, isolated "1" bits IB1 and IB2, which correspond to non-patterned portions, may be caused by noise and should be "0", and a missing bit MB corresponding to the patterned portion should be "1". The isolated bit compensation eliminates this discontinuity by rejecting the surplus isolated bits IB1 and IB2 and adding an omitted isolation bit MB, as shown in Fig. 4b, thus increasing the reliability of the data processing. The binary data, optionally subjected to the above compensation procedure, are stored in the memory 18 in step S004. The above operations are continuously effected for a desired region of the PCB 14, to store the binary data in the memory 18 in a matrix form. The resolution of each binary data is, for example, 5 µm x 5 µm, for the PCB pattern inspection. After the binary data is stored in a matrix form, in step S005, the above isolated bit compensation (correction) process is applied in a transversal direction perpendicular to the longitudinal direction of the line sensor 20. Step S006 The binary coded pattern data S18 is sent to the length measurement circuit 11, and the radius measurement with respect to an origin X of a lead portion is effected. The length measurement circuit 11 includes a gate circuit having main radial directional gate circuits (not shown) constructed to pick up the binary coded pattern data arranged in a matrix in radial directions, as shown in Fig. 5. The data pick-up is formed in sixteen radial directions with respect to an origin X, i.e., X-a, X-b, X-c, ---, X-r, as shown in Figs. 5 and 6. As the data pick-up is effected to the discrete two dimensional matrix data, the data picked-up through the gate circuit is discretely arranged, but the continuity of the data in each direction can be established as shown in Fig. 5. In Fig. 5, numerals 1 to 16 indicate distances from the origin X. Each numeral indicates the same distance. Also, as shown in Fig. 5, the boxes without a mark or boxes marked in the same corner are all in line in the same direction. A radius (length) of the data pick-up in each direction or diameter of the data pick-up in opposite directions is defined such that the diameter of the lead portion is greater than the width thereof, as shown by a dotted circle LSA1 (: length sensing area) in Fig. 3, or is smaller than the distance between adjacent lead portions as shown by another dotted circle LSA2. Referring to Fig. 5, the radius is 16 x 5 µm = 80 µm, but the diameter is (16 x 2) x 5 µm = 160 µm. 5 µm is the width of each scanned area as set forth above. The radius measurement in each direction is carried out by, for example, a microprocessor in the length measurement circuit 11, as shown in Fig. 7. At step S011, a direction index d is set to "1", where, d = 1 indicates the direction a in Figs. 5 and 6. At step S012, the data array DTd is picked-up. At step S013, a radial length index ℓ is set to "1", and at step S014, a radius counter rCd is cleared. When (DTd) ℓ = 1 at step S015, "1" is added to rCd, i.e., rCd = rCd + 1 at step S016, and the operations of steps S015 to S018 are repeated until ℓ reaches 16 at step S017. When (DTd) ℓ = 0 at step S015, the above radius count is bypassed and the control is transferred to step S019. The above operation is repeated at steps S019 and S020 until the direction index d reaches 16, i.e., the direction r in Figs. 5 and 6. Actual radii Ar₁ to Ar₁₆ of the directions a to r are calculated by the following formula Ar i = rC i x 5 µm (1) where, i = 1 to 16 In the following calculation, the counted radii r₁ to r₁₆ (≡ rC₁ to rC₁₆) are used for the convenience of the data processing. Step 007 (S007) Centering is carried out by using the radii r₁ to r₁₆. This centering operation will be described with reference to Figs. 8 and 9. In Fig. 9, shows the radii r₁ to r₁₆, wherein a reference SMAX, 16 in this example, denotes a maximum radius for the length measurement. Note that the lengths (radii) at the directions d , e , f , l , m and n should be r′₄, r′₅, r′₆, r′₁₂, r′₁₃, and r′₁₄. However, due to the limitation of the length measurement, the actual lengths thereof are r₄, r₅, r₆, r₁₂, r₁₃, and r₁₄. This should be considered for the centering. In Fig. 8, an initialization is carried out, at step S031. Here, n denotes the direction index and MATCH denotes a counter for matching a pair of opposed radii with respect to the origin X in Fig. 5. At steps S032 and S033, a validity check of the measured length for opposing directions, for example, the directions a and i , is performed. If the following conditions are satisfied, both opposing radii are considered satisfactory. r n ≦ SMAX (2) r n+8 ≦ SMAX (3) If these criteria are not satisfied, a pair of radii, such as r₄ : r₁₂ , r₅ : r₁₃ are considered false, and can not be used for the centering operation. When the above conditions are satisfied, a difference between valid opposing radii: |r n - r n+8 | is compared with a margin CMARGIN at step S034. If |r n - r n+8 | ≦ CMARGIN (4) the origin X of the directions n and n+8 is deemed to be a center of the lead portion LEAD1 at a point in the directions n and n+8. Then, at step S034, the match counter MATCH is increased by one (S035). The above operation of steps 032 to 034 is repeated until n is greater than 8 (steps S036, S037). After completion of the matching determination for all directions, if the match counter MATCH is equal to or greater than a predetermined value CPAIR, e.g. 2, (at step S038), the origin X is determined to be the true center position at the point in the opposite directions at step S039. In Fig. 9, the match counter MATCH may be five, because differences between opposing radii are smaller than CMARGIN at the directions a : i , b : j , c : k , g : p and h : r . By consecutively performing the above centering for a point of the origin, a center line C-C′ is defined as shown in Fig. 9. Step S008 The diameter calculation and coding of the diameter is performed at this step. First, calculation of the diameter is carried out by the following formula: If n = 1, ℓ₁ = r₁ + r₉ - 1. That is, the diameter ℓ₁ is a diameter in the directions a and i in Fig. 5. The subtraction of one (-1) means a rejection of the origin X. Note that the calculation of the diameter is carried out in the directions a : i , c : k , e : m and g : p , as shown in Fig. 10. As described above the, centering uses the radii in all 16 directions, i.e., at every 22.5° with respect to the origin X, to ensure an accurate positioning of the center. Second, if the opposite radii satisfy the formula (4), the radii are defined as "PAIRED" or "NOT-PAIRED". Third, the coding of the diameter is carried out by classifying the diameter into circular zones, as shown in Fig. 10. For example, WMIN has a length of approximately a half of a width of the pattern, WMAX has a length of approximately twice of the width of the pattern, and SMAX has a length of approximately three times to four times of the width of the pattern. Figure 11 is a flow chart of the coding of the diameters. In Fig. 11, reference numerals S, C, L, O indicate "short", "correct", "long" and "overflow". The above coding is classified into the paired condition and the not-paired condition, as shown in shown in Table 1. In Table 1, reference S designates "short" under the PAIRED condition, and reference NS also designates "short", but under the NOT-PAIRED condition. An asterisk (*) indicates that one side radius is in an overflow condition. The above codes are actually expressed by the following numbers. Each code is expressed by three bits. Accordingly, the codes in four directions a : i , c : k , e : m and g : p are expressed by 3 x 4 = 12 bits. If the codes C, L, O and L are obtained as shown in Fig. 12, the numeral code becomes "6545". Step S009 The numeral code is used as an address and "1" is set at the address "6545" in the reference dictionary memory 13, as shown in Fig. 13. Similarly, each combination of the direction and the measured length for the flawless pattern is defined as a reference dictionary in the reference dictionary memory 13. The coding enables a considerably reduction of a capacity of memory, and simplifies the inspection process. In addition, a general data processing in which the actual value is not used can be performed. This enables the inspection of a variety of patterns. The above operation is repeated for a plurality of flawless patterns to compile a perfect reference dictionary, as shown in Fig. 14. A visual check can be made by using a display. If a new pattern inspection is required, a reference dictionary for a new flawless pattern can be compiled. After the coded reference dictionary is compiled, the inspection of actual patterns is continued with reference to the coded reference dictionary. The pattern inspection system in Fig. 1 is also used for the inspection. Note, prior to the inspection, an actual PCB to be inspected must be positioned beneath the line sensor 20. The inspection for a lead portion will be described with reference to Figs. 15 to 17. In Fig. 15, the operations from step S101 to step S108 are similar to the operations from step S001 to step S008 in Fig. 2, as described above. As a result, coded diameters in directions a : i , c : k , e : m and g : p are obtained together with the conditions of either "PAIRED" or "NOT-PAIRED", as shown in Tables 1 and 2. Assuming that a lead portion LEAD4 having a break at a portion BP1 in Fig. 16 is scanned, and the coded diameters are "C", "NC", "NO", and "NC". According to the translation shown in Table 2, the above coded diameters correspond to an address "6202". Referring again to Fig. 15, at step S109, the comparison and determination circuit 12 reads data of the address "6202" from the reference dictionary memory 13 (Fig. 17). Since defective pattern as shown in Fig. 16 cannot be found in the flawless reference patterns, the data read is "0". Then, the comparison and determination circuit 12 determines the scanned pattern as "FAULT", and outputs fault information at step S110. The fault information may include a position of the faulty pattern. On the other hand, when the flawless lead portion LEAD1 as shown in Fig. 9 is scanned, the codes may be "C", "L", "O", "L". These codes correspond to an address "6545". The comparison and determination circuit 12 reads data "1" at the address "6545" from the reference dictionary memory 13 and determines the scanned pattern as "GOOD" (Fig. 17). A variety of pattern defects, such as a bent pattern as shown at a portion PA on a lead portion LEAD3 in Fig. 3, etc., also can be easily detected, in addition to the broken pattern in Fig. 16. The use of the directional measurement, the coding technology, etc., enables the inspection to be effected easily, at a high speed and with a smaller memory capacity and accuracy. The pattern inspection system in Fig. 1 can be applied for the inspection of not only the lead pattern as described above but also a space (a mutual pattern) between lead portions, such a pattern between the lead portions LEAD1 and LEAD2 or LEAD2 and LEAD3 in Fig. 3. The inspection of the space (mutual pattern) will be described as follows. Figure 18 is a flow chart of the compilation of a reference dictionary for the space. In Fig. 18, the operations of steps S201 to S203 are identical to those of steps S001 to S003 in Fig. 2. At step S204, since the data of the space is "0", a bit inversion is effected to produce the space. The operations of steps S205 to S210 are also similar to those of steps S004 to S009 in Fig. 2. However, there are some differences in the above lead portion reference dictionary. First, a dotted circle LSA2 (: length sensing area) differs from the LSA1 for inspecting the lead portion shown in Fig. 10. An enlarged LSA2 is shown in Fig. 19. The LSA2 includes an inner circle having a radius WMN, a middle circle having a radius WMX, and an outer circle having another radius SMX. To detect a center of the space between LEAD1 and LEAD2, the radius WMX should be greater than a distance between LEAD1 and LEAD2, but the radius WMN should be smaller than that distance. These WMN to SMX can correspond to WMIN and SMAX in Fig. 10. Accordingly, the classification and coding is substantially the same as that in Fig. 2. WMN is a length of approximately 70% to 80% of a distance of the space, WMX is a length of approximately 1.4 to 1.5 of the distance, and SMX is a length of three to four times of the distance. Second, a flawless apace has lengths longer than WMN in all directions a : i , c : k , e : m and g : p , and thus, the coding is very simple as shown in Fig. 20, compared to that shown in Fig. 11. If the diameter ℓ 2n-1 is longer than WMN, the code is "L (long)", if not, it is "S (short)". The codes of the flawless space are "L", "L", "L" and "L" and are transferred to an address "5555", and data at the address "5555" in the reference dictionary memory 13 is set to "1". If the diameter ℓ 2n-1 is longer than WMX, another code "O (overflow)" can be used instead of "L". Then, data at an address "4444" is set. After compiling the reference dictionary for the space, the inspection of actual space is continued. Figure 21 is a flow chart of the inspection of the actual space, and except for an addition of the operation of step S234 based on the same concept as the operation of step S204 in Fig. 18, the other operations of steps S231 and S232, and S235 to S241 are similar to the operations in Fig. 15, except for the coding as described above with reference to Figs. 19 and 20. If a diameter smaller than WMN in Fig. 19 is detected, a pattern thereat is faulty. Thus defective patterns, as indicated by PA and PB in Fig. 3, can be easily detected. Preferably, the above lead pattern inspection and the above space inspection should be carried out simultaneously. To compile the reference dictionary, the scanning (step S001 in Fig. 2, step S201 in Fig. 18), the conversion to the binary data (steps S002 and S202) and the isolated bit compensation (steps S003 and S203) are common operations. Based on a scanned portion, the compilation of the reference dictionary for the lead pattern, or the compilation of the reference dictionary for the space is carried out. To inspect the actual patterns, the inspection of the lead pattern or the space is also based on a scanned portion. If the logic of the conversion at steps S202 and S232 in Figs. 18 and 21 is reversed, the bit inversion of steps S204 and S234 is omitted. Another embodiment of the present invention will now be described. In the above embodiment, 8 directional data arrays evenly spaced at 22.5° are used for the centering, but four-directional data arrays evenly spaced at 45° are preferably used to simplify the data handling. This may result in a lower accuracy of fault detection, particularly of an inclined pattern, and this embodiment is intended to maintain the accuracy even if the pattern is inclined. Figures 22a to 22e are views of enlarged lead patterns to be inspected. In Fig. 22a, the data array at 45° and picked-up by the gate circuit in the length measurement circuit 11 in the directions e : m shows an overflow, because of the limitations of the length measurement. Then, the data array spaced at 45° in the direction a : i perpendicular to the direction e : m uses the measurement of the width of the lead portion LEAD1. However, as shown in Fig. 22b, where a portion of the lead LEAD1 has a small width and is inclined at approximately 22.5°, any overflow may not be detected in all directions. Subsequently, by using only the data arrays spaced at 45°, a correct lead portion may not be detected. Then, in the embodiment, as shown in Fig. 23, a 22.5° system data array 12 shown by dashed lines may be used for the pattern inspection, in addition to a 45° system data array 11 shown by solid lines. Figure 24 is a flow chart of the length measurement of the embodiment. At step S251, the length measurement with respect to a center of the lead portion is effected by using 45° system data array 11. When two or more overflow directions are detected as shown in Fig. 22a: the directions e and m , the diameter calculation can be effected by using the 45° system data array 11 (step S255). Otherwise as shown in Fig. 22b, the length measurement with respect to the center is carried out by using the 22.5° system data array 12, as shown in Fig. 22c (step S252). When two or more overflow directions are detected as shown in Fig. 22c: the directions d and ℓ , the calculation of the diameter can be carried out by using the 22.5° system data array 11 (step S253). When one overflow is detected by the 45° system data array 11, as shown in the direction m is Fig. 22d, and another overflow is detected by the 22.5° system data array 12, as shown in the direction d in Fig. 22e, the code of the diameter for the 45° data array nearest to the 22.5° data array which has detected the overflow is set to an overflow condition (step S254), and the calculation of the diameter is carried out by the 45° system data array (step S255). If a single overflow is detected by both of the 45° and 22.5° system data arrays, the pattern may be an end or broken pattern. Then the calculation of the diameter is also carried out by using the 45° system data array 11 (step S255). The coding, per se, is identical to that described above (step S256). The above embodiment can be applied to the inspection of spaces (mutual patterns). Still another embodiment of the present invention will be described with reference to Figs. 25 and 26. This embodiment also overcomes the defect of the first embodiment discussed with reference to Fig. 22b. In Fig. 25, the length measurement is effected by main data arrays in the directions a , c , e , g , i , k , m and p and pairs of sub data arrays each pair being relevant to radial ends and opposed to the main direction: at directions a1 and a2 to p1 and p2. An array of gate circuits for the data array in Fig. 25 is shown in Fig. 26. The gate circuit array includes a main gate circuit 71 in the direction i corresponding to a single data array in Fig. 5, a pair of sub gate circuits 72 and 73 in the directions i1 and i2, OR gates 74, and a length measurement circuit 75. According to the above gate circuit array, a maximum length and an overflow can be detected, as shown in the directions c2 and k2 in Fig. 27b. Note that the overflow is not detected by only the main data array, as shown in Fig. 27a. The above embodiments can be applied to the inspection of a variety of patterns, for example, the inspection of patterns on a semiconductor chip and a ceramic substrate, etc. When the pattern inspection system is used for the inspection of a pattern of a semiconductor chip, the resolution of the data array should be approximately 0.1 µm to 0.05 µm, or less. A combination of a lens and a photomultiplier, etc., can also be used for the line sensor 20. The length measurement circuit 11 and/or the comparison and determination circuit 12 can be realized by a hardware circuit or a microprocessor. It should be understood that the present invention is not limited to the specific embodiments described in this specification except as defined in the appended claims.

Claims: A system for inspecting patterns on an article, comprising : pattern sensing means (20) for optically sensing values of said pattern and outputting electrical signals (S16) in response to said sensed values ; binary converting means (17), operatively connected to said pattern sensing means (20), for converting said electrical signals for each pixel to binary data (S17) of a logical one or zero, by a predetermined threshold value ; storing means (18), operatively connected to said binary converting means (17), for storing said binary converted data in a matrix form corresponding to said sensed pattern ; length measurement and coding means (11), operatively connected to said storing means (18), including : gate means for picking up said binary converted data array from said storing means (18) in a plurality of radial directions with respect to an origin and in a plurality of predetermined lengths in said radial directions ; means for measuring radii (r) of said pattern in first radial directions from said origin by counting the number of pixels that form an uninterrupted sequence of pixels of one logical state starting from the origin ; means for comparing the difference between opposing radii with a predetermined value so as to determine a "paired" or "not paired" condition for each of said first directions and to determine therefrom, if the origin is a true center position of an area of one logical state ; means for choosing from the first directions a plurality of second directions based on the measurements made in the first directions ; means for measuring the diameter of the second directions ; and means for coding said diameter and paired/unpaired conditions of each of said second directions to numerals and for juxtaposing these numerals to form a combined numeral for the sensed pattern ; reference memory means (13), operatively connected to said length measurement and coding means (11), for receiving and storing each of said combined numerals sensed from a plurality of reference patterns ; and comparison and determination means (12), operatively connected to said length measurement and coding means (11) and said reference memory means (13), for receiving combined numerals sensed from an inspection pattern, comparing these combined numerals with those stored in said reference memory means (13), and determining a fault in said inspection pattern when the combined numeral is not among those stored in said reference memory means (13). A system according to claim 1, wherein said reference memory means (13) sets for each received coded numeral a bit of an address corresponding to said received coded numeral, and wherein said comparison and determination means (12) reads for each received coded numeral the bit of the address corresponding to said coded numeral in said reference memory means and determines a fault in response to said read bit if the bit is not set. A system according to claim 2, further comprising means for correcting of said binary converted data array. A system according to claim 3, wherein said pattern sensing means (20) has a resolution for defining a minimum length measured by said length measurement means. A system according to claim 4, wherein said radial directions with respect to said origin comprise at least eight directions evenly spaced at 45°. A system according to claim 5, wherein said first directions for comparing opposing radii at said length measurement means comprise 16 directions evenly spaced at 22.5°. A system according to claim 6, wherein said second directions at said length measurement means comprise eight directions evenly spaced at 45°. A system according to claim 7, wherein said plurality of predetermined lengths in said radial directions for said gate means have a same length. A system according to claim 8, wherein said second directions are those which are perpendicular to the first direction(s) where the length exceed(s) said predetermined length of said gate means. A system according to claim 9, wherein said coding means in said length measurement and coding means codes said length of said diameters by a first value (WMIN) smaller than a width of said inspection pattern, a second value (WMAX) greater than said width and suitable for measuring said width, and a third value (SMAX) greater than said second value, being approximately equal to said predetermined length of said gate means, and suitable for detecting a straight line perpendicular to said width direction. A system according to claim 9 or 10, wherein said length measurement and coding means uses an inverted binary converted data array, and wherein said coding means in said length measurement means encodes said length by a fourth value (WMX) smaller than a distance between adjacent patterns and a fifth value (SMX) greater than said distance. A system according to claim 11 depending on claim 10 wherein said reference memory means (13) and said comparison and determination means (12) are operable for both coded numerals from said length measurement means. A system according to claim 6, wherein said second directions at said length measurement means are chosen from 16 directions equal to said first directions, wherein said plurality of predetermined length in said radial directions for said gate means have a same length, wherein a first set of data array of eight directions evenly spaced at 45° are used as second directions, and a second set of data array of eight directions evenly spaced at 45° and shifted by 22.5° to the above directions are used as second directions when said first set of data array is not reasonable. A system according to claim 5, wherein said gate means at said length measurement means further comprises a plurality of pairs of sub-gate means (72, 73) each pair of sub-gate means picking-up data at both sides opposing with respect to and adjacent to a main gate means (71) picking-up data array of one of said eight radial directions and at circumferential ends, for detecting a center line of said pattern when a reasonable center line is not detected by said data array of said main gate means.

Inventors: ANDO, MORITOSHI, IWATA, SATOSHI
Applicants: FUJITSU LIMITED
Application year: 1987
Main classification: G01N21
IPC codes: G06T7, G01N21