A strip parallel fill rate calculation method, system, medium, terminal and program product for photolithography layout graph rasterization

CN123010346APending Publication Date: 2026-10-30HUAXINCHENG (HANGZHOU) TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611513065.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-09-28
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

[0011]鉴于以上所述现有技术的缺点,本申请的目的在于提供面向光刻版图图形栅格化的分带并行填充率计算方法、系统、介质、终端及程序产品,用于解决现有技术在版图图形栅格化中效率低下、计算资源浪费等问题

Benefits of technology

[0023]本申请通过将待栅格化区域沿纵向划分为多个分带区域,并建立分带区域与图形处理器线程块之间的一一对应关系,使不同分带区域能够由不同线程块并行处理,提高了大规模光刻版图图形栅格化过程中的并行处理能力。此外,针对每个分带区域,利用对应线程块中的多个线程并行遍历边集合,并根据边的纵向范围与分带区域纵向范围之间的交叠关系筛选有效边,使后续填充计算仅基于影响当前分带区域的有效边执行,减少了无关边参与计算造成的判断开销。并通过对有效边按照预设高度位置对应的横向坐标进行排序,并基于排序后的有效边确定填充边界关系,使分带区域内的扫描线能够基于预先确定的边界信息进行填充计算,避免在每条扫描线处理过程中重新确定边界关系,提高了栅格覆盖区域计算效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123010346A_ABST
    Figure CN123010346A_ABST
Patent Text Reader

Abstract

The application provides a kind of to photolithography layout pattern rasterization's zonal parallel fill rate calculation method, system, medium, terminal and program product.The method comprises: obtaining the edge set corresponding to the polygon of the photolithography layout to be rasterized;The to-be-rasterized region is divided into multiple zonal regions, and a one-to-one correspondence between the zonal region and the thread block of graphic processor is established;Effective edge is screened in parallel using multiple threads in the thread block that exists overlap with the longitudinal range of zonal region;Effective edge is transversely sorted, and the fill boundary relationship is determined according to the sorting result;Based on the fill boundary relationship, scan line parallel fill calculation is carried out to obtain the grid coverage area;The fill rate is determined according to the overlapping area between the grid coverage area and the grid unit, and a two-dimensional mask matrix is generated.The application can reduce repeated edge judgment, improve the efficiency of photolithography layout pattern rasterization, and ensure the accuracy of fill rate calculation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of layout graphic rasterization technology, and in particular to a method, system, medium, terminal and program product for calculating the parallel fill rate of photolithographic layout graphic rasterization. Background Technology

[0002] In semiconductor photolithography, layout data typically describes the area to be exposed in the form of polygonal geometric shapes. For optical simulation, mask near-field calculations, photoresist imaging analysis, or subsequent computational lithography optimization, it is necessary to convert continuous geometric polygons into discrete two-dimensional mask matrices. This process is commonly referred to as polygon rasterization or polygon-to-mask conversion.

[0003] In computational lithography, each pixel or grid cell in the mask matrix typically represents the proportion of that cell covered by the layout pattern, i.e., the fill rate or coverage. The accuracy of the fill rate directly affects the results of subsequent light intensity calculations, imaging simulations, and process window evaluations. Therefore, how to efficiently calculate the coverage of each grid cell in a large-scale layout while ensuring geometric accuracy is one of the key issues in computational lithography systems.

[0004] Existing polygon rasterization methods typically employ scan-line algorithms. This method scans the layout area line by line along the vertical axis, finds polygon edges intersecting with the current scan line, sorts them according to the x-coordinates of the intersection points, and determines the filling interval according to an even / odd rule or a non-zero wrapping rule. For each filling interval, the range of the raster cells it covers is calculated and written into the mask matrix. However, in large-scale lithography layouts, scan-line algorithms suffer from the following problems:

[0005] (1) The overhead of repeated scanning of edge sets is large. If each scan line traverses the entire edge set, it will cause a large number of repeated judgments, especially when the number of edges in the layout is large and the grid resolution is high, the computational overhead will increase significantly.

[0006] (2) CPU serial scan line processing efficiency is low. Traditional scan line algorithms usually process in row order, making it difficult to fully utilize the computing power of parallel hardware such as GPU.

[0007] (3) Directly parallelizing by pixel can easily lead to redundant calculations. If a thread is allocated to each pixel or grid unit, it is necessary to repeatedly determine whether the pixel is inside the polygon, which may result in a large number of point inclusion tests or edge intersection calculations, resulting in low efficiency.

[0008] (4) Frequent global memory access: In GPU implementation, if each scan line or each pixel reads edge data from global memory, it will result in a large memory access pressure and affect the overall performance.

[0009] (5) The Manhattan pattern feature is not fully utilized. A large number of patterns in the lithographic pattern are Manhattan patterns, which are mainly composed of horizontal and vertical edges. The effective edge set of this type of pattern in the vertical interval has strong local stability, but traditional methods often do not perform zone-by-zone parallel optimization for this feature.

