Wafer inspection parameter determination method
By determining the desired coordinates of the grains in the machine coordinate system and calibrating the actual coordinates, and cyclically updating the grain spacing and placement angle, the problem of insufficient calculation accuracy of wafer inspection parameters is solved, and high-precision and robust wafer inspection is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN RUIFENG VISION TECHNOLOGY CO LTD
- Filing Date
- 2025-01-24
- Publication Date
- 2026-06-19
AI Technical Summary
In existing technologies, the calculation accuracy of wafer inspection parameters is insufficient, resulting in inconsistent shooting paths during wafer inspection. This makes it impossible to effectively guarantee that the position of each captured image is consistent. Furthermore, the operation is complex, lacks robustness, and cannot cope with harsh conditions.
By determining the desired coordinates of the grains in the machine coordinate system and calibrating the actual coordinates by moving the machine to scan the image, the grain spacing and placement angle are updated cyclically. By combining scanning and movement, and using a method of simultaneous calculation, verification and correction, the calculation accuracy is improved.
It achieves high-precision calculation of wafer inspection parameters, ensures consistent image position for each capture, simplifies the operation process, improves the robustness of the system, and can cope with harsh conditions such as wafer placement angle deviation and mark point damage.
Smart Images

Figure CN120047409B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of wafer inspection technology, and in particular to a method for determining wafer inspection parameters. Background Technology
[0002] Wafer inspection is a crucial step in semiconductor manufacturing. It is primarily used to inspect the electrical properties and surface defects of wafers to ensure that their quality meets standards, thereby improving product reliability and stability.
[0003] Wafer inspection requires calculating the imaging path needed for the inspection process. In related technologies, the imaging path is typically calculated based on wafer inspection parameters, primarily including the die spacing on the wafer and the wafer's placement angle on the inspection equipment. The die spacing is used to determine a suitable field of view to ensure a consistent number of dies in each field of view, while the placement angle ensures that the wafer's position remains consistent in each image captured.
[0004] Therefore, how to accurately calculate the die spacing and wafer placement angle before wafer inspection has become an urgent technical problem to be solved. Summary of the Invention
[0005] Therefore, it is necessary to provide a method for determining wafer inspection parameters to address the above-mentioned technical problems, which can accurately calculate the die spacing and wafer placement angle.
[0006] In a first aspect, embodiments of this application provide a method for determining wafer inspection parameters, including:
[0007] When the wafer to be inspected is fixed in the machine tool and the reference die in the wafer to be inspected is located at the center of the scanning field of view of the machine tool's camera, the desired coordinates of the next die in the machine tool coordinate system are determined based on the reference coordinates of the reference die in the machine tool coordinate system.
[0008] The next die is positioned at the center of the camera's scanning field of view based on the desired coordinates, and the true coordinates of the next die in the machine coordinate system are calculated. The die spacing and placement angle of the wafer to be inspected are updated based on the true coordinates.
[0009] Based on the reference coordinates and the total movement distance of the machine, the expected coordinates of the next die are recalculated. The process of updating the die spacing and placement angle of the wafer to be inspected is repeated until the total movement distance of the machine meets the preset conditions. The die spacing and placement angle obtained from the last update are then determined as the actual die spacing and actual placement angle of the wafer to be inspected.
[0010] In one embodiment, determining the desired coordinates of the next die in the machine coordinate system based on the reference coordinates of the reference die in the machine coordinate system includes:
[0011] Obtain the maximum number of grain rows and columns that can be accommodated within the effective field of view of the camera, the initial grain spacing, and the initial placement angle;
[0012] Based on the reference coordinates, the maximum number of grain rows that can be accommodated, the maximum number of grain columns that can be accommodated, the initial grain spacing, and the initial placement angle, determine the desired coordinates of the next grain in the machine coordinate system.
[0013] In one embodiment, obtaining the maximum accommodated grain row and maximum accommodated grain column, the initial grain spacing, and the initial placement angle within the camera's effective field of view includes:
[0014] Obtain the starting point grain from the wafer template image of the wafer to be inspected; the wafer template image is obtained by stitching together multiple grain images scanned according to a preset scanning trajectory;
[0015] Starting from the upper right corner of the starting point grain, the grain search begins by sliding along the horizontal axis for a distance equal to the width of a grain, searching for matching grains that match the pre-selected grain features until a preset horizontal search stop condition is met. This process yields the number of matching grains and the pixel coordinates of each matching grain. Similarly, starting from the lower left corner of the starting point grain, the grain search begins by sliding along the vertical axis for a distance equal to the height of a grain, searching for matching grains that match the grain features until a preset vertical search stop condition is met. This process yields the number of matching grains and the pixel coordinates of each matching grain.
[0016] The maximum number of matching dies along the horizontal axis is determined, the maximum number of matching dies along the vertical axis is determined, and the initial die spacing and initial placement angle are determined based on the pixel coordinates of each matching die along the horizontal axis and the pixel coordinates of each matching die along the vertical axis.
[0017] In one embodiment, determining the initial die spacing and the initial placement angle based on the pixel coordinates of each horizontal axis-matched die and each vertical axis-matched die includes:
[0018] Based on the pixel coordinates of each horizontal axis matching die, obtain the pixel coordinates of the first horizontal axis matching die and the last horizontal axis matching die; and based on the pixel coordinates of each vertical axis matching die, obtain the pixel coordinates of the first vertical axis matching die and the last vertical axis matching die.
[0019] Based on the pixel coordinates of the first horizontal axis matching die, the last horizontal axis matching die, the first vertical axis matching die, and the last vertical axis matching die, determine the candidate die spacing and candidate placement angle.
[0020] The initial grain spacing is determined based on the candidate grain spacing and pixel pulse coefficient, and the initial placement angle is determined based on the candidate placement angle and pixel pulse coefficient.
[0021] In one embodiment, the next grain is a valid grain; calculating the true coordinates of the next grain in the machine coordinate system includes:
[0022] Obtain the positional deviation between the reference grain and the next grain;
[0023] Based on the positional deviation between the reference grain and the next grain, the expected coordinates of the next grain are calibrated, and the calibrated coordinates are determined as the true coordinates of the next grain.
[0024] In one embodiment, based on the grain image captured when the next grain is at the center of the camera's scanning field of view, a matching grain that matches the pre-selected grain features is searched, and the pixel coordinates of the matching grain are obtained.
[0025] Based on the pixel coordinates of the matching grain and the coordinates of the center point of the grain image, determine the pixel deviation coordinates of the matching grain relative to the center point of the image;
[0026] The pixel deviation coordinates are transformed based on the pixel pulse coefficient to obtain the positional deviation between the reference grain and the next grain.
[0027] In one embodiment, the next die is an invalid die; calculating the true coordinates of the next die in the machine coordinate system includes:
[0028] If there are valid grains in the grain image when the next grain is located at the center of the camera's scanning field of view, then the true coordinates of the next grain are determined based on the grain image and the expected coordinates of the next grain.
[0029] If no valid grain is found in the grain map, the machine is moved to reacquire the grain map, and the actual coordinates of the next grain are determined based on the reacquired grain map and the expected coordinates of the next grain.
[0030] In one embodiment, determining the true coordinates of the next grain based on the grain map and the expected coordinates of the next grain includes:
[0031] Search the grain map for valid grains that match the pre-selected grain features, and obtain the pixel coordinates of the valid grains;
[0032] The true coordinates of the effective grain in the machine coordinate system are determined based on the pixel coordinates of the effective grain, the image center coordinates of the grain image, the pixel pulse coefficient, and the expected coordinates of the next grain.
[0033] The true coordinates of the next grain are determined based on the true coordinates of the effective grain, the number of grains between the effective grain and the next grain, the initial grain spacing, and the initial placement angle.
[0034] In one embodiment, determining the true coordinates of the effective die in the machine coordinate system based on the pixel coordinates of the effective die, the image center coordinates of the die image, the pixel pulse coefficient, and the expected coordinates of the next die includes:
[0035] The true deviation coordinates of the effective grains relative to the image center point are determined based on the pixel coordinates of the effective grains, the image center coordinates of the grain image, and the pixel pulse coefficients.
[0036] The true coordinates of the effective grain are determined by the sum of the true deviation coordinates and the expected coordinates of the next grain.
[0037] In one embodiment, determining the true coordinates of the next grain based on the true coordinates of the effective grain, the number of grains between the effective grain and the next grain, the initial grain spacing, and the initial placement angle includes:
[0038] The actual distance between the effective grain and the next grain is determined based on the number of grain spacings between the effective grain and the next grain, the initial grain spacing, and the initial placement angle.
[0039] The true coordinates of the next grain are determined based on the difference between the true coordinates of the effective grain and the true distance.
[0040] In one embodiment, controlling the machine to move and reacquire the grain map includes:
[0041] Using the eight-connected domain direction centered on the current field of view, move the machine a distance equal to the size of the field of view and the number of grains, then control the camera to scan the image to obtain a newly acquired grain image.
[0042] In one embodiment, determining the true coordinates of the next grain based on the reacquired grain map and the expected coordinates of the next grain includes:
[0043] Search for valid grains that match the pre-selected grain features in the re-acquired grain map, and obtain the pixel coordinates of the valid grains;
[0044] The true coordinates of the effective grain in the machine coordinate system are determined based on the pixel coordinates of the effective grain, the image center coordinates of the grain image, the pixel pulse coefficient, and the expected coordinates of the next grain.
[0045] The true coordinates of the next grain are determined based on the true coordinates of the effective grains, the initial grain spacing, the maximum number of grain rows and columns that can be accommodated within the effective field of view of the camera.
[0046] In one embodiment, determining the true coordinates of the next grain based on the true coordinates of the effective grains, the initial grain spacing, the maximum number of grain rows and columns that can be accommodated within the effective field of view of the camera, includes:
[0047] The true coordinates of the mapped grain in the machine coordinate system are determined based on the true coordinates of the effective grain, the number of grain intervals between the effective grain and the next grain, the initial grain interval, and the initial placement angle; the mapped grain is the grain in the re-acquired grain image that has the same pixel coordinates as the next grain in the original field of view.
[0048] The machine tool's travel distance is determined based on the initial grain spacing, the maximum number of grain rows that can be accommodated, and the maximum number of grain columns that can be accommodated.
[0049] The true coordinates of the next grain are determined based on the difference between the true coordinates of the mapped grain and the distance traveled.
[0050] In one embodiment, updating the grain spacing and placement angle of the wafer to be inspected based on the actual coordinates includes:
[0051] Obtain the actual coordinates of the next-before grain in the machine coordinate system; the next-before grain is the adjacent next grain before the next grain.
[0052] The number of grain intervals between the next and the previous grains is determined based on the maximum number of grain rows and columns that can be accommodated within the effective field of view of the camera, as well as the number of field of view intervals between the next and the previous grains.
[0053] Determine the true distance between the previous next grain and the next grain based on the true coordinates of the previous next grain and the next grain;
[0054] Update the grain spacing and placement angle based on the number of grain spacings and the actual distance.
[0055] In one embodiment, the true distance includes the true distance in the horizontal axis direction and the true distance in the vertical axis direction; the number of grain spacings includes the number of grain spacings in the horizontal axis direction and the number of grain spacings in the vertical axis direction; updating the grain spacing based on the number of grain spacings and the true distance includes:
[0056] The grain spacing in the horizontal axis direction is determined by the ratio between the actual distance in the horizontal axis direction and the number of grain spacings in the horizontal axis direction.
[0057] The grain spacing in the longitudinal direction is determined by the ratio between the actual distance in the longitudinal direction and the number of grain spacings in the longitudinal direction.
[0058] The grain spacing along the horizontal axis and the grain spacing along the vertical axis are determined as the updated grain spacing.
[0059] In one embodiment, the true distance includes the true distance in the horizontal axis direction and the true distance in the vertical axis direction; the number of grain spacings includes the number of grain spacings in the horizontal axis direction and the number of grain spacings in the vertical axis direction; updating the placement angle based on the number of grain spacings and the true distance coordinates includes:
[0060] The offset distance in the horizontal axis direction is determined by the ratio between the actual distance in the horizontal axis direction and the number of grain spacings in the horizontal axis direction.
[0061] The offset distance in the vertical direction is determined by the ratio between the actual distance in the vertical direction and the number of grain spacings in the vertical direction.
[0062] The offset distances in the horizontal and vertical directions are determined as the updated placement angles.
[0063] In one embodiment, the method further includes:
[0064] Based on the coordinates of the taught feature points in the machine coordinate system, the feature points in the wafer to be inspected are controlled to be located at the center of the camera's scanning field of view; the taught feature points serve as reference points for positioning the wafer to be inspected.
[0065] Determine the true coordinates of the feature points in the machine coordinate system of the wafer to be inspected based on the currently scanned grain image;
[0066] The reference coordinates of the reference grain are determined based on the true coordinates of the feature points in the wafer to be inspected.
[0067] In one embodiment, determining the true coordinates of feature points in the machine coordinate system based on the currently scanned grain map includes:
[0068] Search for matching feature points in the grain map that match the taught feature points, and obtain the pixel coordinates of the matching feature points;
[0069] The true deviation coordinates of the matching feature points relative to the image center point are determined based on the pixel coordinates of the matching feature points, the coordinates of the image center point of the grain image, and the pixel pulse coefficient.
[0070] The true coordinates of the feature points are determined by the sum of the true deviation coordinates and the coordinates of the taught feature points.
[0071] In one embodiment, determining the reference coordinates of the reference grain based on the true coordinates of feature points in the wafer to be inspected includes:
[0072] The feature points are positioned at the center of the camera's scanning field of view based on their true coordinates, and the camera is controlled to scan the image to obtain a grain map.
[0073] If the grain diagram includes effective grains, then the reference coordinates of the reference grain are determined based on the grain diagram and the true coordinates of the feature points.
[0074] If the grain map does not include a valid grain, the machine is moved to reacquire the grain map, and the reference coordinates of the reference grain are determined based on the reacquired grain map.
[0075] In one embodiment, determining the reference coordinates of the reference grain based on the grain map and the true coordinates of the feature points includes:
[0076] Search the grain map for matching grains that match the pre-selected grain features, and obtain the pixel coordinates of the matching grains;
[0077] The true deviation coordinates of the matching grain relative to the image center point are determined based on the pixel coordinates of the matching grain, the image center coordinates of the grain image, and the pixel pulse coefficient.
[0078] The reference coordinates of the reference grain are determined by the sum of the true deviation coordinates and the true coordinates of the feature points.
[0079] In one embodiment, controlling the machine to move and reacquire the grain map includes:
[0080] The machine tool is controlled to move along the horizontal axis of the feature point, and when the machine tool moves to a preset distance from the actual coordinates of the feature point, the camera is controlled to scan the image to obtain a reacquired grain image; the preset distance is a preset number of field-of-view widths.
[0081] In one embodiment, determining the reference coordinates of the reference grain based on the reacquired grain map includes:
[0082] The true coordinates of the field of view center of the reacquired grain image in the machine coordinate system are determined based on the sum of the true coordinates of the feature points and the preset distance.
[0083] Search for matching grains in the re-acquired grain map that match the pre-selected grain features, and obtain the pixel coordinates of the matching grains;
[0084] Based on the pixel coordinates of the matched grain, the coordinates of the center point of the re-acquired grain image, and the pixel pulse coefficient, the true deviation coordinates of the matched grain relative to the center point of the image are determined.
[0085] The reference coordinates of the reference grain are determined by the sum of the true deviation coordinates and the true coordinates of the field of view center.
[0086] Secondly, embodiments of this application also provide a wafer inspection parameter determination device, comprising:
[0087] The desired coordinate determination module is used to determine the desired coordinates of the next die in the machine coordinate system when the wafer to be inspected is fixed in the machine and the reference die in the wafer to be inspected is located at the center of the camera scanning field of view of the machine.
[0088] The parameter update module is used to control the next die to be in the center of the camera scanning field of view according to the desired coordinates, and to calculate the real coordinates of the next die in the machine coordinate system, and update the die spacing and placement angle of the wafer to be inspected according to the real coordinates.
[0089] The parameter determination module is used to recalculate the expected coordinates of the next die based on the reference coordinates and the total moving distance of the stage. It iteratively executes the process of updating the die spacing and placement angle of the wafer to be inspected until the total moving distance of the stage meets the preset conditions. The die spacing and placement angle obtained from the last update are then determined as the actual die spacing and actual placement angle of the wafer to be inspected.
[0090] Thirdly, embodiments of this application also provide a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method in any of the embodiments of the first aspect described above.
[0091] Fourthly, embodiments of this application also provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method in any of the embodiments of the first aspect described above.
[0092] Fifthly, embodiments of this application also provide a computer program product, including a computer program that, when executed by a processor, implements the steps of the method in any of the embodiments of the first aspect described above.
[0093] The wafer inspection parameter determination method provided in this application firstly involves fixing the wafer to be inspected on the equipment and placing the reference die in the wafer at the center of the camera's scanning field of view. Based on the reference coordinates of the reference die in the equipment coordinate system, the desired coordinates of the next die in the equipment coordinate system are determined. Then, based on the desired coordinates, the next die is controlled to be at the center of the camera's scanning field of view, and the actual coordinates of the next die in the equipment coordinate system are calculated. The die spacing and placement angle of the wafer to be inspected are updated based on the actual coordinates. Then, based on the reference coordinates and the total movement distance of the equipment, the new desired coordinates of the next die are recalculated. The process of updating the die spacing and placement angle of the wafer to be inspected is repeated until the total movement distance of the equipment meets the preset conditions. Finally, the die spacing and placement angle obtained from the last update are determined as the actual die spacing and actual placement angle of the wafer to be inspected. In this method, when calculating the wafer inspection parameters, the expected coordinates of the next die are first calculated. Then, the expected coordinates of the next die are calibrated by moving the equipment to scan the image, and the true coordinates of the next die are calculated. Based on the true coordinates, the die spacing and placement angle of the wafer to be inspected are updated. This is equivalent to combining scanning with movement, using a method of simultaneous calculation, verification, and correction to update the die spacing and placement angle, making the calculated die spacing and placement angle more accurate. Furthermore, by continuously moving the equipment, the true coordinates of the next die are recalculated, and the die spacing and placement angle are updated cyclically. This is equivalent to continuously repeating the process of calculation, verification, and correction to cyclically update the die spacing and placement angle, further improving the calculation accuracy of the die spacing and placement angle. Attached Figure Description
[0094] To more clearly illustrate the technical solutions in the embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0095] Figure 1 This is a flowchart illustrating a method for determining wafer inspection parameters in one embodiment;
[0096] Figure 2 This is a flowchart illustrating the process of determining the desired coordinates of the next grain in one embodiment.
[0097] Figure 3 This is a schematic diagram of the starting point grain in one embodiment;
[0098] Figure 4 This is a schematic diagram of the search starting point in one embodiment;
[0099] Figure 5 This is a schematic diagram of a reference grain and the next grain in one embodiment;
[0100] Figure 6 This is a schematic diagram of the new next grain in one embodiment;
[0101] Figure 7 This is a flowchart illustrating the process of calculating the true coordinates of the next grain in one embodiment;
[0102] Figure 8 This is a flowchart illustrating the calculation of the true coordinates of the next grain in another embodiment;
[0103] Figure 9 This is a schematic diagram of a grain search along the 8 connected domain directions in one embodiment;
[0104] Figure 10 This is a schematic diagram of the process for updating the grain spacing and placement angle in one embodiment;
[0105] Figure 11 This is a flowchart illustrating the process of determining reference coordinates in one embodiment;
[0106] Figure 12a This is a schematic diagram of a four-connected domain direction search for grains in one embodiment;
[0107] Figure 12b This is a schematic diagram of the search direction for the next grain in one embodiment;
[0108] Figure 13 This is a schematic diagram of a wafer detection parameter determination device in one embodiment. Detailed Implementation
[0109] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0110] The technical background of the embodiments of this application will be described below.
[0111] Wafer inspection is a crucial step in semiconductor manufacturing. It is primarily used to inspect the electrical properties and surface defects of wafers to ensure that their quality meets standards, thereby improving product reliability and stability.
[0112] In related technologies, wafer disk inspection requires calculating the imaging path. Since the spacing between wafers is relatively fixed, the imaging path must be tailored to the wafer spacing and size to obtain a suitable field of view, ensuring a consistent number of dies in each field of view. Furthermore, due to angular deviations in wafer disk placement, the correspondence between angle and imaging path must be carefully considered to ensure consistent wafer positions in each captured image. This, combined with algorithms, achieves perfect detection results. Traditional methods suffer from insufficient accuracy, inability to evaluate calculated angles, inadequate robustness, or high operational complexity. Traditional methods calculate spacing and angles solely from images; however, limitations in the field of view and wafer size result in low accuracy and the potential for error accumulation. Alternatively, multiple points need to be taught, and calculations are performed using machine movement and camera input, which is overly cumbersome, increases operational difficulty, and increases the probability of operational errors. Moreover, all of these methods lack robustness and cannot cope with harsh conditions, such as damaged marker points. Without evaluating the calculation results, errors may persist and the expected outcome may not be achieved.
[0113] Based on this, this application provides a method for determining wafer inspection parameters. When calculating the wafer inspection parameters, the expected coordinates of the next die are first calculated. Then, by moving the equipment to scan the image, the expected coordinates of the next die are calibrated to calculate the true coordinates of the next die. Based on these true coordinates, the die spacing and placement angle of the wafer to be inspected are updated. This is equivalent to combining scanning with movement, using a method of simultaneous calculation, verification, and correction to update the die spacing and placement angle, making the calculated die spacing and placement angle more accurate. Furthermore, by continuously moving the equipment and recalculating the true coordinates of the next die, and cyclically updating the die spacing and placement angle, the process of calculation, verification, and correction is repeated continuously to cyclically update the die spacing and placement angle, further improving the calculation accuracy of the die spacing and placement angle. Of course, the technical solutions provided in the embodiments of this application are not limited to solving only the above problems and also have other technical effects, which can be seen in the following embodiments.
[0114] It should be noted that the beneficial effects or technical problems solved by the embodiments of this application are not limited to this one, but may also be other implicit or related problems. For details, please refer to the description of the embodiments below.
[0115] The technical solution of this application and how it solves the above-mentioned technical problems will be described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will be described below with reference to the accompanying drawings.
[0116] In one exemplary embodiment, such as Figure 1 As shown, a method for determining wafer inspection parameters is provided. Taking the application of this method to a server as an example, the method includes the following steps 201 to 203. Wherein:
[0117] S201, when the wafer to be inspected is fixed on the machine and the reference die in the wafer to be inspected is located at the center of the scanning field of view of the camera of the machine, the desired coordinates of the next die in the machine coordinate system are determined according to the reference coordinates of the reference die in the machine coordinate system.
[0118] The reference grain is a representative standard grain selected when calculating grain spacing and wafer angle. It is understood that the reference grain is typically intact and defect-free to ensure the accuracy and reliability of the calculation results. The next grain refers to any grain in the wafer under test other than the reference grain, used in conjunction with the reference coordinates of the reference grain to calculate the grain spacing and placement angle of the wafer under test.
[0119] Once the wafer to be inspected is fixed on the inspection table, the table is moved to bring the reference die within the camera's scanning field of view. At this point, the desired coordinates of the next die in the inspection table's coordinate system need to be calculated based on the reference coordinates of the reference die. The calculation of the desired coordinates of the next die depends on how it was selected. For example, if the next die is selected with a gap of several dies between it and the reference die, the desired coordinates can be calculated based on the number of dies in the gap, the initial die spacing, and the reference coordinates of the reference die.
[0120] For example, the reference coordinates of the reference die in the machine coordinate system can be calculated from the die image scanned by the camera. For instance, when the reference die is at the center of the camera's scanning field of view, the camera is controlled to acquire the die image of the current field of view, and the pixel coordinates of the reference die are determined in the die image. Then, according to the transformation relationship between pixel coordinates and real coordinates, that is, the pixel coordinates of the reference die are transformed to obtain the reference coordinates of the reference die in the machine coordinate system.
[0121] S202, according to the desired coordinates, controls the next die to be in the center of the camera's scanning field of view, and calculates the real coordinates of the next die in the machine coordinate system, and updates the die spacing and placement angle of the wafer to be inspected according to the real coordinates.
[0122] In this embodiment, after determining the desired coordinates of the next die, the next die is controlled to be positioned at the center of the camera's scanning field of view based on its desired coordinates. For example, the machine is controlled to move to the position of the desired coordinates of the next die, so that the next die is positioned at the center of the camera's scanning field of view.
[0123] After moving the machine to the designated position, the true coordinates of the next die in the machine coordinate system are calculated. For example, after the machine moves to the position of the desired coordinates of the next die, the camera is controlled to acquire a die image, and the deviation between the desired coordinates and the true coordinates of the next die is determined based on the die image. Then, based on the deviation between the desired coordinates and the true coordinates of the next die, and the desired coordinates of the next die, the true coordinates of the next die are determined.
[0124] Furthermore, after calculating the true coordinates of the next die, the die spacing and placement angle of the wafer to be inspected are updated based on the true coordinates of the next die. For example, the true distance between the next die and the reference die is calculated based on the true coordinates of the next die and the reference coordinates of the reference die. Then, based on the true distance between the next die and the reference die, and the number of die spacings between the next die and the reference die, the updated die spacing and the updated placement angle are determined.
[0125] S203, based on the reference coordinates and the total movement distance of the machine, recalculate the expected coordinates of the next die, and repeatedly execute the process of updating the die spacing and placement angle of the wafer to be inspected until the total movement distance of the machine meets the preset conditions. Then, determine the die spacing and placement angle obtained from the last update as the actual die spacing and actual placement angle of the wafer to be inspected.
[0126] After updating the die spacing and placement angle based on the first next die, the expected coordinates of the second next die are calculated, and the die spacing and placement angle are updated again based on the second next die. The expected coordinates of the second next die are determined based on the reference coordinates of the reference die and the total movement distance of the machine. This next die update process is repeated continuously (i.e., calculating the expected coordinates of the third next die, the fourth next die, and so on), updating the die spacing and placement angle each time the expected coordinates of the next die are calculated. This continues until the total movement distance of the machine meets a preset condition, at which point the die spacing and placement angle obtained from the last update are determined as the actual die spacing and actual placement angle of the wafer to be inspected.
[0127] Each update of the grain spacing and placement angle is based on the actual coordinates of the next grain and the grain immediately preceding the next grain. For example, if the first next grain is grain A and the second next grain is grain B, and the current next grain is grain B, then when updating the grain spacing and placement angle, the actual distance between grain B and grain A needs to be determined based on the difference between their actual coordinates. Based on this actual distance and the number of grains between grain B and grain A, the updated grain spacing and placement angle are then determined.
[0128] In this embodiment, after determining the actual die spacing and actual placement angle of the wafer to be inspected, the imaging path during wafer inspection can be calculated based on the actual die spacing and actual placement angle, and wafer inspection can be performed based on the imaging path. The imaging path can be calculated by determining the actual coordinates of each die in the machine coordinate system based on the actual die spacing and actual placement angle of the wafer to be inspected, and then calculating the path for multiple dies as a group. For example, using 2*2 dies as a group, the center point coordinates of each group of dies are determined based on the actual coordinates of each die in the machine coordinate system, the actual die spacing, and the actual placement angle. The center point coordinates of multiple groups of dies constitute the imaging path, and different motion trajectories can be used for wafer inspection based on the imaging path. For example, an S-shaped motion trajectory can be used to inspect the wafer to be inspected based on the imaging path.
[0129] The wafer inspection parameter determination method provided in this application firstly involves fixing the wafer to be inspected on the equipment and placing the reference die in the wafer at the center of the camera's scanning field of view. Based on the reference coordinates of the reference die in the equipment coordinate system, the desired coordinates of the next die in the equipment coordinate system are determined. Then, based on the desired coordinates, the next die is controlled to be at the center of the camera's scanning field of view, and the actual coordinates of the next die in the equipment coordinate system are calculated. The die spacing and placement angle of the wafer to be inspected are updated based on the actual coordinates. Then, based on the reference coordinates and the total movement distance of the equipment, the new desired coordinates of the next die are recalculated. The process of updating the die spacing and placement angle of the wafer to be inspected is repeated until the total movement distance of the equipment meets the preset conditions. Finally, the die spacing and placement angle obtained from the last update are determined as the actual die spacing and actual placement angle of the wafer to be inspected. In this method, when calculating the wafer inspection parameters, the expected coordinates of the next die are first calculated. Then, the expected coordinates of the next die are calibrated by moving the equipment to scan the image, and the true coordinates of the next die are calculated. Based on the true coordinates, the die spacing and placement angle of the wafer to be inspected are updated. This is equivalent to combining scanning with movement, using a method of simultaneous calculation, verification, and correction to update the die spacing and placement angle, making the calculated die spacing and placement angle more accurate. Furthermore, by continuously moving the equipment, the true coordinates of the next die are recalculated, and the die spacing and placement angle are updated cyclically. This is equivalent to continuously repeating the process of calculation, verification, and correction to cyclically update the die spacing and placement angle, further improving the calculation accuracy of the die spacing and placement angle.
[0130] Based on the above embodiments, an embodiment of the process for determining the desired coordinates of the next grain will be provided for illustration.
[0131] In one exemplary embodiment, such as Figure 2 As shown, based on the reference coordinates of the reference grain in the machine coordinate system, the desired coordinates of the next grain in the machine coordinate system are determined, including:
[0132] S301, obtain the maximum number of grain rows and columns that can be accommodated within the effective field of view of the camera, the initial grain spacing, and the initial placement angle.
[0133] In one embodiment, obtaining the maximum number of grain rows and columns that can be accommodated within the effective field of view of the camera, the initial grain spacing, and the initial placement angle includes the following steps:
[0134] Step 1: Obtain the starting point grain from the wafer template image of the wafer to be inspected; the wafer template image is obtained by stitching together multiple grain images scanned according to a preset scanning trajectory.
[0135] The starting point grain is the grain selected in the modeling process. In this embodiment, a modeling process is required to select grain features and establish a detection template process.
[0136] The pulse pitch in the X direction of the die is denoted by dX, and the pulse offset in the Y direction caused by wafer disk tilting for each dX distance is denoted by dxY. The pulse pitch in the Y direction of the die is denoted by dY, and the pulse offset in the X direction caused by wafer disk tilting for each dY distance is denoted by dyX. Here, dX and dY represent the die pitch of the wafer under test, and dxY and dyX represent the placement angle of the wafer under test.
[0137] Based on an S-shaped motion trajectory, the wafer to be inspected is scanned to acquire N*N images. These images are then stitched together using image stitching technology to create a template image, thus obtaining the wafer template image. The motion trajectory requires that each image captured at each movement distance must have an overlapping area between adjacent images to ensure that the template image is larger than the camera's field of view.
[0138] Based on the wafer template image, an algorithm template is established on it. First, a bounding box is selected to define the size of the die region. Within this region, the die features should be clear and free from contamination, and no other die features should exist within the selected region. Second, a die feature is selected. This feature serves as the unique characteristic of the die and is a crucial basis for the algorithm to identify the die. The die feature is usually contained within the die region. This die is taken as the starting point, die W1, and its position in the image coordinate system is (W1_X, W1_Y). Figure 3 For example, W1 is the starting grain, the large dashed box represents the size of the selected grain range, and the small dashed box represents the characteristics of the selected grain.
[0139] Step 2: Using the upper right corner of the starting point grain as the starting point for grain search, slide along the horizontal axis by a distance equal to the width of a grain to search for horizontal axis matching grains that match the pre-selected grain features, until a preset horizontal axis search stop condition is met, obtaining the number of horizontal axis matching grains and the pixel coordinates of each horizontal axis matching grain; and using the lower left corner of the starting point grain as the starting point for grain search, slide along the vertical axis by a distance equal to the height of a grain to search for vertical axis matching grains that match the grain features, until a preset vertical axis search stop condition is met, obtaining the number of vertical axis matching grains and the pixel coordinates of each vertical axis matching grain.
[0140] like Figure 4 As shown, the upper right corner of the starting grain is point a, and the lower left corner of the starting grain is point b.
[0141] In this embodiment, the upper right corner of the W1 grain is used as the starting point for grain search. The search is performed by sliding a distance of one grain width W1_W along the X direction. Within the search range, the OpenCV template matching function MatchTemplatemo is called to search for grain features. The nth horizontal axis matching grain found in this direction is WXn, with pixel coordinates (WXn_X, WXn_Y). Subsequent sliding operations start from the upper right corner of the WXn grain, sliding a distance of W1_W, and searching for grain features until the condition (WXn_X - W1_X) > image width is met, thus obtaining the pixel coordinates of all horizontal axis matching grains and the number of horizontal axis matching grains.
[0142] Starting from the bottom left corner of grain W1, the search proceeds along the Y direction by a distance equal to grain height W1_H. Within the search range, the OpenCV template matching function MatchTemplatemo is called to search for grain features. The nth vertically matching grain found in this direction is designated as WYn, with pixel coordinates (WYn_X, WYn_Y). Subsequent slides continue from the bottom left corner of grain WYn, sliding a distance of W1_H while searching for grain features, until the condition (WYn_Y - W1_Y) > image height is met. This process yields the pixel coordinates of all vertically matching grains and the number of vertically matching grains.
[0143] Step 3: Determine the maximum number of grain columns to accommodate based on the number of matching grains on the horizontal axis, determine the maximum number of grain rows to accommodate based on the number of matching grains on the vertical axis, and determine the initial grain spacing and initial placement angle based on the pixel coordinates of each matching grain on the horizontal axis and each matching grain on the vertical axis.
[0144] In this embodiment, the number of matching grains on the horizontal axis minus 1 is determined as the maximum capacity column WCol, and the number of matching grains on the vertical axis minus 1 is determined as the maximum capacity grain row WRow.
[0145] For example, the initial die spacing and initial placement angle can be determined by obtaining the pixel coordinates of the first and last horizontal axis matching die based on the pixel coordinates of each horizontal axis matching die, and by obtaining the pixel coordinates of the first and last vertical axis matching die based on the pixel coordinates of each vertical axis matching die; determining the candidate die spacing and candidate placement angle based on the pixel coordinates of the first and last horizontal axis matching die, the first and last vertical axis matching die; determining the initial die spacing based on the candidate die spacing and pixel pulse coefficient, and determining the initial placement angle based on the candidate placement angle and pixel pulse coefficient.
[0146] Optionally, the candidate grain spacing and candidate placement angle can be determined according to the following formulas (1)-(4).
[0147] dX_Pix =(WXs_X- WX1_X) / s (1)
[0148] dY_Pix =(WYs_X- WY1_X) / s (2)
[0149] dxY_Pix =(WXs_Y- WX1_Y) / s (3)
[0150] dyX_Pix =(WYs_Y- WY1_Y) / s (4)
[0151] Wherein, dX_Pix and dY_Pix are candidate die spacing; dxY_Pix and dyX_Pix are candidate placement angles; WXs_X and WYs_X are the pixel coordinates of the last horizontal axis matching die; WX1_X and WY1_X are the pixel coordinates of the first horizontal axis matching die; WXs_Y and WYs_Y are the pixel coordinates of the last vertical axis matching die; and WX1_Y and WY1_Y are the pixel coordinates of the first vertical axis matching die.
[0152] After calculating the candidate grain spacing and candidate placement angle, the initial grain spacing and initial placement angle are determined by combining the pixel pulse coefficient. The pixel pulse coefficient refers to the transformation ratio between pixel coordinates and real coordinates.
[0153] dX' = dX_Pix * XPulesPixRatio (5)
[0154] dY' = dY_Pix * XPulesPixRatio (6)
[0155] dxY' = dxY_Pix * YPulesPixRatio (7)
[0156] dyX' = dyX_Pix * YPulesPixRatio (8)
[0157] Where dX' and dY' are the initial grain spacing; dxY' and dyX' are the initial placement angles; XPulesPixRatio is the pixel pulse coefficient in the X direction; and YPulesPixRatio is the pixel pulse coefficient in the Y direction.
[0158] S302, based on the reference coordinates, the maximum number of grain rows that can be accommodated, the maximum number of grain columns that can be accommodated, the initial grain spacing, and the initial placement angle, determine the desired coordinates of the next grain in the machine coordinate system.
[0159] The next grain is the grain determined within the field of view after the control unit moves. For example, such as... Figure 5 As shown, the reference die is A, and the next die is B. ① is the field of view where the reference die is at the center of the camera's scanning field of view, and ② is the field of view where the next die is at the center of the camera's scanning field of view. Based on the position of the next die B, it can be seen that the next die is determined by moving the control unit a distance equal to the field of view, and then placing it within the moved field of view. The die corresponding to the center of the next field of view is the die following the reference die.
[0160] As mentioned above, the next die is constantly being updated, so the machine movement method needs to be pre-set to determine the next die. In this embodiment, the first movement can be set to no more than one field of view, that is, moving the distance of one field of view. Subsequent movements vary by multiple, for example, the number of fields of view moved n = d * x, where x depends on the size of the wafer disk, with a minimum of 2; d is the number of times the machine has moved. If x is 2, then the number of fields of view moved is 2d. Therefore, the number of fields of view moved in the second movement can be determined to be 2 (at this time d is 1), such as... Figure 6 As shown, the new next grain is C. It should be noted that the example... Figure 5 and Figure 6 The next die is determined by moving along the X-axis, and it can be to the right or left of the X-axis; this embodiment does not limit this. Additionally, the next die also needs to be determined by moving along the Y-axis, in the same way as the X-axis movement, which will not be described further. The X-axis scan ends when the total movement distance of the machine tool in the X-axis direction is greater than the wafer disk diameter WLenth*(2 / 3), i.e., Wn_Pos.X - W0_Pox.X > WLenth*(2 / 3). The Y-axis scan ends when the total movement distance of the machine tool in the Y-axis direction is greater than the wafer disk diameter WLenth*(2 / 3), i.e., Wn_Pos.Y - W0_Pox.Y > WLenth*(2 / 3).
[0161] In this embodiment, the desired coordinates of the next grain are determined based on the reference coordinates of the reference grain, the number of fields of view to be moved, the maximum number of grain rows that can be accommodated, the maximum number of grain columns that can be accommodated, the initial grain spacing, and the initial placement angle.
[0162] The desired coordinates of the next grain determined by the X direction are shown in formulas (8) and (9) below.
[0163] Wn_Pos_exp.X = W0_ Pos.X + n * WCol * dX' (8)
[0164] Wn_Pos_exp.Y = W0_ Pos.Y + n * WCol * dxY' (9)
[0165] Where Wn_Pos_exp.X and Wn_Pos_exp.Y are the expected coordinates of the next grain; W0_Pos.X and W0_Pos.Y are the reference coordinates of the reference grain; n*WCol*dX' and n*WCol*dxY' are the total movement distance of the machine tool in the X direction. The expected coordinates of the next grain determined in the Y direction are determined by the following formulas (10) and (11).
[0166] Wn_Pos_exp.X = W0_ Pos.X + n * WRow * dyX' (10)
[0167] Wn_Pos_exp.Y = W0_ Pos.Y + n * WRow * dY' (11)
[0168] Where n*WRow*dyX' and n*WRow*dY' are the total moving distance of the machine in the Y direction.
[0169] The wafer inspection parameter determination method provided in this application first obtains the maximum number of die rows and columns that can be accommodated within the effective field of view of the camera, the initial die spacing, and the initial placement angle. Then, based on the reference coordinates, the maximum number of die rows and columns that can be accommodated, the initial die spacing, and the initial placement angle, the expected coordinates of the next die in the machine coordinate system are determined. This method provides an optional approach to quickly determine the expected coordinates of the next die; by using the maximum number of die rows and columns that can be accommodated within the effective field of view of the camera, the initial die spacing, and the initial placement angle, the total movement distance of the machine is determined. Then, the expected coordinates of the next die are determined based on the sum of the reference coordinates of the reference die and the total movement distance of the machine, providing a data basis for subsequent calculations of the die spacing and placement angle.
[0170] Based on any of the above embodiments, an embodiment is provided to illustrate the process of calculating the true coordinates of the next grain.
[0171] In one exemplary embodiment, such as Figure 7 As shown, the next grain is the effective grain; calculate the true coordinates of the next grain in the machine coordinate system, including:
[0172] S401, obtain the positional deviation between the reference grain and the next grain.
[0173] In this context, a valid grain refers to a grain that can be clearly identified, has a complete shape, and meets the calculation requirements. An invalid grain refers to a grain that is unsuitable for inclusion in the wafer inspection parameter calculation due to various reasons (such as irregular shape, obstruction, or inability to be clearly identified).
[0174] In one embodiment, obtaining the positional deviation between a reference grain and the next grain includes the following steps:
[0175] Step 1: Based on the grain image captured when the next grain is at the center of the camera's scanning field of view, search for matching grains that match the pre-selected grain features and obtain the pixel coordinates of the matching grains.
[0176] The process of obtaining the pixel coordinates of the matching grain in the X direction is as follows: The machine is moved to the desired coordinate position of the next grain (in the X direction), so that the next grain is in the center of the camera's scanning field of view. At this time, the camera is controlled to scan the image to obtain the grain image. The OpenCV template matching function MatchTemplatemo is called to search for the matching grain W1Feature that matches the grain features, and the pixel coordinates of the matching grain are obtained.
[0177] The process of obtaining the pixel coordinates of the matching grain in the Y direction is as follows: The machine is moved to the desired coordinate position of the next grain (Y direction), so that the next grain is in the center of the camera's scanning field of view. At this time, the camera is controlled to scan the image to obtain the grain image. The OpenCV template matching function MatchTemplatemo is called to search for the matching grain W1Feature that matches the grain features, and the pixel coordinates of the matching grain are obtained.
[0178] Step 2: Determine the pixel deviation coordinates of the matching grain relative to the center point of the image based on the pixel coordinates of the matching grain and the coordinates of the center point of the grain image.
[0179] Step 3: Transform the pixel deviation coordinates according to the pixel pulse coefficient to obtain the positional deviation between the reference chip and the next chip.
[0180] The method for calculating the positional deviation between the reference grain and the next grain in the X and Y directions is the same, and the following formulas (12) and (13) can be used.
[0181] XOff = (MatCenter.X – W1feature.X)* XPulesPixRatio (12)
[0182] YOff = (MatCenter.Y – W1feature.Y)* YPulesPixRatio (13)
[0183] Wherein, XOff and YOff are the positional deviations between the reference die and the next die; MatCenter.X and MatCenter.Y are the coordinates of the image center point; W1feature.X and W1feature.Y are the pixel coordinates of the matching die; MatCenter.X–W1feature.X and MatCenter.Y–W1feature.Y are the pixel deviation coordinates of the matching die relative to the image center point.
[0184] S402, based on the positional deviation between the reference grain and the next grain, calibrates the expected coordinates of the next grain, and the calibrated coordinates are determined as the true coordinates of the next grain.
[0185] In this embodiment, the method for calculating the true coordinates of the next grain in the X and Y directions is the same, and the following formulas (14) and (15) can be used.
[0186] Wn_Pos.X = Wn_Pos_exp.X + XOff (14)
[0187] Wn_Pos.Y = Wn_Pos_exp.Y + YOff (15)
[0188] Where Wn_Pos.X and Wn_Pos.Y are the actual coordinates of the next grain.
[0189] The wafer inspection parameter determination method provided in this application first obtains the positional deviation between a reference die and the next die. Then, based on the positional deviation, the expected coordinates of the next die are calibrated, and the calibrated coordinates are determined as the true coordinates of the next die. In this method, when the next die is a valid die, the positional deviation between the reference die and the next die is obtained, and then the expected coordinates of the next die are calibrated using this positional deviation, i.e., the true coordinates of the next die are calculated. This improves the accuracy of the next die's position, thereby improving the accuracy of die spacing and placement angle.
[0190] Based on any of the above embodiments, another embodiment is provided to illustrate the process of calculating the true coordinates of the next grain.
[0191] In one exemplary embodiment, such as Figure 8 As shown, the next grain is an invalid grain; calculating the true coordinates of the next grain in the machine coordinate system includes:
[0192] S501, if there are valid grains in the grain map when the next grain is at the center of the camera's scanning field of view, then determine the true coordinates of the next grain based on the grain map and the expected coordinates of the next grain.
[0193] In one embodiment, determining the true coordinates of the next grain includes the following steps:
[0194] Step 1: Search for valid grains in the grain map that match the pre-selected grain features, and obtain the pixel coordinates of the valid grains.
[0195] In this embodiment, the search for effective grains is performed along the 8-connected domain with the following grain as the center. The search diagram is shown below. Figure 9 As shown in the diagram, the black grains represent the next grain, and the surrounding gray grains are the valid grains to be searched. The OpenCV template matching function `MatchTemplatemo` is called to search for valid grains `W2Feature` that match the grain features, and the pixel coordinates of the valid grains are obtained. Simultaneously, the number of grain intervals (XCount) between the valid grain and the next grain in the X direction and the valid grain and the next grain in the Y direction are recorded.
[0196] Step 2: Determine the true coordinates of the effective grain in the machine coordinate system based on the pixel coordinates of the effective grain, the image center coordinates of the grain image, the pixel pulse coefficient, and the expected coordinates of the next grain.
[0197] For example, the true coordinates of an effective grain can be determined by determining the true deviation coordinates of the effective grain relative to the image center point based on the pixel coordinates of the effective grain, the image center coordinates of the grain image, and the pixel pulse coefficients; and by determining the true coordinates of the effective grain based on the sum of the true deviation coordinates and the expected coordinates of the next grain. For example, the true coordinates of the effective grain can be calculated according to the following formulas (16) and (17).
[0198] Wtemp_Pos.X=(MatCenter.X-W2Feature.X)*XPulesPixRatio+Wn_Pos_exp.X (16)
[0200] Wtemp_Pos.Y=(MatCenter.Y-W2Feature.Y)*YPulesPixRatio+Wn_Pos_exp.Y (17)
[0202] Where Wtemp_Pos.X and Wtemp_Pos.Y are the true coordinates of the effective grains; MatCenter.X and MatCenter.Y are the coordinates of the image center point; W2Feature.X and W2Feature.Y are the pixel coordinates of the effective grains; (MatCenter.X-W2Feature.X)*XPulesPixRatio and (MatCenter.Y-W2Feature.Y)*YPulesPixRatio are the true deviation coordinates of the effective grains relative to the image center point.
[0203] Step 3: Determine the true coordinates of the next grain based on the true coordinates of the effective grain, the number of grains between the effective grain and the next grain, the initial grain spacing, and the initial placement angle.
[0204] For example, the true coordinates of the next grain can be determined by determining the true distance between the effective grain and the next grain based on the number of grain spacings between the effective grain and the next grain, the initial grain spacing, and the initial placement angle; and by determining the true coordinates of the next grain based on the difference between the true coordinates of the effective grain and the true distance. For example, the true coordinates of the next grain can be calculated according to the following formulas (18) and (19).
[0205] Wn_Pos.X= Wtemp_Pos.X-(XCount*dX'+ YCount*dyX') (18)
[0206] Wn_Pos.Y= Wtemp_Pos.Y-(XCount*dxY'+ YCount*dY') (19)
[0207] Where XCount*dX'+YCount*dyX' and XCount*dxY'+YCount*dY' are the actual distances between the effective grain and the next grain.
[0208] S502, if there are no valid grains in the grain map, control the machine to move and reacquire the grain map, and determine the actual coordinates of the next grain based on the reacquired grain map and the expected coordinates of the next grain.
[0209] For example, the way to control the machine to move and reacquire the grain image is to move the machine a distance equal to the size of the field of view in the direction of the eight connected domains centered on the current field of view, and then control the camera to scan the image to obtain the reacquired grain image.
[0210] When no valid grains exist within the current field of view, the camera moves a distance equal to the size of the field of view along an 8-connected domain centered on the current field of view. The coordinates of the new field of view center are denoted as CameTempPos. CameTempPos.X = Wn_Pos_exp.X + dX' * WCol; CameTempPos.Y = Wn_Pos_exp.Y + dY' * WRow. The grains within the new field of view are mapped to the original grains in the same pixel coordinates. The camera is then controlled to scan the image, resulting in a newly acquired grain map.
[0211] In one embodiment, determining the true coordinates of the next grain based on the reacquired grain map and the expected coordinates of the next grain includes the following steps:
[0212] Step 1: Search for valid grains that match the pre-selected grain features in the re-acquired grain map, and obtain the pixel coordinates of the valid grains.
[0213] The OpenCV template matching function `MatchTemplatemo` is called to search for valid grains that match the grain features in the re-acquired grain image, and the pixel coordinates of the valid grains are obtained. This step is the same as step 1 of S501 above, and will not be repeated here.
[0214] Step 2: Determine the true coordinates of the effective grain in the machine coordinate system based on the pixel coordinates of the effective grain, the image center coordinates of the grain image, the pixel pulse coefficient, and the expected coordinates of the next grain.
[0215] For example, the true deviation coordinates of the effective grain relative to the image center point are determined based on the pixel coordinates of the effective grain, the image center coordinates of the grain image, and the pixel pulse coefficient; the true coordinates of the effective grain are determined based on the sum of the true deviation coordinates and the expected coordinates of the next grain. Refer to formulas (16) and (17) above for details.
[0216] Step 3: Determine the true coordinates of the next grain based on the true coordinates of the effective grains, the initial grain spacing, the maximum number of grain rows and columns that can be accommodated within the effective field of view of the camera.
[0217] For example, the true coordinates of the mapped grain in the machine coordinate system are determined based on the true coordinates of the effective grain, the number of grain gaps between the effective grain and the next grain, the initial grain gap, and the initial placement angle; the mapped grain is the grain in the re-acquired grain image that has the same pixel coordinates as the next grain in the original field of view; the moving distance of the machine is determined based on the initial grain gap, the maximum number of grain rows that can be accommodated, and the maximum number of grain columns that can be accommodated; the true coordinates of the next grain are determined based on the difference between the true coordinates of the mapped grain and the moving distance.
[0218] Wn_map_Pos.X= Wtemp_Pos.X-(XCount*dX'+ YCount*dyX') (20)
[0219] Wn_map_Pos.Y= Wtemp_Pos.Y-(XCount*dxY'+ YCount*dY') (21)
[0220] Wn_Pos.X= Wn_map_Pos.X-dX'* WCol (22)
[0221] Wn_Pos.Y= Wn_map_Pos.Y-dY'* WRow (23)
[0222] Where Wn_map_Pos.X and Wn_map_Pos.Y are the actual coordinates of the mapped grains; dX'*WCol and dY'*WRow are the movement distances of the machine.
[0223] The wafer inspection parameter determination method provided in this application determines the true coordinates of the next die based on the expected coordinates of the next die in the die image when the next die is located at the center of the camera's scanning field of view, provided that a valid die exists in the die image. If no valid die exists in the die image, the machine is moved to re-acquire the die image, and the true coordinates of the next die are determined based on the re-acquired die image and the expected coordinates of the next die. In this method, when the next die is invalid, the precise position of the next die is calculated using the valid dies surrounding the invalid die. This is equivalent to considering the impact of defective dies on the algorithm during the calculation of the die spacing angle, reducing the impact of defective dies by inversely deducing from the surrounding valid dies, thus improving the robustness of the algorithm.
[0224] Based on the above embodiments, an embodiment of the process of updating the grain spacing and placement angle is provided for illustration.
[0225] In one exemplary embodiment, such as Figure 10 As shown, the die spacing and placement angle of the wafer under test are updated according to the actual coordinates, including:
[0226] S601, obtain the actual coordinates of the next preceding die in the machine coordinate system; the next preceding die is the next adjacent die before the next die.
[0227] See also Figure 6 If the next die is die B, then the previous next die is die A. The true coordinates of the next die are calculated after each machine movement. The true coordinates of the next die calculated after the last movement can be directly obtained, which is the true coordinates of the previous next die.
[0228] S602, based on the maximum number of grain rows and columns that can be accommodated within the effective field of view of the camera, and the number of field of view intervals between the next grain and the next grain, determine the number of grain intervals between the next grain and the next grain.
[0229] In this embodiment, the number of grain spacings between the next preceding grain and the next grain in the X direction is the product of the number of moving fields of view and the maximum accommodating column, i.e., n*WCol. The number of grain spacings between the next preceding grain and the next grain in the Y direction is the product of the number of moving fields of view and the maximum accommodating row, i.e., n*WRow.
[0230] S603, determine the true distance between the previous next grain and the next grain based on the true coordinates of the previous next grain and the next grain.
[0231] In this embodiment, the true distance between the next-before grain and the next grain in the X direction is the difference between the true X-direction coordinates of the next grain and the true X-direction coordinates of the next-before grain, i.e., Wn_Pos.X - Wn-1_Pos.X. Similarly, the true distance between the next-before grain and the next grain in the Y direction is the difference between the true Y-direction coordinates of the next grain and the true Y-direction coordinates of the next-before grain, i.e., Wn_Pos.Y - Wn-1_Pos.Y.
[0232] S604 updates the grain spacing and placement angle based on the number of grain spacings and the actual distance.
[0233] The true distance includes the true distance in the horizontal axis direction Wn_Pos.X-Wn-1_Pos.X and the true distance in the vertical axis direction Wn_Pos.Y-Wn-1_Pos.Y; the number of grain spacings includes the number of grain spacings in the horizontal axis direction n*WCol and the number of grain spacings in the vertical axis direction n*WRow.
[0234] For example, the grain spacing can be updated based on the number of grain spacings and the actual distance. This can be done by determining the grain spacing in the horizontal direction based on the ratio of the actual distance in the horizontal direction to the number of grain spacings in the horizontal direction; determining the grain spacing in the vertical direction based on the ratio of the actual distance in the vertical direction to the number of grain spacings in the vertical direction; and then using the grain spacing in the horizontal and vertical directions as the updated grain spacing. For instance, the updated grain spacing can be calculated using the following formulas (24) and (25).
[0235] dX=(Wn_Pos.X-Wn-1_Pos.X) / n* WCol (24)
[0236] dY=(Wn_Pos.Y-Wn-1_Pos.Y) / n* WRow (25)
[0237] Where dX is the grain spacing in the horizontal direction and dY is the grain spacing in the vertical direction.
[0238] For example, the placement angle can be updated based on the number of grain spacings and the actual distance coordinates by determining the offset distance in the horizontal direction based on the ratio between the actual distance in the horizontal direction and the number of grain spacings in the vertical direction; determining the offset distance in the vertical direction based on the ratio between the actual distance in the vertical direction and the number of grain spacings in the horizontal direction; and determining the offset distance in the horizontal direction and the offset distance in the vertical direction as the updated placement angle. For example, the updated placement angle can be calculated according to the following formulas (26) and (27).
[0239] dxY=(Wn_Pos.Y-Wn-1_Pos.Y) / n* WCol (26)
[0240] dyX=(Wn_Pos.X-Wn-1_Pos.X) / n* WRow (27)
[0241] Where dxY is the offset distance in the vertical direction; dyX is the offset distance in the horizontal direction.
[0242] The wafer inspection parameter determination method provided in this application first obtains the true coordinates of the next-next die in the machine coordinate system. The next-next die is the die immediately preceding the next die. Then, based on the maximum number of die rows and columns that can be accommodated within the camera's effective field of view, and the number of field-of-view intervals between the next-next die and the next die, the number of die intervals between them is determined. Next, based on the true coordinates of the next-next die and the next die, the true distance between them is determined. Finally, based on the number of die intervals and the true distance, the die interval and the placement angle are updated. In this method, by calculating the number of die intervals between the previous and next dies, and the true distance between the next-next die and the next die, the die interval and placement angle can be quickly calculated based on these numbers and distances. Furthermore, the true distance between the next-next die and the next die is calculated based on the true coordinates of the next die, improving the accuracy of the true distance calculation and thus improving the accuracy of updating the die interval and placement angle.
[0243] Based on the above embodiments, an embodiment of the process for obtaining the reference coordinates of the reference grain is provided for illustration.
[0244] In one exemplary embodiment, such as Figure 11 As shown, the method also includes:
[0245] S701 controls the feature points in the wafer to be inspected to be positioned at the center of the camera's scanning field of view based on the coordinates of the taught feature points in the machine coordinate system; the taught feature points are reference points used for positioning the wafer to be inspected.
[0246] In this embodiment, before calculating the die spacing and placement angle, another wafer is fixed to the machine platform. The machine platform is moved until a teaching feature point Make appears within the camera's field of view. The Make feature is selected for wafer disk positioning. Make must be a unique feature point within the camera's field of view; for example, Make is a unique shape within the wafer. The platform position MakeCame is recorded as unit pulses (Pules), which will serve as the starting position for Make positioning. MakeCame represents the coordinates of the teaching feature point in the machine platform coordinate system.
[0247] Move the camera to the MakeCam position so that the feature points in the wafer to be inspected are centered in the camera's scanning field of view, and control the camera to scan the image to obtain the currently scanned grain map. The feature points in the wafer to be inspected are similar to or identical to the taught feature points. For example, a feature point may be a unique shape in the wafer to be inspected.
[0248] S702, determine the true coordinates of feature points in the wafer to be inspected in the machine coordinate system based on the currently scanned grain image.
[0249] In one embodiment, the step of determining the true coordinates of a feature point includes:
[0250] Step 1: Search for matching feature points in the grain map that match the taught feature points, and obtain the pixel coordinates of the matching feature points.
[0251] The platform moves to the MakeCame position to obtain the grain image. At this time, the image center MatCenter and MakeCame are mapped. The OpenCV template matching function MatchTemplatemo is called to search for matching feature points that match the taught feature points, and the pixel coordinates MakeFeature of the matching feature points are obtained.
[0252] Step 2: Determine the true deviation coordinates of the matching feature points relative to the image center point based on the pixel coordinates of the matching feature points, the coordinates of the image center point of the grain image, and the pixel pulse coefficient.
[0253] Step 3: Determine the true coordinates of the feature points based on the sum of the true deviation coordinates and the coordinates of the taught feature points.
[0254] The true coordinates of the feature points in the wafer to be inspected are calculated according to the following formulas (28) and (29).
[0255] MakePos.X=(MatCenter.X-MakeFeature.X)* XPulesPixRatio+MakeCame.X(28)
[0256] MakePos.Y=(MatCenter.Y-MakeFeature.Y)* YPulesPixRatio+MakeCame.Y(29)
[0257] Where MakePos.X and MakePos.Y are the true coordinates of the feature points; MakeFeature.X and MakeFeature.Y are the pixel coordinates of the matched feature points; MakeCame.X and MakeCame.Y are the coordinates of the taught feature points; (MatCenter.X-MakeFeature.X)*XPulesPixRatio and (MatCenter.Y-MakeFeature.Y)*YPulesPixRatio are the true deviation coordinates of the matched feature points relative to the image center point.
[0258] S703, determine the reference coordinates of the reference grain based on the true coordinates of the feature points in the wafer to be inspected.
[0259] In one embodiment, determining the reference coordinates of a reference die based on the true coordinates of feature points in the wafer to be inspected includes the following steps:
[0260] Step 1: Based on the true coordinates of the feature points, control the feature points to be located at the center of the camera's scanning field of view, and control the camera to scan the image to obtain the grain map.
[0261] In this embodiment, the control unit moves to the position of the true coordinates of the feature point, so that the true coordinates of the feature point are at the center of the camera's scanning field of view. At this time, the camera is controlled to scan the image to obtain the grain image.
[0262] Step 2: If the grain diagram includes effective grains, then determine the reference coordinates of the reference grain based on the grain diagram and the true coordinates of the feature points.
[0263] For example, the reference coordinates of a reference grain can be determined based on the grain image and the true coordinates of the feature points by searching for matching grains in the grain image that match the pre-selected grain features and obtaining the pixel coordinates of the matching grains; determining the true deviation coordinates of the matching grains relative to the image center point based on the pixel coordinates of the matching grains, the image center coordinates of the grain image, and the pixel pulse coefficients; and determining the reference coordinates of the reference grain based on the sum of the true deviation coordinates and the true coordinates of the feature points.
[0264] The OpenCV template matching function MatchTemplatemo is called to search for matching grains W3Feature in the grain map that match the pre-selected grain features, and the pixel coordinates of the matching grains are obtained. Further, the reference coordinates of the reference grain are determined based on the following formulas (30) and (31).
[0265] W0_Pos.X=(MatCenter.X-W3Feature.X)* XPulesPixRatio+MakePos.X (30)
[0266] W0_Pos.Y=(MatCenter.Y-W3Feature.Y)* YPulesPixRatio+ MakePos.Y (31)
[0267] Wherein, W0_Pos.X and W0_Pos.Y are the reference coordinates of the reference grain; W3Feature.X and W3Feature.Y are the pixel coordinates of the matching grain; (MatCenter.X-W3Feature.X)*XPulesPixRatio and (MatCenter.Y-W3Feature.Y)*YPulesPixRatio are the true deviation coordinates of the matching grain relative to the image center point.
[0268] Step 3: If the grain map does not include a valid grain, control the machine to move and reacquire the grain map, and determine the reference coordinates of the reference grain based on the reacquired grain map.
[0269] For example, the way to control the machine to move and reacquire the grain image is to control the machine to move in the horizontal direction of the feature point, and when the machine moves to a preset distance from the real coordinates of the feature point, control the camera to scan the image to obtain the reacquired grain image; the preset distance is a preset number of field-of-view widths.
[0270] When the grain map does not contain a valid grain, the camera needs to be moved outside the MakePos's field of view to find a reference grain. This movement can be done in various ways, such as moving in a specific direction or moving around the MakePos as the center. In this embodiment, after moving N times the field of view width (ViewW) in the X direction, the camera is controlled to scan the image to obtain a re-acquired grain map.
[0271] For example, determining the reference coordinates of a reference grain based on the re-acquired grain image includes the following steps:
[0272] Step (1): Determine the true coordinates of the field of view center of the newly acquired grain image in the machine coordinate system based on the sum of the true coordinates of the feature points and the preset distance.
[0273] CamePosN.X= MakePos.X+N*ViewW (32)
[0274] CamePosN.Y= MakePos.Y+N*ViewH (33)
[0275] Where CamePosN.X and CamePosN.Y are the true coordinates of the field of view center of the reacquired grain map; ViewW is the field of view width; and ViewH is the field of view height.
[0276] Step (2): Search for matching grains that match the pre-selected grain features in the newly acquired grain map, and obtain the pixel coordinates of the matching grains.
[0277] The OpenCV template matching function MatchTemplatemo is called to search for matching grains W4Feature that match the pre-selected grain features in the re-acquired grain image, and the pixel coordinates of the matching grains are obtained.
[0278] Step (3): Determine the true deviation coordinates of the matching grain relative to the image center point based on the pixel coordinates of the matching grain, the coordinates of the image center point of the re-acquired grain image, and the pixel pulse coefficient.
[0279] Step (4): Determine the reference coordinates of the reference grain based on the sum of the true deviation coordinates and the true coordinates of the field of view center.
[0280] W0_Pos.X=(MatCenter.X-W4Feature.X)* XPulesPixRatio+ CamePosN.X (34)
[0281] W0_Pos.Y=(MatCenter.Y-W4Feature.Y)* YPulesPixRatio+ CamePosN.Y (35)
[0282] The wafer inspection parameter determination method provided in this application first controls the feature points in the wafer to be inspected to be positioned at the center of the camera's scanning field of view based on the coordinates of the taught feature points in the machine coordinate system. The taught feature points serve as reference points for wafer positioning. Then, the true coordinates of the feature points in the wafer to be inspected in the machine coordinate system are determined based on the currently scanned grain image. Finally, the reference coordinates of the reference grain are determined based on the true coordinates of the feature points. In this method, by teaching a feature point, effective grains around the feature point are found, and one effective grain is selected as the reference grain. The reference coordinates of the reference grain are calculated based on the coordinates of the taught feature point, providing data support for the calculation of wafer inspection parameters. Furthermore, this application embodiment only requires teaching one feature point to run the algorithm, calculating the grain spacing and placement angle, simplifying the modeling steps, reducing the probability of operational errors, and further improving the calculation accuracy of wafer inspection parameters.
[0283] In another embodiment, the complete process for calculating wafer inspection parameters is described.
[0284] In wafer inspection, a modeling process is required, which involves selecting grain features and establishing an inspection template. In this embodiment, during the modeling process, while selecting the feature grains, the initial spacing between grains and the initial wafer disk tilt are calculated, which serve as the basis data for subsequent algorithms.
[0285] The pulse spacing in the X direction of the die is denoted by dX, and the pulse offset in the Y direction caused by wafer tilt for each dX distance is denoted by dxY. The pulse spacing in the Y direction of the die is denoted by dY, and the pulse offset in the X direction caused by wafer tilt for each dY distance is denoted by dyX. Die features serve as the unique characteristics for the algorithm to identify the die.
[0286] (1) Specific Implementation 1: Grain Scanning Algorithm within Effective Field of View
[0287] (2) Take N*N images based on the S-shaped motion trajectory, and use image stitching technology to synthesize a template image for algorithm input. The motion trajectory requires that the images taken for each movement distance must have overlapping areas between adjacent images to ensure that the template image is larger than the camera's field of view.
[0288] (3) Based on the template image, an algorithm template is established on the template image. First, the size of the grain range is selected. The grains within the range should have clear features and be free from contamination. There should be no other grain features within the selected range. Here, the selected grain range is referred to as a grain. Next, the grain features are selected. This feature is the unique feature of the grain and is an important basis for the algorithm to identify the grain. The grain features are usually contained within the grain size. This grain is used as the starting point grain W1. The image coordinate system position of this grain is (W1_X, W1_Y).
[0289] (4) Use the upper right corner of grain W1 as the starting point for grain search. Slide along the X direction by a distance equal to the grain width W1_W, and within the search range, call the OpenCV template matching function MatchTemplatemo to search for grain features. The nth grain found in this direction is WXn, with coordinates (WXn_X, WXn_Y), and update dX_Pix and dxY_Pix. Each subsequent slide starts from the upper right corner of grain WXn, slides by a distance W1_W, searches for grain features, and updates dX_Pix and dxY_Pix. This continues until the condition (WXn_X - W1_X) > image width is met. At this point, n-1 represents the maximum column that a grain can accommodate within a field of view, WCol.
[0290] (5) The bottom left corner of W1 grain is used as the starting point for grain search. Slide along the Y direction a distance equal to the grain height W1_H. Within the search range, call the OpenCV template matching function MatchTemplatemo to search for grain features. The nth grain found in this direction is WYn, with coordinates (WYn_X, WYn_Y), and update dY_Pix and dyX_Pix. Each subsequent slide starts from the LeftDown of WYn grain, slides a distance W1_H, searches for grain features, and updates dY_Pix and dyX_Pix, until the condition (WYn_Y - W1_Y) > image height is met. Thus, n-1 represents the maximum row that a grain can accommodate within a field of view, WRow.
[0291] (6) Specific Implementation 2: Die Scanning Based on Wafer Disk
[0292] The input data required for Implementation 2, calculated from the "Die Scanning Algorithm within Effective Field of View" in (1), includes: the field of view containing the die column WCol, the field of view containing the die row WRow, the die width W1_W, the die height W1_H, the die pixel pitch dX_Pix, the die pixel pitch dY_Pix, the y-direction offset dxY_Pix (pixel offset) caused by each dx due to tray tilt, and the x-direction offset dyX_Pix (pixel offset) caused by each dy due to tray tilt. In addition, it is necessary to calculate the ratio between pixels and pulses using measurement methods: the X-direction is XPulesPixRatio, and the Y-direction is YPulesPixRatio.
[0293] (7) Make Point Teaching: The machine moves until Make appears in the camera's field of view. Select the Make feature for wafer disk positioning. Make must be a unique feature point in the camera's field of view. Record the platform position MakeCame unit pulses (Pules). This position will be used as the starting position for Make positioning.
[0294] (8) The machine moves to the MakeCame position to acquire the image. At this time, the image center MatCenter and MakeCame are mapped. The OpenCV template matching function MatchTemplatemo is called to search for the pixel coordinates MakeFeature of Make feature and calculate the pulse distance between Make and the image center. Then, the machine coordinates MakePos corresponding to Make are calculated.
[0295] (9) The algorithm starts searching for the first die centered at MakePos. To improve robustness, two cases are considered: taking an image at the MakePos location containing valid dies, and taking an image containing invalid dies.
[0296] (10) If the image contains a valid grain, the OpenCV template matching function MatchTemplatemo can be called to search for the grain feature WFeature and calculate the machine coordinates W0_Pos corresponding to the valid grain (reference grain).
[0297] (11) If the image does not contain a valid die, the platform needs to be moved outside the MakePos' field of view to search for the die. Movement methods include moving in a certain direction or moving around the MakePos as the center. The following implementation uses only one method. Move N times the field of view width ViewW in the X direction. The machine coordinates corresponding to the center of the field of view should be CamePosN. Each movement will search for a valid die within the field of view until a valid die is found, at which point the search stops. The machine coordinates corresponding to the valid die (reference die) are W0_Pos.
[0298] (12) Starting with the effective grain, calculate the position of the next grain. The calculation direction for the next grain position should be the direction of the four-connected domain centered on the effective grain, see [reference needed]. Figure 12a (The black area represents the field of view of the reference grain, and the gray area represents the field of view of the next grain). The scanning direction can be any direction as the starting point, but it is important to ensure that the scanning direction allows for sufficient movement distance. After scanning in the starting direction is complete, continue scanning the perpendicular direction of the four connected regions, and the previously scanned grain positions can be used as the starting point for the next scanning direction. See... Figure 12b As shown. This implementation only demonstrates one method, determining the initial scanning direction X, then scanning the Y direction, and calculating the initial grain spacing and initial wafer tilt (initial placement angle).
[0299] (13) Calculate the expected position Wn_Pos_exp of the next die, where n is the number of fields of view. The first movement should ensure that the position does not exceed one field of view after the movement, i.e., n is 1. The machine moves to the position Wn_Pos_exp, takes an image, calls the OpenCV template matching function MatchTemplatemo to search for the die feature WFeature, calculates the deviation XOff and YOff between the actual position and the expected position of the next die, then calculates the actual position Wn_Pos of the next die, and updates the pulse pitch and wafer tilt of the die.
[0300] (14) Repeatedly execute (13). The number of fields of view moved will change by a factor after each cycle, for example, n = n * x. x depends on the size of the wafer disk, with a minimum of 2. The X-direction scan ends when the moving distance is greater than the wafer disk diameter WLenth * (2 / 3).
[0301] (15) Calculate the expected position Wn_Pos_exp of the next grain, where n is the number of fields of view. The first movement should ensure that the position does not exceed one field of view after the movement, i.e., n is 1. Move the camera to the position Wn_Pos_exp, take an image, call the OpenCV template matching function MatchTemplatemo to search for the grain feature WFeature, calculate the deviation XOff, YOff between the actual position and the expected position of the next grain, and the actual position Wn_Pos. Update the pulse spacing of the grain.
[0302] (16) Repeatedly execute (15). The number of fields of view moved after each cycle will change by a factor, for example: n = n * x. x depends on the size of the wafer disk, with a minimum of 2. The Y-direction scan ends when the moving distance is greater than the wafer disk diameter WLenth * (2 / 3).
[0303] (17) During the scanning process, when moving to the desired position of the grain, there may be bad pixels. In this case, it is necessary to use other surrounding grains to infer the true position of the desired grain. There are two situations: there are other valid grains in the field of view, or there are no valid grains in the field of view.
[0304] (18) If there are valid grains within the field of view, search for valid grains in the 8-connected domain direction centered on the bad grain. Call the OpenCV template matching function MatchTemplatemo to search for the grain feature WFeature, and calculate and record the number of searches in the x-direction XCount and the number of searches in the y-direction YCount. First calculate the machine coordinates corresponding to WFeature, and then reverse-engineer the bad point Wn_Pos.
[0305] (19) If there are no valid grains in the field of view, move the machine a distance equal to the size of the field of view along the 8-connected domain centered on the current field of view. The machine coordinates after the movement are CameTempPos. The grains in the moved field of view are mapped to the grains in the original field of view, meaning their pixel coordinates are exactly the same. Referring to step (18), the true coordinates Wn_map_Pox of the bad pixel's mapped position can be calculated within the moved field of view, and then the true coordinates of the bad pixel can be deduced.
[0306] (20) Steps 1 to 19 are used to obtain the grain spacing dX, dY and the tray tilt dxY, dYx. The actual machine coordinates corresponding to all grains can be calculated from the data.
[0307] In this embodiment, teaching is simplified; only one make point needs to be taught. Starting from a certain die around the make point, the die spacing and wafer angle are calculated through an L-shaped motion trajectory. This improves accuracy: a. Combining imaging and motion, a method of simultaneous calculation and verification is used, repeating the three steps of calculation, verification, and correction. b. Based on the initial die spacing obtained during modeling, the true distance between a specified number of dies is calculated, moved to the specified position, and then verified and corrected using the camera, updating the die spacing. c. Step b is repeated, with the number of dies involved in the calculation each time being a multiple of the previous one. The more dies involved in the calculation, the higher the accuracy. This also improves robustness; during algorithm execution, the presence of bad pixels directly affects the algorithm's performance. Considering the impact of bad pixels on the algorithm, the following two solutions are available: 1) Calculate the original precise location of the bad pixel using the positions of surrounding good dies. 2) Avoid the influence of bad pixels by changing the number of dies involved in the calculation. This improves robustness and overcomes the influence of bad pixels on the algorithm by reducing the impact of bad pixels through reverse derivation from surrounding valid points. The modeling process is simplified, requiring only one anchor point to run the algorithm, reducing the operational difficulty for employees. Accuracy is improved by employing a scanning method that corrects errors as they run, preventing error accumulation, and gradually increasing the scan length to enhance computational precision.
[0308] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0309] Based on the same inventive concept, this application also provides a wafer inspection parameter determination apparatus for implementing the wafer inspection parameter determination method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more wafer inspection parameter determination apparatus embodiments provided below can be found in the limitations of the wafer inspection parameter determination method described above, and will not be repeated here.
[0310] In one exemplary embodiment, such as Figure 13 As shown, a wafer inspection parameter determination device 1 is provided, comprising: a desired coordinate determination module 10, a parameter update module 20, and a parameter determination module 30, wherein:
[0311] The desired coordinate determination module 10 is used to determine the desired coordinates of the next die in the machine coordinate system based on the reference coordinates of the reference die in the machine coordinate system when the wafer to be inspected is fixed in the machine and the reference die in the wafer to be inspected is located at the center of the camera scanning field of view of the machine.
[0312] The parameter update module 20 is used to control the next die to be in the center of the camera scanning field of view according to the desired coordinates, and to calculate the real coordinates of the next die in the machine coordinate system, and update the die spacing and placement angle of the wafer to be inspected according to the real coordinates.
[0313] The parameter determination module 30 is used to recalculate the expected coordinates of the next die based on the reference coordinates and the total moving distance of the machine, and to repeatedly execute the process of updating the die spacing and placement angle of the wafer to be inspected until the total moving distance of the machine meets the preset conditions. The die spacing and placement angle obtained from the last update are then determined as the actual die spacing and actual placement angle of the wafer to be inspected.
[0314] In one embodiment, the desired coordinate determination module 10 is further configured to:
[0315] Obtain the maximum number of grain rows and columns that can be accommodated within the effective field of view of the camera, the initial grain spacing, and the initial placement angle; based on the reference coordinates, the maximum number of grain rows and columns that can be accommodated, the initial grain spacing, and the initial placement angle, determine the desired coordinates of the next grain in the machine coordinate system.
[0316] In one embodiment, the desired coordinate determination module 10 is further configured to:
[0317] The process involves obtaining the starting point grain from the wafer template image of the wafer to be inspected; the wafer template image is obtained by stitching together multiple grain images scanned according to a preset scanning trajectory; using the upper right corner of the starting point grain as the starting point for grain search, the process slides along the horizontal axis by a distance equal to the width of a grain, searching for horizontal axis matching grains that match the pre-selected grain features, until a preset horizontal axis search stop condition is met, thus obtaining the number of horizontal axis matching grains and the pixel coordinates of each horizontal axis matching grain; and using the lower left corner of the starting point grain as the starting point for grain search, the process slides along the vertical axis by a distance equal to the height of a grain, searching for vertical axis matching grains that match the grain features, until a preset vertical axis search stop condition is met, thus obtaining the number of vertical axis matching grains and the pixel coordinates of each vertical axis matching grain.
[0318] The maximum number of matching dies along the horizontal axis is determined, the maximum number of matching dies along the vertical axis is determined, and the initial die spacing and initial placement angle are determined based on the pixel coordinates of each matching die along the horizontal axis and the pixel coordinates of each matching die along the vertical axis.
[0319] In one embodiment, the parameter update module 20 is further configured to:
[0320] Obtain the positional deviation between the reference grain and the next grain; based on the positional deviation between the reference grain and the next grain, calibrate the expected coordinates of the next grain, and determine the calibrated coordinates as the true coordinates of the next grain.
[0321] In one embodiment, the parameter update module 20 is further configured to:
[0322] Based on the grain image captured when the next grain is at the center of the camera's scanning field of view, a matching grain that matches the pre-selected grain features is searched, and the pixel coordinates of the matching grain are obtained. Based on the pixel coordinates of the matching grain and the coordinates of the image center point of the grain image, the pixel deviation coordinates of the matching grain relative to the image center point are determined. The pixel deviation coordinates are transformed according to the pixel pulse coefficient to obtain the positional deviation between the reference grain and the next grain.
[0323] In one embodiment, the parameter update module 20 is further configured to:
[0324] If there are valid grains in the grain image when the next grain is at the center of the camera's scanning field of view, the true coordinates of the next grain are determined based on the grain image and the expected coordinates of the next grain. If there are no valid grains in the grain image, the machine is moved to reacquire the grain image, and the true coordinates of the next grain are determined based on the reacquired grain image and the expected coordinates of the next grain.
[0325] In one embodiment, the parameter update module 20 is further configured to:
[0326] Using the eight-connected domain direction centered on the current field of view, move the machine a distance equal to the size of the field of view and the number of grains, then control the camera to scan the image to obtain a newly acquired grain image.
[0327] In one embodiment, the parameter update module 20 is further configured to:
[0328] Search for valid grains that match the pre-selected grain features in the reacquired grain image and obtain the pixel coordinates of the valid grains; determine the true coordinates of the valid grains in the machine coordinate system based on the pixel coordinates of the valid grains, the image center coordinates of the grain image, the pixel pulse coefficient, and the expected coordinates of the next grain; determine the true coordinates of the next grain based on the true coordinates of the valid grains, the initial grain spacing, the maximum number of grain rows that can be accommodated within the effective field of view of the camera, and the maximum number of grain columns that can be accommodated.
[0329] In one embodiment, the parameter update module 20 is further configured to:
[0330] The true coordinates of the mapped grain in the machine coordinate system are determined based on the true coordinates of the effective grain, the number of grain gaps between the effective grain and the next grain, the initial grain gap, and the initial placement angle. The mapped grain is the grain in the newly acquired grain image that has the same pixel coordinates as the next grain in the original field of view. The machine's moving distance is determined based on the initial grain gap, the maximum number of grain rows that can be accommodated, and the maximum number of grain columns that can be accommodated. The true coordinates of the next grain are determined based on the difference between the true coordinates of the mapped grain and the moving distance.
[0331] In one embodiment, the parameter update module 20 is further configured to:
[0332] Obtain the true coordinates of the next preceding die in the machine coordinate system; the next preceding die is the next adjacent die before the next die; determine the number of die intervals between the next preceding die and the next die based on the maximum number of die rows and columns that can be accommodated within the effective field of view of the camera, as well as the number of field-of-view intervals between the next preceding die and the next die; determine the true distance between the next preceding die and the next die based on the true coordinates of the next preceding die and the true coordinates of the next die; update the die intervals and the placement angle based on the number of die intervals and the true distance.
[0333] The modules in the aforementioned wafer inspection parameter determination device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of a computer device in software form, so that the processor can call and execute the corresponding operations of each module.
[0334] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0335] When the wafer to be inspected is fixed in the machine tool and the reference die in the wafer to be inspected is located at the center of the scanning field of view of the machine tool's camera, the desired coordinates of the next die in the machine tool coordinate system are determined based on the reference coordinates of the reference die in the machine tool coordinate system.
[0336] The next die is positioned at the center of the camera's scanning field of view based on the desired coordinates, and the true coordinates of the next die in the machine coordinate system are calculated. The die spacing and placement angle of the wafer to be inspected are updated based on the true coordinates.
[0337] Based on the reference coordinates and the total movement distance of the machine, the expected coordinates of the next die are recalculated. The process of updating the die spacing and placement angle of the wafer to be inspected is repeated until the total movement distance of the machine meets the preset conditions. The die spacing and placement angle obtained from the last update are then determined as the actual die spacing and actual placement angle of the wafer to be inspected.
[0338] The implementation principles and technical effects of each step in the processor embodiment of this application are similar to those of the wafer detection parameter determination method described above, and will not be repeated here.
[0339] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:
[0340] When the wafer to be inspected is fixed in the machine tool and the reference die in the wafer to be inspected is located at the center of the scanning field of view of the machine tool's camera, the desired coordinates of the next die in the machine tool coordinate system are determined based on the reference coordinates of the reference die in the machine tool coordinate system.
[0341] The next die is positioned at the center of the camera's scanning field of view based on the desired coordinates, and the true coordinates of the next die in the machine coordinate system are calculated. The die spacing and placement angle of the wafer to be inspected are updated based on the true coordinates.
[0342] Based on the reference coordinates and the total movement distance of the machine, the expected coordinates of the next die are recalculated. The process of updating the die spacing and placement angle of the wafer to be inspected is repeated until the total movement distance of the machine meets the preset conditions. The die spacing and placement angle obtained from the last update are then determined as the actual die spacing and actual placement angle of the wafer to be inspected.
[0343] The implementation principles and technical effects of each step in the computer program executed by the processor in this embodiment are similar to those of the wafer detection parameter determination method described above, and will not be repeated here.
[0344] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:
[0345] When the wafer to be inspected is fixed in the machine tool and the reference die in the wafer to be inspected is located at the center of the scanning field of view of the machine tool's camera, the desired coordinates of the next die in the machine tool coordinate system are determined based on the reference coordinates of the reference die in the machine tool coordinate system.
[0346] The next die is positioned at the center of the camera's scanning field of view based on the desired coordinates, and the true coordinates of the next die in the machine coordinate system are calculated. The die spacing and placement angle of the wafer to be inspected are updated based on the true coordinates.
[0347] Based on the reference coordinates and the total movement distance of the machine, the expected coordinates of the next die are recalculated. The process of updating the die spacing and placement angle of the wafer to be inspected is repeated until the total movement distance of the machine meets the preset conditions. The die spacing and placement angle obtained from the last update are then determined as the actual die spacing and actual placement angle of the wafer to be inspected.
[0348] The implementation principles and technical effects of each step in the computer program executed by the processor in this embodiment are similar to those of the wafer detection parameter determination method described above, and will not be repeated here.
[0349] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0350] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0351] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for determining wafer inspection parameters, characterized in that, The method includes: When the wafer to be tested is fixed in the machine and the reference die in the wafer to be tested is located at the center of the scanning field of view of the camera of the machine, the expected coordinates of the next die in the machine coordinate system are determined according to the reference coordinates of the reference die in the machine coordinate system, the maximum number of die rows and columns that can be accommodated in the effective field of view of the camera, the initial die spacing and the initial placement angle; the next die is the effective die. The next die is positioned at the center of the camera's scanning field of view based on the desired coordinates. A matching die is searched for based on the die image captured when the next die is at the center of the camera's scanning field of view. The pixel coordinates of the matching die are obtained. The pixel deviation coordinates of the matching die relative to the image center point are determined based on the pixel coordinates of the matching die and the coordinates of the image center point of the die image. The pixel deviation coordinates are converted using pixel pulse coefficients to obtain the positional deviation between the reference die and the next die. The desired coordinates of the next die are calibrated based on the positional deviation between the reference die and the next die. The calibrated coordinates are determined as the true coordinates of the next die. The die spacing and placement angle of the wafer under test are updated based on the true coordinates. Based on the reference coordinates and the total moving distance of the machine, the expected coordinates of the next die are recalculated, and the process of updating the die spacing and placement angle of the wafer to be tested is repeated until the total moving distance of the machine meets the preset conditions. The die spacing and placement angle obtained from the last update are then determined as the actual die spacing and actual placement angle of the wafer to be tested.
2. The method of claim 1, wherein, The steps for obtaining the reference coordinates include: Control the camera to acquire a grain image of the current field of view, and determine the pixel coordinates of the reference grain in the grain image; Based on the transformation relationship between pixel coordinates and real coordinates, the pixel coordinates of the reference chip are transformed to obtain the reference coordinates of the reference chip in the machine coordinate system.
3. The method of claim 1, wherein, The steps for obtaining the maximum number of grain rows and columns that can be accommodated within the effective field of view of the camera, the initial grain spacing, and the initial placement angle include: Obtain the starting point grain from the wafer template image of the wafer to be inspected; the wafer template image is obtained by stitching together multiple grain images scanned according to a preset scanning trajectory; Using the upper right corner of the starting point grain as the starting point for grain search, slide along the horizontal axis by a distance equal to the width of a grain to search for horizontal axis matching grains that match the pre-selected grain features, until a preset horizontal axis search stop condition is met, thus obtaining the number of horizontal axis matching grains and the pixel coordinates of each horizontal axis matching grain; and using the lower left corner of the starting point grain as the starting point for grain search, slide along the vertical axis by a distance equal to the height of a grain to search for vertical axis matching grains that match the grain features, until a preset vertical axis search stop condition is met, thus obtaining the number of vertical axis matching grains and the pixel coordinates of each vertical axis matching grain; The maximum number of matching dies along the horizontal axis is determined, the maximum number of matching dies along the vertical axis is determined, and the initial die spacing and the initial placement angle are determined based on the pixel coordinates of each matching die along the horizontal axis and the pixel coordinates of each matching die along the vertical axis.
4. The method according to any one of claims 1 to 3, characterized in that, The next grain is an invalid grain; calculating the true coordinates of the next grain in the machine coordinate system includes: If there are valid grains in the grain map when the next grain is located at the center of the camera's scanning field of view, then the actual coordinates of the next grain are determined based on the grain map and the expected coordinates of the next grain. If no valid grain is found in the grain map, the machine is moved to reacquire the grain map, and the actual coordinates of the next grain are determined based on the reacquired grain map and the expected coordinates of the next grain.
5. The method of claim 4, wherein, The control of moving the machine to reacquire the grain map includes: Using the eight-connected domain direction centered on the current field of view, the machine is moved a distance equal to the size of the field of view and the number of grains, and then the camera is controlled to scan the image to obtain the reacquired grain image.
6. The method of claim 5, wherein, The step of determining the true coordinates of the next grain based on the re-acquired grain map and the expected coordinates of the next grain includes: Search for valid grains that match the pre-selected grain features in the re-acquired grain image, and obtain the pixel coordinates of the valid grains; The true coordinates of the effective grain in the machine coordinate system are determined based on the pixel coordinates of the effective grain, the image center coordinates of the grain image, the pixel pulse coefficient, and the expected coordinates of the next grain. The true coordinates of the next grain are determined based on the true coordinates of the effective grains, the initial grain spacing, the maximum number of grain rows and columns that can be accommodated within the effective field of view of the camera.
7. The method of claim 6, wherein, The step of determining the true coordinates of the next grain based on the true coordinates of the effective grain, the initial grain spacing, and the maximum grain row and maximum grain column that can be accommodated within the effective field of view of the camera includes: Based on the true coordinates of the effective grain, the number of grain intervals between the effective grain and the next grain, the initial grain interval, and the initial placement angle, the true coordinates of the mapped grain in the machine coordinate system are determined; the mapped grain is the grain in the re-acquired grain image that has the same pixel coordinates as the next grain in the original field of view. The moving distance of the machine is determined based on the initial grain spacing, the maximum grain row capacity, and the maximum grain column capacity. The true coordinates of the next grain are determined based on the difference between the true coordinates of the mapped grain and the moving distance.
8. The method of any one of claims 1-3, wherein, The step of updating the grain spacing and placement angle of the wafer to be inspected based on the actual coordinates includes: Obtain the actual coordinates of the next preceding grain in the machine coordinate system; the next preceding grain is the adjacent next grain before the next grain. The number of grain intervals between the next preceding grain and the next grain is determined based on the maximum number of grain rows and columns that can be accommodated within the effective field of view of the camera, as well as the number of field of view intervals between the next preceding grain and the next grain. Based on the true coordinates of the previous next grain and the true coordinates of the next grain, determine the true distance between the previous next grain and the next grain; Update the grain spacing and the placement angle based on the number of grain spacings and the actual distance.
9. The method of claim 8, wherein, The step of updating the grain spacing based on the number of grain spacings and the actual distance includes: The grain spacing in the horizontal axis direction is determined based on the ratio between the actual distance in the horizontal axis direction and the number of grain spacings in the horizontal axis direction; the grain spacing in the vertical axis direction is determined based on the ratio between the actual distance in the vertical axis direction and the number of grain spacings in the vertical axis direction. The grain spacing along the horizontal axis and the grain spacing along the vertical axis are determined as the updated grain spacing.
10. The method of claim 8, wherein, The method for updating the placement angle includes: The offset distance in the horizontal direction is determined based on the ratio between the actual distance in the horizontal direction and the number of grain spacings in the vertical direction; the offset distance in the vertical direction is determined based on the ratio between the actual distance in the vertical direction and the number of grain spacings in the horizontal direction. The offset distances in the horizontal and vertical directions are determined as the updated placement angles.