[0010] Therefore, it is necessary to provide a method, system, medium, terminal, and program product for calculating the parallel fill rate of a lithographic pattern in a gridded manner, in order to solve the above-mentioned problems existing in the prior art. Summary of the Invention

[0011] In view of the shortcomings of the prior art described above, the purpose of this application is to provide a method, system, medium, terminal and program product for calculating the parallel fill rate of lithographic pattern rasterization, so as to solve the problems of low efficiency and waste of computing resources in the prior art in pattern rasterization.

[0012] To achieve the above and other related objectives, a first aspect of this application provides a method for calculating the parallel fill rate of a lithographic pattern rasterization, comprising: obtaining the set of edges corresponding to the region to be rasterized and the polygons of the lithographic pattern; dividing the region to be rasterized into multiple zonal regions based on a preset vertical division step size, and establishing a one-to-one correspondence between each zonal region and a thread block in the graphics processor; for any zonal region, using multiple threads in the corresponding thread block to traverse the set of edges in parallel, and determining the fill rate of the zonal region based on whether there is an overlap between the vertical range corresponding to each edge and the vertical range of the zonal region. Effective edge set; sort each effective edge in the effective edge set according to its horizontal coordinate at its corresponding position in the segmented region to obtain a sorted effective edge set arranged by horizontal position; determine the filling boundary relationship in the segmented region based on the horizontal arrangement relationship of each effective edge in the sorted effective edge set, and perform parallel filling calculation on multiple scan lines in the segmented region based on the filling boundary relationship to obtain the grid coverage area corresponding to the segmented region; determine the filling rate corresponding to each grid unit based on the overlap area between the grid coverage area and the preset grid unit, and generate a two-dimensional mask matrix corresponding to the photolithography polygon.

[0013] In some embodiments of the first aspect of this application, determining the set of valid edges corresponding to the segmented region includes: obtaining the longitudinal range corresponding to each edge in the edge set; for any segmented region, determining whether the longitudinal range corresponding to each edge overlaps with the longitudinal range of the segmented region; and determining the edges whose longitudinal ranges overlap with the longitudinal range of the segmented region as valid edges corresponding to the segmented region.

[0014] In some embodiments of the first aspect of this application, sorting each valid edge in the set of valid edges according to its lateral coordinate at its corresponding position in the segmented area includes: determining the lateral coordinate of each valid edge at a preset height position in the segmented area; and sorting the valid edges in ascending order of the lateral coordinates to obtain the sorted set of valid edges arranged according to their lateral positions.

[0015] In some embodiments of the first aspect of this application, the preset height position is the center height position of the segmented area, and the center height position is determined according to the longitudinal start position and longitudinal end position of the segmented area.

[0016] In some embodiments of the first aspect of this application, determining the filling boundary relationship within the segmented area based on the lateral arrangement of each valid edge in the sorted valid edge set specifically includes: combining the valid edges in the sorted valid edge set in pairs according to the arrangement order of each valid edge in the sorted valid edge set to determine multiple filling boundary pairs; wherein each filling boundary pair includes two valid edges, and the two valid edges serve as the first boundary and the second boundary of the corresponding filling area, respectively.

[0017] In some embodiments of the first aspect of this application, determining the fill rate corresponding to each grid unit based on the overlap area between the grid coverage area and the preset grid unit includes: for the grid coverage area corresponding to the segmented area, determining the preset grid units that overlap with the grid coverage area; calculating the overlap area between the grid coverage area and each preset grid unit; and determining the fill rate corresponding to each preset grid unit based on the ratio of the overlap area to the area of ​​the corresponding preset grid unit.

[0018] To achieve the above and other related objectives, a second aspect of this application provides a zoned parallel fill rate calculation system for rasterization of photolithographic layout graphics, comprising: a layout acquisition module for acquiring the area to be rasterized and the edge set corresponding to the polygons of the photolithographic layout; a region division module for dividing the area to be rasterized into multiple zoned regions based on a preset vertical division step size, and establishing a one-to-one correspondence between each zoned region and a thread block in the graphics processor; and an effective edge filtering module for, for any zoned region, using multiple threads in the corresponding thread block to traverse the edge set in parallel, and determining the effective edge corresponding to the zoned region based on whether there is an overlap between the vertical range corresponding to each edge and the vertical range of the zoned region. The system comprises: a set of valid edges; a valid edge sorting module, used to sort each valid edge in the set of valid edges according to its lateral coordinates at its corresponding position within the segmented region, to obtain a sorted set of valid edges arranged by lateral position; a region calculation module, used to determine the filling boundary relationship within the segmented region based on the lateral arrangement relationship of each valid edge in the sorted set of valid edges, and to perform parallel filling calculations on multiple scan lines within the segmented region based on the filling boundary relationship, to obtain the grid coverage area corresponding to the segmented region; and a filling calculation module, used to determine the filling rate corresponding to each grid unit based on the overlap area between the grid coverage area and the preset grid unit, and to generate a two-dimensional mask matrix corresponding to the lithography polygon.

[0019] To achieve the above and other related objectives, a third aspect of this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method.

[0020] To achieve the above and other related objectives, a fourth aspect of this application provides a computer program product comprising computer program code that, when executed on a computer, causes the computer to implement the method.

[0021] To achieve the above and other related objectives, a fifth aspect of this application provides an electronic terminal, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the method.

[0022] As described above, this application has the following beneficial effects:

[0023] This application improves the parallel processing capability in the large-scale photolithography pattern rasterization process by dividing the area to be rasterized vertically into multiple strip regions and establishing a one-to-one correspondence between the strip regions and the graphics processor thread blocks. This allows different strip regions to be processed in parallel by different thread blocks. Furthermore, for each strip region, multiple threads in the corresponding thread block traverse the edge set in parallel and select valid edges based on the overlap between the vertical range of the edges and the vertical range of the strip region. This ensures that subsequent filling calculations are performed only on valid edges affecting the current strip region, reducing the judgment overhead caused by irrelevant edges participating in the calculation. Moreover, by sorting the valid edges according to the horizontal coordinates corresponding to a preset height position and determining the filling boundary relationship based on the sorted valid edges, the scan lines within the strip region can be filled based on pre-determined boundary information, avoiding the need to redetermine the boundary relationship during each scan line processing, thus improving the calculation efficiency of the raster coverage area. Attached Figure Description

[0024] Figure 1 The diagram shown is a flowchart illustrating a method for calculating the parallel fill rate of a lithographic pattern rasterization in one embodiment of this application.

[0025] Figure 2 The diagram shown is a schematic representation of the rasterized region division in one embodiment of this application.

[0026] Figure 3 The diagram shown is a schematic representation of a parallel fill rate calculation system for lithographic pattern rasterization in one embodiment of this application.

[0027] Figure 4 The diagram shown is a structural schematic of an electronic terminal according to an embodiment of this application. Detailed Implementation

[0028] The following specific examples illustrate the implementation of this application. Those skilled in the art can easily understand other advantages and effects of this application from the content disclosed in this specification. This application can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of this application. It should be noted that, unless otherwise specified, the following embodiments and features in the embodiments can be combined with each other.

[0029] In the embodiments of this application, the terms "first" and "second" are used to distinguish identical or similar items with essentially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that the terms "first" and "second" do not necessarily imply that they are different.

[0030] It should be noted that, in the embodiments of this application, the words "exemplary" or "for example" indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0031] In this application embodiment, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0032] To facilitate understanding of the embodiments of this application, firstly, in conjunction with Figure 1 Detailed explanation. Figure 1 This document illustrates a flowchart of a method for calculating the parallel fill rate of a photolithographic pattern based on rasterization, according to an embodiment of the present invention. The method for calculating the parallel fill rate of a photolithographic pattern based on rasterization mainly includes the following steps:

[0033] Step S11: Obtain the set of edges corresponding to the rasterized region and the polygon of the photolithography pattern.

[0034] When performing photolithography pattern rasterization processing, the photolithography pattern data to be processed is first acquired. This photolithography pattern data describes the area to be exposed in the form of polygonal geometric figures, and the area to be rasterized corresponds to the pattern area that needs to be converted into a two-dimensional mask matrix.

[0035] Specifically, the photolithographic polygon is formed by connecting multiple edges sequentially to create a closed geometric region, and each edge describes the boundary contour of the photolithographic polygon. This embodiment obtains the set of edges constituting the photolithographic polygon to determine the boundary information participating in the region filling calculation during subsequent rasterization calculations based on the set of edges.

[0036] Each edge can be represented using endpoint coordinates. For example, the spatial position of an edge in the layout coordinate system can be determined based on the coordinates of its two endpoints. Furthermore, the boundary information, such as the vertical range and horizontal position of the edge, can be further determined based on these endpoint coordinates.

[0037] In one embodiment, the edge set includes all edges that constitute the polygonal outline of the photolithographic layout. For a Manhattan layout graphic composed of horizontal and vertical edges, the edge set includes both horizontal and vertical edges. Since the grid coverage area corresponding to the layout region is subsequently determined using a scan-line-based filling method, it is necessary to filter effective edges that can affect the scan-line filling result based on the spatial positional relationship of each edge.

[0038] By acquiring the region to be rasterized and its corresponding edge set, subsequent processing can convert continuous polygonal regions into discrete raster representations based on the original map's geometric boundary information.

[0039] Step S12: Divide the area to be rasterized into multiple sub-regions based on a preset vertical division step size, and establish a one-to-one correspondence between each sub-region and a thread block in the graphics processor.

[0040] Specifically, such as Figure 2 As shown, according to a preset vertical division step size, the region to be rasterized is divided into multiple consecutively arranged strip regions according to the vertical coordinate. Each strip region corresponds to a vertical interval in the region to be rasterized and is used to independently perform rasterization calculations within the corresponding region.

[0041] For example, when the area to be rasterized has a certain height range along the longitudinal direction, it can be divided sequentially into a first sub-zone, a second sub-zone, and other sub-zones according to a preset longitudinal division step size. Each sub-zone has a corresponding longitudinal start position and a longitudinal end position, thereby defining the spatial range of the sub-zone in the entire map area.

[0042] Furthermore, to leverage the parallel computing capabilities of the graphics processing unit (GPU), this embodiment maps each segmented region to a thread block within the GPU, ensuring that each segmented region corresponds to a single thread block. That is, one thread block is used to process the rasterization computation task corresponding to one segmented region.

[0043] Specifically, during the execution of the graphics processor, the segmented region corresponding to the current thread block is determined according to the thread block number; for any thread block, it contains multiple threads, and the multiple threads jointly complete the data processing operation of the corresponding segmented region.

[0044] By establishing a one-to-one correspondence between the aforementioned zone regions and thread blocks, the rasterization calculation task originally targeting the complete photolithography pattern area is split into multiple zone-level parallel tasks, enabling multiple zone regions to be processed simultaneously by different thread blocks, thereby improving the parallel processing capability in the photolithography pattern rasterization process.

[0045] Step S13: For any of the segmented regions, use multiple threads in the corresponding thread block to traverse the edge set in parallel, and determine the effective edge set corresponding to the segmented region based on whether there is an overlap between the vertical range corresponding to each edge and the vertical range of the segmented region.

[0046] In one embodiment of this application, determining the set of valid edges corresponding to the segmented region includes: obtaining the longitudinal range corresponding to each edge in the edge set; for any segmented region, determining whether the longitudinal range corresponding to each edge overlaps with the longitudinal range of the segmented region; and determining the edges whose longitudinal ranges overlap with the longitudinal range of the segmented region as valid edges corresponding to the segmented region.

[0047] Specifically, since different zone regions correspond to different spatial ranges, not all edges in the edge set will participate in the filling calculation within the current zone region. Therefore, this embodiment first filters the edge set based on the spatial position relationship of each edge in the layout coordinate system, retaining only valid edges that may affect the filling result of the current zone region, thereby reducing the number of edges that need to be processed in the subsequent scan line filling process.

[0048] The effective edge is an edge that overlaps with the current zone region in the vertical direction. Specifically, for any edge in the set of edges, the corresponding vertical range is obtained, which is used to characterize the coverage area of ​​the edge in the vertical direction; at the same time, the corresponding vertical range of the current zone region is obtained, which is used to define the vertical position of the zone region in the map.

[0049] Furthermore, for the current band region, it is determined whether there is any overlap between the vertical range corresponding to each side and the vertical range of the band region. If the vertical range corresponding to a certain side overlaps with the vertical range of the current band region, it indicates that the side may participate in the scan line filling calculation within the current band region, and the side is identified as a valid side corresponding to the current band region; if the vertical range corresponding to a certain side does not overlap with the vertical range of the current band region, it indicates that the side will not affect the filling calculation within the current band region, and the side is excluded.

[0050] In this embodiment, to improve the efficiency of valid edge selection, multiple threads in the thread block execute the edge selection process in parallel. Specifically, the multiple threads in the thread block each perform a vertical range judgment on different edges in the edge set. After each thread completes the validity judgment of its corresponding edge, they jointly obtain the valid edge set corresponding to the current zone region.

[0051] By using the above method, before performing scan line filling calculations, effective edges are first filtered on a per-band region basis. This allows subsequent filling calculations for the current per-band region to be performed based on the filtered set of effective edges, reducing repeated judgments on irrelevant edges and improving processing efficiency during the rasterization of the lithography pattern.

[0052] Step S14: Sort each valid edge in the set of valid edges according to its horizontal coordinates at its corresponding position in the zone, to obtain a sorted set of valid edges arranged by horizontal position.

[0053] In one embodiment of this application, sorting each valid edge in the valid edge set according to its lateral coordinate at its corresponding position in the segmented area includes: determining the lateral coordinate of each valid edge at a preset height position in the segmented area; and sorting the valid edges in ascending order of the lateral coordinates to obtain the sorted valid edge set arranged according to its lateral position.

[0054] Specifically, after determining the set of valid edges corresponding to the current zone, in order to facilitate the subsequent determination of the filling area based on the valid edges, it is necessary to further determine the horizontal arrangement relationship of each valid edge within the current zone.

[0055] Specifically, since there may be multiple valid edges in the same zone area, and different valid edges have different lateral positions in the map coordinate system, it is necessary to sort the set of valid edges to determine the left-to-right arrangement order of each valid edge in the current zone area.

[0056] In this embodiment, for any valid edge in the set of valid edges, the horizontal coordinate corresponding to the valid edge at a preset height position in the segmented area is determined, and the horizontal coordinate is used as the basis for characterizing the horizontal position of the valid edge in the current segmented area.

[0057] In one embodiment of this application, the preset height position is the center height position of the segmented area, and the center height position is determined according to the longitudinal start position and longitudinal end position of the segmented area.

[0058] The preset height position is a preset longitudinal position within the segmented area. The preset height position is the center height position of the segmented area, and the center height position is determined based on the longitudinal start and end positions corresponding to the segmented area.

[0059] Specifically, if the longitudinal starting position of the segmented area is y0 and the longitudinal ending position is y1, then the center height position of the segmented area can be determined as (y0+y1) / 2 based on the longitudinal starting position and the longitudinal ending position, and the horizontal coordinates of each effective edge at the center height position can be further obtained.

[0060] For different types of valid edges, their x-coordinates can be determined based on the positional relationship between the valid edge and the center height position. For example, for a valid edge that intersects with the center height position, the x-coordinate corresponding to the intersection point can be obtained; for a valid edge extending in the longitudinal direction, the x-coordinate corresponding to the center height position remains the same as the lateral position corresponding to the valid edge.

[0061] After obtaining the x-coordinates of each valid edge, the set of valid edges is sorted in ascending order of the x-coordinates to obtain a sorted set of valid edges arranged by horizontal position.

[0062] By using the above method, the scattered valid edges are converted into an ordered set of edges arranged according to their spatial horizontal positions. This allows the filling boundary relationships between each valid edge to be determined based on the ordered set of valid edges, thus providing a boundary basis for the scan line filling calculation within the segmented area.

[0063] Step S15: Determine the filling boundary relationship within the segmented area based on the lateral arrangement relationship of each valid edge in the sorted valid edge set, and perform parallel filling calculation on multiple scan lines within the segmented area based on the filling boundary relationship to obtain the grid coverage area corresponding to the segmented area.

[0064] In one embodiment of this application, determining the filling boundary relationship within the segmented area based on the lateral arrangement of each valid edge in the sorted valid edge set specifically includes: combining the valid edges in the sorted valid edge set in pairs according to their arrangement order to determine multiple filling boundary pairs; wherein each filling boundary pair includes two valid edges, which respectively serve as the first boundary and the second boundary of the corresponding filling area.

[0065] Specifically, since the valid edges in the sorted valid edge set are arranged in ascending order of their corresponding horizontal coordinates, the sorted valid edge set can reflect the left-right positional relationship of each valid edge within the segmented area. Based on this left-right positional relationship, multiple filling regions jointly defined by multiple valid edges can be determined.

[0066] Specifically, according to the order of the sorted valid edge set, the valid edges in the sorted valid edge set are combined in pairs, and two valid edges with adjacent sorted positions are determined as a filling boundary pair.

[0067] For example, when the sorted set of valid edges includes valid edges E1, E2, E3, and E4 arranged in sequence, then E1 and E2 are defined as one filling boundary pair, and E3 and E4 are defined as another filling boundary pair. The two valid edges in each filling boundary pair serve as the two boundaries of the corresponding filling region, used to define the range of the filling region in the lateral direction.

[0068] After determining the filling boundary relationship, scan line filling calculations are further performed within the segmented region based on the filling boundary relationship.

[0069] Specifically, multiple virtual scan lines are set along a preset sampling direction within the segmented area, and multiple threads in the thread block process the virtual scan lines within the segmented area in parallel. For any virtual scan line, the intersection point position between the virtual scan line and each filling boundary pair is determined according to the filling boundary relationship, and the lateral filling interval corresponding to the scan line is determined according to the intersection point position.

[0070] The lateral fill interval refers to the continuous fill range corresponding to the scan line passing through the polygonal region of the layout. For multiple scan lines within the same band region, the two-dimensional grid coverage area corresponding to the band region can be obtained by determining the lateral fill interval corresponding to each scan line.

[0071] In this way, this embodiment does not need to re-traverse the entire edge set during the processing of each scan line. Instead, it uses the effective edge set obtained by filtering in S13 and the sorting relationship determined in S14 to establish the filling boundary relationship, so that multiple scan lines in the same segment area can reuse the already determined boundary information, thereby reducing the judgment of repeated edges and improving the efficiency of performing photolithography rasterization calculation based on the graphics processor.

[0072] Step S16: Determine the fill rate of each grid unit based on the overlap area between the grid coverage area and the preset grid unit, and generate a two-dimensional mask matrix corresponding to the photolithography polygon.

[0073] In one embodiment of this application, determining the fill rate corresponding to each grid unit based on the overlap area between the grid coverage area and the preset grid unit includes: determining preset grid units that overlap with the grid coverage area corresponding to the segmented area; calculating the overlap area between the grid coverage area and each preset grid unit; and determining the fill rate corresponding to each preset grid unit based on the ratio of the overlap area to the area of ​​the corresponding preset grid unit.

[0074] Specifically, the preset grid unit is a basic computing unit formed after the rasterized area is discretized. Each preset grid unit is arranged according to a preset grid size and is used to represent the coverage of the photolithographic pattern polygon at different positions.

[0075] In this embodiment, since the grid coverage area obtained in S15 corresponds to a continuous area formed by the coverage of the photolithographic pattern polygon within a segmented area, a preset grid unit that overlaps with the grid coverage area is first determined for any segmented area.

[0076] Specifically, the location range of the grid coverage area is compared with that of the preset grid unit. When a preset grid unit partially overlaps or completely overlaps with the grid coverage area, the preset grid unit is determined to be the target grid unit corresponding to the grid coverage area.

[0077] Furthermore, for each target grid cell, the overlap area between the grid coverage area and the corresponding preset grid cell is calculated.

[0078] The overlapping area represents the size of the area actually covered by the photolithographic polygon within the preset grid unit. When the photolithographic polygon completely covers a preset grid unit, the overlapping area is equal to the area corresponding to that preset grid unit; when the photolithographic polygon only covers a portion of the preset grid unit, the overlapping area is less than the area corresponding to that preset grid unit.

[0079] Further, the fill rate corresponding to each preset grid unit is determined based on the ratio between the overlapping area and the area of ​​the corresponding preset grid unit. Specifically, the fill rate is used to represent the coverage ratio of the photolithographic pattern polygon to the corresponding preset grid unit, and its calculation relationship can be expressed as follows:

[0080] Fill rate = ;(Formula 1)

[0081] The fill rate corresponding to each preset grid unit in each segmented region can be obtained through the above method. Furthermore, based on the positional relationship of each preset grid unit in the region to be rasterized, the fill rate results corresponding to different segmented regions are combined to form a two-dimensional mask matrix corresponding to the lithographic pattern polygon.

[0082] The method in this embodiment converts continuous polygonal geometric regions of photolithography patterns into two-dimensional mask data composed of multiple grid cell fill rates, providing a data foundation for subsequent optical simulation, mask near-field calculation, photoresist imaging analysis, and computational lithography optimization.

[0083] Figure 3This is a schematic block diagram of a zone-parallel fill rate calculation system 300 for photolithographic pattern rasterization, provided in an embodiment of this application. Figure 3 As shown, the system includes: a map acquisition module 301, a region division module 302, an effective edge filtering module 303, an effective edge sorting module 304, a region calculation module 305, and a fill rate calculation module 306.

[0084] The layout acquisition module 301 is used to acquire the set of edges corresponding to the region to be rasterized and the polygon of the lithography layout;

[0085] The region division module 302 is used to divide the region to be rasterized into multiple sub-regions based on a preset vertical division step size, and to establish a one-to-one correspondence between each sub-region and a thread block in the graphics processor.

[0086] The effective edge filtering module 303 is used to, for any of the sub-segment regions, use multiple threads in the corresponding thread block to traverse the edge set in parallel, and determine the effective edge set corresponding to the sub-segment region based on whether there is an overlap between the vertical range corresponding to each edge and the vertical range of the sub-segment region.

[0087] The effective edge sorting module 304 is used to sort each effective edge in the effective edge set according to its horizontal coordinate at the corresponding position in the segmented area, so as to obtain a sorted effective edge set arranged according to its horizontal position.

[0088] The region calculation module 305 is used to determine the filling boundary relationship within the segmented region based on the lateral arrangement relationship of each valid edge in the sorted valid edge set, and to perform parallel filling calculation on multiple scan lines within the segmented region based on the filling boundary relationship to obtain the grid coverage area corresponding to the segmented region.

[0089] The fill rate calculation module 306 is used to determine the fill rate corresponding to each grid unit based on the overlap area between the grid coverage area and the preset grid unit, and to generate a two-dimensional mask matrix corresponding to the photolithography polygon.

[0090] It should be understood that the specific process of each module performing the above-mentioned corresponding steps has been described in detail in the above method embodiments, and will not be repeated here for the sake of brevity.

[0091] It should also be understood that the module division in the embodiments of this application is illustrative and only represents a logical functional division; in actual implementation, there may be other division methods. Furthermore, the functional modules in the various embodiments of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules described above can be implemented in hardware or as software functional modules.

[0092] Figure 4 This is a schematic block diagram of the electronic terminal provided in an embodiment of this application. Figure 4 As shown, the electronic terminal 400 includes at least one processor 401, a memory 402, at least one network interface 403, and a user interface 405. The various components in the electronic terminal 400 are coupled together via a bus system 404. It is understood that the bus system 404 is used to implement communication between these components. In addition to a data bus, the bus system 404 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in… Figure 4 The general will label all buses as bus systems.

[0093] The user interface 405 may include a monitor, keyboard, mouse, trackball, clicker, button, touchpad, or touch screen.

[0094] It is understood that memory 402 can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM) or programmable read-only memory (PROM), used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM) and synchronous static random access memory (SSRAM). The memories described in the embodiments of this invention are intended to include, but are not limited to, these and any other suitable categories of memory.

[0095] In this embodiment of the invention, the memory 402 is used to store various types of data to support the operation of the electronic terminal 400. Examples of this data include: any executable program for operation on the electronic terminal 400, such as the operating system 4021 and application program 4022; the operating system 4021 contains various system programs, such as the framework layer, core library layer, driver layer, etc., for implementing various basic services and handling hardware-based tasks. The application program 4022 may contain various applications, such as a media player, browser, etc., for implementing various application services. The method for calculating the parallel fill rate of the lithographic pattern rasterization provided in this embodiment of the invention can be included in the application program 4022.

[0096] The methods disclosed in the above embodiments of the present invention can be applied to processor 401, or implemented by processor 401. Processor 401 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 401 or by instructions in the form of software. The processor 401 may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Processor 401 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present invention. General-purpose processor 401 may be a microprocessor or any conventional processor, etc. The steps of the accessory optimization method provided in the embodiments of the present invention can be directly reflected as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium, which is located in a memory. The processor reads the information in the memory and combines it with its hardware to complete the steps of the aforementioned method.

[0097] In an exemplary embodiment, the electronic terminal 400 may be used by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), or complex programmable logic devices (CPLDs) to execute the aforementioned method.

[0098] According to the method provided in the embodiments of this application, this application also provides a computer program product, which includes: computer program code, which, when run on a computer, causes the computer to perform the method of any of the embodiments described above.

[0099] According to the method provided in the embodiments of this application, this application also provides a computer-readable storage medium storing program code, which, when run on a computer, causes the computer to perform the method of any of the embodiments described above.

[0100] As used in this specification, the terms "component," "module," "system," etc., are used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. As illustrated, applications running on computing devices and computing devices can both be components. One or more components may reside in a process and / or an execution thread, and components may be located on a single computer and / or distributed among two or more computers. Furthermore, these components can be executed from various computer-readable media on which various data structures are stored. Components can communicate, for example, via local and / or remote processes based on signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system, and / or a network, such as the Internet interacting with other systems via signals).

[0101] Those skilled in the art will recognize that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.

[0102] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0103] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0104] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0105] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0106] In the above embodiments, the functions of each functional unit can be implemented entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. A computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. Computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. Available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., high-density digital video discs (DVDs)), or semiconductor media (e.g., solid-state disks (SSDs)).

[0107] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0108] In summary, this invention provides a method, system, medium, terminal, and program product for calculating the parallel fill rate of a photolithographic pattern in a segmented manner. The method includes: obtaining the set of edges corresponding to the polygons of the photolithographic pattern to be rasterized; dividing the area to be rasterized into multiple segmented regions and establishing a one-to-one correspondence between the segmented regions and graphics processor thread blocks; using multiple threads in the thread block to parallelly filter valid edges that overlap with the vertical range of the segmented regions; horizontally sorting the valid edges and determining the fill boundary relationship based on the sorting result; performing parallel fill calculation of scan lines based on the fill boundary relationship to obtain the raster coverage area; determining the fill rate based on the overlap area between the raster coverage area and the raster cells, and generating a two-dimensional mask matrix. This invention can reduce repeated edge judgments, improve the efficiency of photolithographic pattern rasterization, and ensure the accuracy of fill rate calculation. Therefore, this application effectively overcomes the various shortcomings of the prior art and has high industrial application value.

[0109] The above embodiments are merely illustrative of the principles and effects of this application and are not intended to limit this application. Any person skilled in the art can modify or alter the above embodiments without departing from the spirit and scope of this application. Therefore, all equivalent modifications or alterations made by those skilled in the art without departing from the spirit and technical concept disclosed in this application should still be covered by the claims of this application.

Claims

1. A method for calculating the parallel fill rate of a banded pattern in a rasterized photolithography layout, characterized in that, include: Obtain the set of edges corresponding to the polygons in the region to be rasterized and the photolithography pattern; The area to be rasterized is divided into multiple strip regions based on a preset vertical division step size, and a one-to-one correspondence is established between each strip region and a thread block in the graphics processor. For any of the aforementioned segmented regions, multiple threads in the corresponding thread block are used to traverse the edge set in parallel. The effective edge set corresponding to the segmented region is determined based on whether there is an overlap between the vertical range corresponding to each edge and the vertical range of the segmented region. The effective edges in the set of effective edges are sorted according to their horizontal coordinates at their corresponding positions within the zone, to obtain a sorted set of effective edges arranged by horizontal position. The filling boundary relationship within the segmented area is determined based on the lateral arrangement of each valid edge in the sorted valid edge set, and the multiple scan lines within the segmented area are filled in parallel based on the filling boundary relationship to obtain the grid coverage area corresponding to the segmented area. Based on the overlap area between the grid coverage area and the preset grid unit, the fill rate corresponding to each grid unit is determined, and a two-dimensional mask matrix corresponding to the photolithography polygon is generated.

2. The method for calculating the parallel fill rate of a lithographic pattern rasterization system according to claim 1, characterized in that, Determining the set of valid edges corresponding to the segmented region includes: Obtain the vertical range corresponding to each edge in the edge set; For any of the aforementioned segmented regions, determine whether the longitudinal range corresponding to each edge overlaps with the longitudinal range of the segmented region; The edges where the longitudinal range overlaps with the longitudinal range of the segmented region are determined as the valid edges corresponding to the segmented region.

3. The method for calculating the parallel fill rate of a lithographic pattern rasterization substrate according to claim 1, characterized in that, The step of sorting each valid edge in the set of valid edges according to its lateral coordinates at its corresponding position within the segmented region includes: Determine the x-coordinate of each effective edge at a preset height position in the segmented area; The valid edges are sorted in ascending order of their horizontal coordinates to obtain a set of sorted valid edges arranged by their horizontal position.

4. The method for calculating the parallel fill rate of a lithographic pattern rasterization substrate according to claim 3, characterized in that, The preset height position is the center height position of the segmented area, and the center height position is determined according to the longitudinal start position and longitudinal end position of the segmented area.

5. The method for calculating the parallel fill rate of a lithographic pattern rasterization substrate according to claim 1, characterized in that, The step of determining the filling boundary relationship within the segmented area based on the lateral arrangement of each valid edge in the sorted valid edge set specifically includes: Based on the order of the valid edges in the sorted valid edge set, the valid edges in the sorted valid edge set are combined in pairs to determine multiple filling boundary pairs; Each of the filling boundary pairs includes two valid edges, which serve as the first boundary and the second boundary of the corresponding filling region, respectively.

6. The method for calculating the parallel fill rate of a lithographic pattern rasterization substrate according to claim 1, characterized in that, The step of determining the fill rate of each grid unit based on the overlap area between the grid coverage area and the preset grid unit includes: For the grid coverage area corresponding to the segmented area, a preset grid unit that overlaps with the grid coverage area is determined; Calculate the overlap area between the grid coverage area and each of the preset grid units; The fill rate corresponding to each preset grid unit is determined based on the ratio of the overlapping area to the area of ​​the corresponding preset grid unit.

7. A strip-parallel fill rate calculation system for photolithographic pattern rasterization, characterized in that, include: The layout acquisition module is used to acquire the set of edges corresponding to the region to be rasterized and the polygon of the lithography layout; The region division module is used to divide the region to be rasterized into multiple sub-regions based on a preset vertical division step size, and to establish a one-to-one correspondence between each sub-region and a thread block in the graphics processor. The effective edge filtering module is used to, for any given zone region, use multiple threads in the corresponding thread block to traverse the edge set in parallel, and determine the effective edge set corresponding to the zone region based on whether there is an overlap between the vertical range corresponding to each edge and the vertical range of the zone region. The effective edge sorting module is used to sort each effective edge in the effective edge set according to its horizontal coordinates at its corresponding position in the segmented area, so as to obtain a sorted effective edge set arranged according to its horizontal position. The region calculation module is used to determine the filling boundary relationship within the segmented region based on the lateral arrangement relationship of each valid edge in the sorted valid edge set, and to perform parallel filling calculation on multiple scan lines within the segmented region based on the filling boundary relationship to obtain the grid coverage area corresponding to the segmented region. The fill rate calculation module is used to determine the fill rate of each grid unit based on the overlap area between the grid coverage area and the preset grid unit, and to generate a two-dimensional mask matrix corresponding to the photolithography polygon.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the method for calculating the parallel fill rate of a stencil pattern rasterization as described in any one of claims 1 to 6.

9. A computer program product, characterized in that, The computer program product includes computer program code, which, when run on a computer, enables the computer to implement the zonal parallel fill rate calculation method for photolithography pattern rasterization as described in any one of claims 1 to 6.

10. An electronic terminal, comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the band-parallel fill rate calculation method for photolithography pattern rasterization as described in any one of claims 1 to 6.