Mask typesetting method, device, equipment, medium and product
By introducing a target packing algorithm into the mask layout method, the layout layout is optimized based on the mask and mask pattern selected by the user, the problem of low mask utilization in the prior art is solved, and more efficient mask utilization is achieved.
Patent Information
- Application Number
- CN202411885210.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-19
- Publication Date
- 2025-04-15
AI Technical Summary
In the existing mask layout methods, the topological relationship is fixed, which limits the more compact mask layout scheme, resulting in low mask utilization.
By displaying the target interface, users can select candidate masks and mask graphics, and type and layout the mask graphics in order of size based on the target boxing algorithm, optimize the placement position of the mask graphics, and improve the utilization rate of the mask.
By optimizing the placement position of the mask pattern, fill the blank areas in the target mask as much as possible, significantly improving the utilization rate of the mask.
Smart Images

Figure CN119830843A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of semiconductor integrated circuit technology, and in particular, relates to a mask layout method, device, equipment, medium and product. Background Art
[0002] With the use of mask enhancement technology in the chip manufacturing process, the mask cost has increased significantly. In order to solve the cost problem, it is usually necessary to use a shared mask method, that is, to place different chips on the same mask. Therefore, it is necessary to reasonably layout the mask pattern on the mask.
[0003] In existing methods, a mirror structure is often used, that is, the mask patterns are symmetrically arranged in the mask according to an up-and-down structure or a left-and-right structure.
[0004] However, in the existing methods, the topological relationship between any pair of identical mask patterns is fixed, and the restriction on the topological relationship prohibits a more compact mask layout scheme, resulting in low mask utilization. Summary of the invention
[0005] The embodiments of the present application provide a mask layout method, device, equipment, medium and product, which can improve the utilization rate of the mask.
[0006] In one aspect of an embodiment of the present application, a mask layout method is provided, comprising:
[0007] Displaying a target interface, the target interface includes an element configuration area and a drawing area, and the element configuration area includes at least a candidate mask and a candidate mask graphic;
[0008] In response to a user selecting a candidate mask and a plurality of candidate mask patterns in an element configuration area, the candidate mask selected by the user is used as a target mask, and the plurality of candidate mask patterns selected by the user are used as first mask patterns; the first mask patterns are arranged in order of size in a target direction to obtain a mask pattern sequence;
[0009] Selecting a plurality of first mask patterns from the mask pattern sequence in sequence according to a preset order as a plurality of second mask patterns, and laying out the plurality of second mask patterns in the target mask based on a target box packing algorithm to obtain a mask layout;
[0010] Displays the mask layout in the drawing area.
[0011] In one aspect of an embodiment of the present application, a mask layout device is provided, comprising:
[0012] An interface display module, used for displaying a target interface, the target interface includes an element configuration area and a drawing area, the element configuration area includes at least candidate masks and candidate mask graphics;
[0013] A pattern selection module, for responding to an operation of a user selecting a candidate mask and a plurality of candidate mask patterns in an element configuration area, using the candidate mask selected by the user as a target mask, and using the plurality of candidate mask patterns selected by the user as a first mask pattern;
[0014] A pattern sorting module, used for arranging the first mask patterns in order of size in the target direction to obtain a mask pattern sequence;
[0015] A mask layout module, used to select a plurality of first mask patterns from a mask pattern sequence in a preset order as a plurality of second mask patterns, and layout the plurality of second mask patterns in a target mask based on a target binning algorithm to obtain a mask layout;
[0016] The layout display module is used to display the mask layout in the drawing area.
[0017] In one aspect of an embodiment of the present application, an electronic device is provided, which includes: a memory and a program or instruction stored in the memory and executable on a processor, wherein when the program or instruction is executed by the processor, a mask layout method as provided in any aspect of the above-mentioned embodiment of the present application is implemented.
[0018] In one aspect of an embodiment of the present application, a readable storage medium is provided, on which a program or instruction is stored. When the program or instruction is executed by a processor, a mask layout method provided in any aspect of the above-mentioned embodiment of the present application is implemented.
[0019] In one aspect of an embodiment of the present application, a computer program product is provided. When instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the mask layout method provided in any aspect of the above-mentioned embodiment of the present application.
[0020] In the mask layout method provided in the embodiment of the present application, each mask pattern is arranged in the order of corresponding size to obtain a mask pattern sequence. Then, multiple mask patterns are selected from the mask pattern sequence in sequence according to a preset order, and a target packing algorithm is used to perform layout on the target mask to obtain a mask layout. In this way, the embodiment of the present application adopts a packing algorithm to perform layout in the order of corresponding size of the mask pattern, which can optimize the placement of the mask pattern and fill the blank area in the target mask as much as possible, thereby improving the utilization rate of the mask. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0022] Figure 1 It is a flowchart of a mask layout method provided by an embodiment of the present application;
[0023] Figure 2 It is a mask layout diagram of a first adaptation algorithm provided by an embodiment of the present application;
[0024] Figure 3 It is a schematic diagram of mask layout of the best adaptation algorithm provided by an embodiment of the present application;
[0025] Figure 4 It is a mask layout diagram of a next adaptation algorithm provided by an embodiment of the present application;
[0026] Figure 5 It is a schematic diagram of a mask layout that does not meet the preset machine accuracy conditions provided by an embodiment of the present application;
[0027] Figure 6 is a schematic diagram of a target interface provided by an embodiment of the present application;
[0028] Figure 7 It is a structural schematic diagram of a mask typesetting device provided by an embodiment of the present application;
[0029] Figure 8 It is a structural schematic diagram of a mask typesetting device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0030] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.
[0031] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0032] It should be noted that the acquisition, storage, use, and processing of data in the technical solution of this application are in compliance with the relevant provisions of national laws and regulations.
[0033] It should be noted that in the embodiments of the present application, certain software, components, models and other existing solutions in the industry may be mentioned, and they should be regarded as exemplary. Their purpose is only to illustrate the feasibility of implementing the technical solution of the present application, but it does not mean that the applicant has or will necessarily use the solution.
[0034] In existing methods, a mirror structure is often used, that is, the mask patterns are arranged symmetrically in an up-and-down structure or a left-and-right structure in the mask. However, in existing methods, the topological relationship between any pair of identical mask patterns is fixed, and the restriction on the topological relationship prohibits a more compact mask layout scheme, resulting in low mask utilization.
[0035] The purpose of the present application is to provide a mask layout method, device, equipment, medium and product. In the mask layout method provided in the embodiment of the present application, each mask pattern is arranged in the order of corresponding size to obtain a mask pattern sequence. Then, multiple mask patterns are selected from the mask pattern sequence in sequence according to a preset order, and a target boxing algorithm is used to perform layout on the target mask to obtain a mask layout. In this way, the embodiment of the present application adopts a boxing algorithm to perform layout in sequence according to the size order corresponding to the mask pattern, which can optimize the placement of the mask pattern and fill the blank area in the target mask as much as possible, thereby improving the utilization rate of the mask.
[0036] The following describes specific embodiments of the mask layout method, device, equipment, medium and product provided by the embodiments of the present application. The following first describes the mask layout method.
[0037] Figure 1A flowchart of a mask layout method is provided. The mask layout method can be applied to a server. The mask layout method can include the following steps S101 to S105.
[0038] S101, displaying a target interface, the target interface including an element configuration area and a drawing area, the element configuration area including at least candidate masks and candidate mask graphics.
[0039] In this embodiment, the element configuration area is used to display and select candidate masks and candidate mask patterns. Users can browse and select the desired masks and mask patterns in the element configuration area. Among them, the candidate masks can include multiple masks of different sizes, and the candidate mask patterns can include multiple chip patterns of different types.
[0040] The drawing area is used to display the mask layout after typeset, and for the user to modify the mask layout after typeset.
[0041] As an example, the server uses a graphical user interface framework (such as Qt, WPF, Swing, etc.) to create a target interface, and the target interface includes two main areas: an element configuration area and a drawing area.
[0042] The element configuration area can be a list, grid or any other layout for displaying candidate masks and candidate mask graphics. These candidate masks and candidate mask graphics can be icons, thumbnails or items with descriptive text; the drawing area is initialized as a blank canvas for subsequent display of the mask layout.
[0043] S102, in response to a user selecting a candidate mask and a plurality of candidate mask patterns in an element configuration area, taking the candidate mask selected by the user as a target mask, and taking the plurality of candidate mask patterns selected by the user as a first mask pattern.
[0044] In this embodiment, the target mask is any one of the candidate masks selected by the user, and the first mask pattern is at least one of the candidate mask patterns selected by the user.
[0045] The mask pattern is used to represent the pattern of the chip laid out on the target mask, and the first mask pattern may include the type of mask pattern selected by the user and the corresponding number of mask patterns. For example, the first mask pattern may include two type A mask patterns, two type B mask patterns, and two type C mask patterns.
[0046] As an example, the server monitors user interaction events (such as clicks, drags, etc.) in the element configuration area. When the user selects any candidate mask as the target mask, the information of the target mask is stored in the memory; when the user selects any candidate mask pattern as the first mask pattern, the information of the first mask pattern is also stored in the memory. Specifically, a data structure (such as an array, a list, or a collection) can be used to store these selected target masks and first mask patterns.
[0047] S103, arranging the first mask patterns in order of size in the target direction to obtain a mask pattern sequence.
[0048] In this embodiment, the target direction is any direction. For example, the target direction may be horizontal or vertical.
[0049] The target direction provides a reference for subsequent mask sub-regions in the target mask. When the target direction is horizontal, the target mask is divided into multiple mask sub-regions along the horizontal direction; when the target direction is vertical, the target mask is divided into multiple mask sub-regions along the vertical direction.
[0050] The mask pattern sequence includes a plurality of first mask patterns, and the first mask patterns in the mask pattern sequence are arranged in order of size in the target direction. Specifically, the first mask patterns in the mask pattern sequence can be arranged in order from large to small in size in the target direction, and the first mask patterns in the mask pattern sequence can also be arranged in order from small to large in size in the target direction.
[0051] As an example, the server obtains information of multiple selected first mask patterns from the memory, and then sorts the first mask patterns according to the size of the first mask patterns along the target direction to obtain a mask pattern sequence. Specifically, a built-in sorting function or a custom sorting algorithm can be used.
[0052] S104, selecting a plurality of first mask patterns from the mask pattern sequence in sequence according to a preset order as a plurality of second mask patterns, and laying out the plurality of second mask patterns in the target mask based on a target box packing algorithm to obtain a mask layout.
[0053] In this embodiment, the packing algorithm is used to put a group of second mask patterns with different sizes into a limited number of target masks to maximize the utilization rate of the target masks. The packing algorithm may include a first fit algorithm (First Fit), a best fit algorithm (Best Fit) and a next fit algorithm (Next Fit).
[0054] The target packing algorithm is any one of various packing algorithms, wherein the target packing algorithm may be a default packing algorithm preset by the server, or may be a packing algorithm input by a user.
[0055] The preset order is the order in which the first mask patterns are arranged in the mask pattern sequence, and the second mask pattern is at least one first mask pattern in the mask pattern sequence after being arranged.
[0056] As an example, the server traverses the mask pattern sequence, and selects the first mask pattern from the mask pattern sequence in sequence according to a preset order as the second mask pattern.
[0057] Then, the target mask is divided into multiple mask sub-regions along the target direction using the target packing algorithm, and the selected second mask pattern is tried to be placed in the mask sub-region of the target mask. If the number of second mask patterns contained in the current target mask is less than the quantity threshold, further consider adjusting the layout of the existing target mask; repeat this process until the number of second mask patterns contained in the current target mask is greater than or equal to the quantity threshold, and the operation is terminated to obtain the CSV file corresponding to the mask layout.
[0058] S105, displaying the mask layout in the drawing area.
[0059] In this embodiment, the server draws the mask layout in the drawing area according to the layout result. Specifically, a graphics drawing library (such as GDI+, Canvas, OpenGL, etc.) can be used to draw the target mask and each second mask graphic laid out in the target mask.
[0060] In the mask layout method provided in this embodiment, each mask pattern is arranged in the order of corresponding size to obtain a mask pattern sequence. Then, multiple mask patterns are selected from the mask pattern sequence in sequence according to a preset order, and a target packing algorithm is used to perform layout on the target mask to obtain a mask layout. In this way, the embodiment of the present application adopts a packing algorithm to perform layout in sequence according to the size order corresponding to the mask pattern, which can optimize the placement of the mask pattern and fill the blank area in the target mask as much as possible, thereby improving the utilization rate of the mask.
[0061] As an optional embodiment, the element configuration area also includes a candidate packing algorithm control;
[0062] Before S104, the mask layout method may further include:
[0063] In response to the user selecting a candidate packing algorithm control in the element configuration area, the candidate packing algorithm corresponding to the candidate packing algorithm control selected by the user is used as the target packing algorithm.
[0064] In this embodiment, the element configuration area also includes a plurality of candidate binning algorithm controls, each of which corresponds to a candidate binning algorithm. The user can select the target binning algorithm used for mask typesetting according to each candidate binning algorithm control in the element configuration area.
[0065] As an example, the server provides a drop-down list, button group or other user interaction elements in the element configuration area to display the available candidate packing algorithms. The candidate packing algorithms include the first adaptation algorithm, the best adaptation algorithm and the next adaptation algorithm. The result of the best adaptation algorithm has the highest mask utilization rate, and the next adaptation algorithm has the best search efficiency. Users can select the corresponding candidate packing algorithm as the target packing algorithm according to their needs.
[0066] Then, the server continues to monitor the interaction events between the user and the element configuration area. When the user selects a candidate packing algorithm control in the element configuration area, the candidate packing algorithm corresponding to the candidate packing algorithm control is determined as the target packing algorithm.
[0067] According to this embodiment, the element configuration area also includes a candidate packing algorithm control, and the user can select the target packing algorithm in the element configuration area. In this way, this embodiment provides multiple candidate packing algorithms for users to reasonably choose according to their needs, thereby improving the user experience.
[0068] As an optional embodiment, S104 may specifically include:
[0069] Based on the target mask pattern size in the current mask pattern sequence, a current mask sub-region is divided from the target mask, the size of the current mask sub-region in the target direction matches the target mask pattern size, and the target mask pattern size is the size of the first mask pattern in the current mask pattern sequence in the target direction;
[0070] Iterate the following operations until the remaining size of the target mask in the target direction is less than or equal to the target threshold, and obtain the mask layout:
[0071] Selecting a second mask pattern from the current mask pattern sequence in sequence according to a preset order, and filling the second mask pattern into the current mask sub-region until the current mask sub-region can no longer be filled with the second mask pattern;
[0072] removing the second mask pattern that has been filled in the current mask sub-region from the current mask pattern sequence to obtain an updated current mask pattern sequence;
[0073] When the remaining size of the target mask in the target direction is greater than the target threshold, the next mask sub-region is divided from the remaining region of the target mask based on the target mask pattern size in the current mask pattern sequence, and the next mask sub-region is updated as the current mask sub-region.
[0074] In this embodiment, the target mask pattern size is used to characterize the size of the first mask pattern in the current mask pattern sequence in the target direction, that is, the horizontal width of the first mask pattern or the vertical height of the first mask pattern.
[0075] The preset order may be an order in which the sizes of the first mask patterns are from large to small, or may be an order in which the sizes of the first mask patterns are from small to large.
[0076] The target threshold may be a size length set by the user, or may be a length determined according to the size of each first mask pattern in the mask pattern sequence. For example, the target threshold may be the size corresponding to the smallest first mask pattern in the mask pattern sequence.
[0077] As an example, the server takes the first mask pattern at the first position from the current mask pattern sequence, and obtains the size of the first mask pattern in the target direction, which is recorded as the target mask pattern size. And on the target mask, starting from the starting position, a sub-area is divided in the target direction according to the target mask pattern size, which is recorded as the current mask sub-area.
[0078] Then, the second mask patterns are selected from the current mask pattern sequence in a preset order, and each second mask pattern is tried to be filled into the current mask sub-region. Specifically, it is necessary to determine whether the second mask pattern can be completely placed in the current mask sub-region, that is, whether the size of the second mask pattern is less than or equal to the remaining size of the current mask sub-region.
[0079] If it can be placed, the second mask pattern is fixed at the corresponding position in the sub-region. This process is repeated until the current mask sub-region can no longer be filled with the second mask pattern, that is, the current mask sub-region is filled or the remaining space is insufficient to place any remaining second mask patterns.
[0080] Then, all the second mask patterns that have been filled in the current mask sub-region are removed to obtain the updated current mask pattern sequence. And it is determined whether the remaining size of the target mask in the target direction is still greater than the target threshold. If the remaining size of the target mask in the target direction is greater than the target threshold, and the current mask sub-region is filled or cannot be filled with the second mask pattern, the next division is performed.
[0081] That is, based on the target mask pattern size in the updated current mask pattern sequence, the next mask sub-region is divided from the remaining area of the target mask, and the next mask sub-region is updated to the current mask sub-region, and the filling operation of the second mask pattern is re-executed until the remaining size of the target mask in the target direction is less than or equal to the target threshold, and the iteration is stopped.
[0082] For example, assuming that the target direction is vertical, the mask pattern sequence includes two type A mask patterns, two type B mask patterns, and two type C mask patterns, wherein the size of the type A mask pattern is larger than the size of the type B mask pattern, and the size of the type B mask pattern is larger than the size of the type C mask pattern.
[0083] When the preset order is the order of the size of the first mask pattern from large to small, the first adaptation algorithm can be used to layout the target mask. Figure 2 As shown, the server first divides a mask sub-region according to the vertical height of the class A mask pattern. Then, two class A mask patterns and one class B mask pattern are selected from the current mask pattern sequence and filled into the mask sub-region. At this time, the class B mask pattern cannot be filled into the mask sub-region, but the class C mask pattern can be filled into the mask sub-region, so the two class C mask patterns are continued to be filled into the mask sub-region.
[0084] Then, two class A mask patterns, one class B mask pattern, and two class C mask patterns are removed from the current mask pattern sequence, and the updated current mask pattern sequence only contains one class B mask pattern. Finally, based on the vertical height of the class B mask pattern in the updated current mask pattern sequence, another mask sub-region is divided from the remaining region of the target mask, and the class B mask pattern is filled into the mask sub-region, thereby obtaining a mask layout.
[0085] When the preset order is the order of the size of the first mask pattern from small to large, the best adaptation algorithm can be used to layout the target mask. Figure 3 As shown, the server first divides a mask sub-area according to the vertical height of the C-type mask pattern. Then, two C-type mask patterns are selected from the current mask pattern sequence to fill in the mask sub-area. At this time, neither the B-type mask pattern nor the A-type mask pattern can be filled in the mask sub-area. Therefore, the two C-type mask patterns are removed from the current mask pattern sequence, and the updated current mask pattern sequence includes two B-type mask patterns and two A-type mask patterns.
[0086] Then, based on the vertical height of the Class B mask pattern in the updated current mask pattern sequence, another mask sub-region is divided from the remaining region of the target mask, and two Class B mask patterns are filled into the mask sub-region, and the Class A mask pattern cannot be filled into the mask sub-region. Therefore, the two Class B mask patterns are removed from the current mask pattern sequence, and the updated current mask pattern sequence includes two Class A mask patterns.
[0087] Finally, based on the vertical height of the Class A mask pattern in the updated current mask pattern sequence, another mask sub-region is divided from the remaining region of the target mask, and two Class A mask patterns are filled into the mask sub-region, thereby obtaining a mask layout.
[0088] Through this embodiment, multiple second mask patterns are reasonably laid out in the target mask based on the target box packing algorithm, thereby obtaining a mask layout. In this way, through the target box packing algorithm, the placement of the mask patterns can be optimized, and the blank areas in the target mask can be filled as much as possible, thereby improving the utilization rate of the mask.
[0089] As an optional embodiment, selecting a second mask pattern from the current mask pattern sequence in a preset order, and filling the second mask pattern into the current mask sub-region until the current mask sub-region can no longer be filled with the second mask pattern, may specifically include:
[0090] Iterate the following operations until the current mask sub-region can no longer be filled with the second mask pattern:
[0091] Selecting the first mask pattern at the i-th position in the current mask pattern sequence according to a preset order, and filling the first mask pattern into the current mask sub-region, where the initial value of i is 1;
[0092] When it is determined that the current mask sub-region can continue to be filled with the second mask pattern, i is updated to i+1.
[0093] In this embodiment, the server first selects the first mask pattern at the ith position in the current mask pattern sequence according to a preset order, and fills the first mask pattern into the current mask sub-region.
[0094] Then, it is determined whether the size of the first mask pattern at the i+1th position is less than or equal to the remaining size of the current mask sub-region. If the size of the first mask pattern at the i+1th position is less than or equal to the remaining size of the current mask sub-region, it means that the current mask sub-region can continue to be filled with the second mask pattern. At this time, the server can continue to select the first mask pattern at the i+1th position from the current mask pattern sequence according to the preset order.
[0095] The above steps are iterated until the size of the first mask pattern at the i+1th position in the current mask pattern sequence is larger than the remaining size of the current mask sub-region, indicating that the current mask sub-region cannot continue to be filled with the second mask pattern. At this time, the iterative operation is terminated, and the current mask sub-region is filled with the first mask patterns of the first i positions in the current mask pattern sequence.
[0096] Through this embodiment, the current mask sub-region is effectively filled in accordance with the preset order, and according to the remaining space of the current mask sub-region and the size of the unfilled mask pattern in the current mask pattern sequence, it is determined whether the current mask sub-region can continue to be filled with the second mask pattern. In this way, the blank area in the current mask sub-region can be filled as much as possible, thereby improving the utilization rate of the mask.
[0097] As an optional embodiment, the first mask patterns in the mask pattern sequence are arranged in order of size from large to small;
[0098] S104 may specifically include:
[0099] Based on the size of the target mask in the target direction and the size of the first mask pattern in the target direction, the target mask is divided into N mask sub-regions, and the sizes of the N mask sub-regions in the target direction are matched one by one with the sizes of the first N first mask patterns in the mask pattern sequence in the target direction;
[0100] A plurality of second mask patterns are selected from the mask pattern sequence in sequence according to a preset order, and the plurality of second mask patterns are respectively filled into corresponding mask sub-regions based on a target binning algorithm to obtain a mask layout.
[0101] In this embodiment, the server obtains the first mask pattern from the mask pattern sequence in a preset order, and sets the size of the first mask pattern in the target direction to the size of the corresponding mask sub-region in the target direction. In this way, the target mask is divided into N mask sub-regions according to the size of the target mask in the target direction and the sizes of the first mask patterns in the target direction obtained in the preset order.
[0102] Then, according to the preset order, the second mask pattern is selected from the mask pattern sequence in turn. For each second mask pattern, try to fill it into the corresponding mask sub-region. Specifically, it is necessary to determine whether the second mask pattern can be completely placed in the mask sub-region, that is, whether the size of the second mask pattern is less than or equal to the remaining size of the mask sub-region. If it can be placed, the second mask pattern is fixed at the corresponding position in the mask sub-region. When no second mask pattern can be placed in each mask sub-region, the iterative operation is terminated to obtain the mask layout.
[0103] Through this embodiment, multiple second mask patterns are reasonably laid out in the target mask based on the target box packing algorithm, thereby obtaining a mask layout. In this way, through the target box packing algorithm, the placement of the mask patterns can be optimized, and the blank areas in the target mask can be filled as much as possible, thereby improving the utilization rate of the mask.
[0104] As an optional embodiment, based on the size of the target mask in the target direction and the size of the first mask pattern in the target direction, dividing the target mask into N mask sub-regions may specifically include:
[0105] Iterate the following operations until the remaining size of the target mask in the target direction is less than or equal to the target threshold, and obtain N mask sub-regions:
[0106] Select the first mask pattern with the order of z from the mask pattern sequence, and the initial value of z is 1;
[0107] Based on the size of the zth first mask pattern in the target direction, dividing a zth mask sub-region from the target mask, the size of the zth mask sub-region in the target direction matches the size of the zth first mask pattern in the target direction;
[0108] When it is determined that the remaining size of the target mask in the target direction is greater than or equal to the target threshold, z is updated to z+1.
[0109] In this embodiment, the server first selects the first mask pattern in the zth order from the mask pattern sequence, obtains the size of the first mask pattern in the target direction, and divides the zth mask sub-region from the target mask according to the size of the first mask pattern in the target direction.
[0110] Then, the remaining size of the target mask in the target direction is updated, and it is determined whether the remaining size of the target mask in the target direction is greater than or equal to the target threshold.
[0111] When the remaining size of the target mask in the target direction is greater than or equal to the target threshold, the first mask pattern ranked z+1th is selected from the mask pattern sequence, and according to the size of the first mask pattern in the target direction, the z+1th mask sub-area is divided from the target mask, and z is updated to z+1.
[0112] By iteratively executing the above steps, when the remaining size of the target mask in the target direction is smaller than the target threshold, the mask sub-region division operation is terminated to obtain N mask sub-regions.
[0113] For example, when the preset order is the order of the size of the first mask pattern from large to small, the next adaptation algorithm can also be used to layout the target mask. Figure 4 As shown, assuming that the target direction is vertical, the mask pattern sequence includes two type A mask patterns, two type B mask patterns, and two type C mask patterns. The size of the type A mask pattern is larger than that of the type B mask pattern, and the size of the type B mask pattern is larger than that of the type C mask pattern.
[0114] The server first divides a mask sub-region according to the vertical height of the first Class A mask pattern, and then determines whether the remaining vertical height of the target mask is greater than or equal to the target threshold. If the remaining vertical height of the target mask is greater than or equal to the target threshold, a mask sub-region is divided according to the vertical height of the second Class A mask pattern, and then it is determined whether the remaining vertical height of the target mask is greater than or equal to the target threshold. If the remaining vertical height of the target mask is still greater than or equal to the target threshold, a mask sub-region is divided according to the vertical height of the Class B mask pattern. At this time, if the remaining vertical height of the target mask is less than the target threshold, the mask sub-region division operation is terminated, thereby obtaining 3 mask sub-regions.
[0115] Through this embodiment, based on the size of the target mask in the target direction and the size of the first mask pattern in the target direction, the target mask is divided into N mask sub-regions. In this way, by dividing as many mask sub-regions as possible, the blank area in the target mask can be filled as much as possible, thereby improving the utilization rate of the mask.
[0116] As an optional embodiment, selecting a plurality of second mask patterns from the mask pattern sequence in a preset order, and filling the plurality of second mask patterns into corresponding mask sub-regions based on a target binning algorithm to obtain a mask layout may specifically include:
[0117] Iterate the following steps until each mask sub-region can no longer be filled with the second mask pattern:
[0118] Selecting a first mask pattern that is in the first N order from the mask pattern sequence according to a preset order;
[0119] Based on the size relationship between the first N first mask patterns, the first N first mask patterns are respectively filled into the corresponding mask sub-regions;
[0120] Each first mask pattern filled in the mask sub-region is removed from the mask pattern sequence to obtain an updated mask pattern sequence.
[0121] In this embodiment, the server selects the first N first mask patterns from the mask pattern sequence in a preset order. For the first N selected first mask patterns, the size relationship between them is evaluated. And according to the size relationship, these first mask patterns are respectively filled into the corresponding mask sub-areas. Specifically, the first mask pattern with the largest size is allocated to the mask sub-area with the largest size, and the first mask pattern with the smallest size is allocated to the mask sub-area with the smallest size.
[0122] Then, the first mask pattern that has been filled in the mask sub-region is removed from the mask pattern sequence to obtain an updated mask pattern sequence, wherein the updated mask pattern sequence will contain the remaining unfilled first mask pattern for use in the next iteration.
[0123] The above steps are iteratively performed until each mask sub-region can no longer be filled with the second mask pattern, and the filling operation of the mask pattern is terminated to obtain a mask layout.
[0124] For example, when the preset order is the order of the size of the first mask pattern from large to small, the next adaptation algorithm can also be used to layout the target mask. Figure 4 As shown, assuming that the target direction is vertical, the mask pattern sequence includes two type A mask patterns, two type B mask patterns, and two type C mask patterns. The size of the type A mask pattern is larger than that of the type B mask pattern, and the size of the type B mask pattern is larger than that of the type C mask pattern.
[0125] The server first selects the first three mask patterns in the mask pattern sequence, which are two A-type mask patterns and one B-type mask pattern. Then the two A-type mask patterns are assigned to the first and second largest mask sub-regions, and the one B-type mask pattern is assigned to the smallest mask sub-region. Then, the two A-type mask patterns and one B-type mask pattern are removed from the mask pattern sequence to obtain an updated mask pattern sequence.
[0126] Then, the first three mask patterns in the updated mask pattern sequence are selected, which are one mask pattern of type B and two mask patterns of type C. Then, one mask pattern of type B is allocated to the mask sub-region with the largest size, and the two mask patterns of type C are allocated to the mask sub-regions with the second largest size and the smallest size.
[0127] Through this embodiment, multiple second mask patterns are selected from the mask pattern sequence in a preset order, and the multiple second mask patterns are filled into corresponding mask sub-regions based on the target binning algorithm. In this way, the blank area in the target mask can be filled as much as possible, thereby improving the utilization rate of the mask.
[0128] As an optional embodiment, the element configuration area further includes candidate identification graphics;
[0129] After S104, the mask layout method may further include:
[0130] In response to the user dragging a candidate identification graphic from the element configuration area to the target pre-cutting area in the mask layout, the candidate identification graphic selected by the user is used as the target identification graphic, and the target identification graphic is filled into the target pre-cutting area to obtain a mask layout with a cutting mark.
[0131] In this embodiment, the candidate identification pattern is used to mark the pre-cut area in the mask layout. The candidate identification pattern may include basic graphic units and spliced graphic units obtained by combining the basic graphic units.
[0132] The pre-cut area is used to characterize the area that needs to be cut in the subsequent mask layout, that is, the cutting path between the mask patterns in the mask layout.
[0133] As an example, the element configuration area also includes candidate identification patterns. The user selects any one of the candidate identification patterns in the element configuration area through an input device such as a mouse or a touch screen, and drags it to the target pre-cutting area of the mask in the drawing area.
[0134] Once the user drags the selected candidate identification graphic to the target pre-cut area and releases it, the server automatically uses the selected candidate identification graphic as the target identification graphic to mark the pre-cut area in the target mask, and fills the target identification graphic into the target pre-cut area. The filling process may involve operations such as scaling, rotating, and aligning the graphic to ensure that the graphic fully matches the target pre-cut area. After the filling is completed, the server updates the mask layout in the drawing area to reflect the latest cutting mark. At the same time, the server generates a data file of the mask layout containing the cutting mark for use in subsequent processing.
[0135] Through this embodiment, in response to the user dragging the candidate identification pattern from the element configuration area to the target pre-cutting area in the mask layout, the candidate identification pattern selected by the user is used as the target identification pattern, and the target identification pattern is filled into the target pre-cutting area to obtain a mask layout with a cutting mark. In this way, by generating a cutting mark in the mask layout, it is helpful to accurately locate the cutting position in the mask layout later, thereby improving the cutting accuracy.
[0136] As an optional embodiment, after S104, the mask layout method may further include:
[0137] When the mask layout with the cutting mark does not meet the preset machine accuracy condition, the position of the target mark pattern and / or the second mask pattern is adjusted so that the adjusted mask layout with the cutting mark meets the preset machine accuracy condition.
[0138] In this embodiment, the cutting machine has certain preset machine accuracy conditions. If the preset machine accuracy conditions are not met, the cutting machine cannot accurately locate the position of the mask pattern, and the mask pattern cannot be accurately segmented.
[0139] As an example, Figure 5 As shown, a schematic diagram of a mask layout that does not meet the preset machine accuracy conditions is provided. Among them, the endpoints of the second mask pattern in the mask layout do not fall at the recognizable endpoint positions that meet the preset machine accuracy conditions. At this time, the second mask pattern in the mask layout needs to be moved and aligned so that the endpoints of the second mask pattern fall at the recognizable endpoint positions that meet the preset machine accuracy conditions.
[0140] Specifically, the server uses the precision detection tool to check whether the second mask pattern and the target identification pattern in the mask layout with the cutting mark meet the preset machine precision conditions. If it is found that the second mask pattern and / or the target identification pattern in the mask layout do not meet the preset machine precision conditions, the position of the second mask pattern and / or the target identification pattern in the mask layout is adjusted so that the adjusted mask layout with the cutting mark meets the preset machine precision conditions.
[0141] Through this embodiment, when the mask layout with cutting marks does not meet the preset machine accuracy conditions, the position of the target mark pattern and / or the second mask pattern is adjusted so that the adjusted mask layout with cutting marks meets the preset machine accuracy conditions. In this way, it can be ensured that the mask layout can be accurately identified by the cutting machine, thereby improving the cutting accuracy.
[0142] As an optional embodiment, after S104, the mask layout method may further include:
[0143] Associate events between the element configuration area and the drawing area;
[0144] In response to the user's operation of modifying the mask layout in the drawing area, layout parameter information of the modified area in the mask layout is displayed in the element configuration area.
[0145] In this embodiment, the modified area includes the modified second mask pattern in the mask layout and other second mask patterns within a preset distance from the modified second mask pattern.
[0146] The layout parameter information may include information of the second mask pattern in the mask layout and cutting mark information.
[0147] As an example, Figure 6 As shown, a schematic diagram of a target interface is provided. The left area in the target interface is the element configuration area, and the right area in the target interface is the drawing area. The upper half of the left area is used to display the cutting mark information in the mask layout, and the lower half of the left area is used to display the information of the second mask pattern in the mask layout.
[0148] First, the server associates the events in the drawing area with the event handlers in the element configuration area through the event binding mechanism of a programming language (such as JavaScript, Python, etc.).
[0149] Then, when the user modifies the mask layout in the drawing area, the server triggers the relevant event and calls the event handler for processing. Specifically, in the event handler, according to the specific location and content of the user's operation, the layout parameter information of the corresponding area in the mask layout is obtained, and the obtained layout parameter information is displayed in the element configuration area in an appropriate format (such as text, table, chart, etc.).
[0150] Through this embodiment, the element configuration area is associated with the drawing area by events, so that when the user modifies the mask layout in the drawing area, the mask layout parameter information modified by the user can be displayed in the element configuration area in real time, thereby improving the user experience.
[0151] Based on the mask layout method, accordingly, the present application also provides a specific embodiment of the mask layout device.
[0152] like Figure 7 As shown, the mask layout device 700 provided in the embodiment of the present application includes an interface display module 710 , a graphic selection module 720 , a graphic sorting module 730 , a mask layout module 740 and a layout display module 750 .
[0153] The interface display module 710 is used to display a target interface, the target interface includes an element configuration area and a drawing area, and the element configuration area includes at least candidate masks and candidate mask graphics;
[0154] A pattern selection module 720, for responding to an operation of a user selecting a candidate mask and a plurality of candidate mask patterns in an element configuration area, using the candidate mask selected by the user as a target mask, and using the plurality of candidate mask patterns selected by the user as a first mask pattern;
[0155] A pattern sorting module 730 is used to arrange the first mask patterns in order of size in the target direction to obtain a mask pattern sequence;
[0156] The mask layout module 740 is used to select a plurality of first mask patterns from the mask pattern sequence in a preset order as a plurality of second mask patterns, and layout the plurality of second mask patterns in the target mask based on a target binning algorithm to obtain a mask layout;
[0157] The layout display module 750 is used to display the mask layout in the drawing area.
[0158] As an optional embodiment, the element configuration area also includes a candidate packing algorithm control;
[0159] A plurality of first mask patterns are sequentially selected from the mask pattern sequence according to a preset order as a plurality of second mask patterns, and the plurality of second mask patterns are laid out in the target mask based on a target packing algorithm to obtain a mask layout. The mask layout device 700 further includes the following modules:
[0160] The algorithm selection module is used to respond to the user's operation of selecting a candidate packing algorithm control in the element configuration area, and use the candidate packing algorithm corresponding to the candidate packing algorithm control selected by the user as the target packing algorithm.
[0161] As an optional embodiment, the mask layout module 740 specifically includes the following units:
[0162] A sub-region division unit is used to divide the current mask sub-region from the target mask based on the target mask pattern size in the current mask pattern sequence, the size of the current mask sub-region in the target direction matches the target mask pattern size, and the target mask pattern size is the size of the first mask pattern in the current mask pattern sequence in the target direction;
[0163] The iterative execution unit is used to iteratively perform the following operations until the remaining size of the target mask in the target direction is less than or equal to the target threshold, thereby obtaining the mask layout:
[0164] Selecting a second mask pattern from the current mask pattern sequence in sequence according to a preset order, and filling the second mask pattern into the current mask sub-region until the current mask sub-region can no longer be filled with the second mask pattern;
[0165] removing the second mask pattern that has been filled in the current mask sub-region from the current mask pattern sequence to obtain an updated current mask pattern sequence;
[0166] When the remaining size of the target mask in the target direction is greater than the target threshold, the next mask sub-region is divided from the remaining region of the target mask based on the target mask pattern size in the current mask pattern sequence, and the next mask sub-region is updated as the current mask sub-region.
[0167] As an optional embodiment, the iterative execution unit is further configured to:
[0168] Iterate the following operations until the current mask sub-region can no longer be filled with the second mask pattern:
[0169] Selecting the first mask pattern at the i-th position in the current mask pattern sequence according to a preset order, and filling the first mask pattern into the current mask sub-region, where the initial value of i is 1;
[0170] When it is determined that the current mask sub-region can continue to be filled with the second mask pattern, i is updated to i+1.
[0171] As an optional embodiment, the first mask patterns in the mask pattern sequence are arranged in order of size from large to small;
[0172] The mask layout module 740 specifically includes the following units:
[0173] A sub-region division unit, for dividing the target mask into N mask sub-regions based on the size of the target mask in the target direction and the size of the first mask pattern in the target direction, wherein the sizes of the N mask sub-regions in the target direction are matched one by one with the sizes of the first N first mask patterns in the mask pattern sequence in the target direction;
[0174] The pattern filling unit is used to select multiple second mask patterns from the mask pattern sequence in sequence according to a preset order, and fill the multiple second mask patterns into corresponding mask sub-areas based on the target packing algorithm to obtain a mask layout.
[0175] As an optional embodiment, the sub-region division unit is specifically used to:
[0176] Iterate the following operations until the remaining size of the target mask in the target direction is less than or equal to the target threshold, and obtain N mask sub-regions:
[0177] Select the first mask pattern with the order of z from the mask pattern sequence, and the initial value of z is 1;
[0178] Based on the size of the zth first mask pattern in the target direction, dividing a zth mask sub-region from the target mask, the size of the zth mask sub-region in the target direction matches the size of the zth first mask pattern in the target direction;
[0179] When it is determined that the remaining size of the target mask in the target direction is greater than or equal to the target threshold, z is updated to z+1.
[0180] As an optional embodiment, the graphic filling unit is specifically used for:
[0181] Iterate the following steps until each mask sub-region can no longer be filled with the second mask pattern:
[0182] Selecting a first mask pattern that is in the first N order from the mask pattern sequence according to a preset order;
[0183] Based on the size relationship between the first N first mask patterns, the first N first mask patterns are respectively filled into the corresponding mask sub-regions;
[0184] Each first mask pattern filled in the mask sub-region is removed from the mask pattern sequence to obtain an updated mask pattern sequence.
[0185] As an optional embodiment, the element configuration area further includes candidate identification graphics;
[0186] After selecting a plurality of first mask patterns from the mask pattern sequence in a preset order as a plurality of second mask patterns and laying out the plurality of second mask patterns in the target mask based on a target box packing algorithm to obtain a mask layout, the mask layout device 700 further includes:
[0187] The mask identification module is used to respond to the user's operation of dragging a candidate identification pattern from the element configuration area to the target pre-cutting area in the mask layout, use the candidate identification pattern selected by the user as the target identification pattern, and fill the target identification pattern into the target pre-cutting area to obtain a mask layout with a cutting mark.
[0188] As an optional embodiment, after taking the candidate identification pattern selected by the user as the target identification pattern and filling the target identification pattern into the target spacing area to obtain the mask layout with the cutting mark, the mask layout device 700 further includes:
[0189] The position adjustment module is used to adjust the position of the target mark pattern and / or the second mask pattern when the mask pattern with the cutting mark does not meet the preset machine accuracy conditions, so that the adjusted mask pattern with the cutting mark meets the preset machine accuracy conditions.
[0190] As an optional embodiment, after displaying the mask layout in the drawing area, the mask layout device 700 further includes:
[0191] An event association module is used to associate events between the element configuration area and the drawing area;
[0192] The parameter display module is used to display layout parameter information of the modified area in the mask layout in the element configuration area in response to the user's operation of modifying the mask layout in the drawing area.
[0193] Based on the mask layout method, accordingly, the present application also provides a specific embodiment of the mask layout device.
[0194] Figure 8 A schematic diagram of the hardware structure of the mask layout device provided in an embodiment of the present application is shown.
[0195] The mask layout device may include a processor 801 and a memory 802 storing computer program instructions.
[0196] Specifically, the processor 801 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0197] The memory 802 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 802 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 802 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 802 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 802 is a non-volatile solid-state memory.
[0198] The processor 801 implements any one of the mask layout methods in the above embodiments by reading and executing the computer program instructions stored in the memory 802 .
[0199] In one example, the mask layout device may further include a communication interface 803 and a bus 810. Figure 8 As shown, the processor 801, the memory 802, and the communication interface 803 are connected via a bus 810 and communicate with each other.
[0200] The communication interface 803 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.
[0201] Bus 810 includes hardware, software or both, and couples the components of mask typesetting equipment to each other. For example, but not limitation, the bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front-side bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnect (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 810 may include one or more buses. Although the present application embodiment describes and shows a specific bus, the present application considers any suitable bus or interconnection.
[0202] In addition, in combination with the mask layout method in the above embodiment, the embodiment of the present application can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any mask layout method in the above embodiment is implemented.
[0203] In addition, in combination with the mask layout method in the above-mentioned embodiments, the embodiments of the present application may provide a computer program product for implementation. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the mask layout method provided in any aspect of the above-mentioned embodiments of the present application.
[0204] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.
[0205] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
[0206] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.
[0207] Aspects of the present disclosure are described above with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.
[0208] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.
Claims
1. A mask layout method, characterized in that: include: Displaying a target interface, wherein the target interface includes an element configuration area and a drawing area, wherein the element configuration area includes at least a candidate mask and a candidate mask graphic; In response to a user selecting the candidate mask and the plurality of candidate mask patterns in the element configuration area, taking the candidate mask selected by the user as a target mask, and taking the plurality of candidate mask patterns selected by the user as a first mask pattern; Arranging the first mask patterns in order of size in the target direction to obtain a mask pattern sequence; Selecting a plurality of the first mask patterns from the mask pattern sequence in sequence according to a preset order as a plurality of second mask patterns, and laying out the plurality of second mask patterns in the target mask based on a target binning algorithm to obtain a mask layout; The mask layout is displayed in the drawing area.
2. The method according to claim 1, characterized in that: The element configuration area also includes a candidate packing algorithm control; Before the method further comprises: selecting a plurality of the first mask patterns from the mask pattern sequence in a preset order as a plurality of second mask patterns, and laying out the plurality of second mask patterns in the target mask based on a target binning algorithm to obtain a mask layout, the method further comprises: In response to a user selecting the candidate packing algorithm control in the element configuration area, the candidate packing algorithm corresponding to the candidate packing algorithm control selected by the user is used as a target packing algorithm.
3. The method according to claim 1, characterized in that The method of selecting a plurality of the first mask patterns from the mask pattern sequence in a preset order as a plurality of second mask patterns, and arranging the plurality of second mask patterns in the target mask based on a target packing algorithm to obtain a mask layout includes: Based on the target mask pattern size in the current mask pattern sequence, a current mask sub-region is divided from the target mask, the size of the current mask sub-region in the target direction matches the target mask pattern size, and the target mask pattern size is the size of the first mask pattern in the current mask pattern sequence in the target direction; The following operations are iteratively performed until the remaining size of the target mask in the target direction is less than or equal to the target threshold, thereby obtaining the mask layout: Selecting a second mask pattern from the current mask pattern sequence in sequence according to a preset order, and filling the current mask sub-region with the second mask pattern until the current mask sub-region can no longer be filled with the second mask pattern; removing the second mask pattern that has been filled in the current mask sub-region from the current mask pattern sequence to obtain an updated current mask pattern sequence; When the remaining size of the target mask in the target direction is greater than the target threshold, based on the target mask pattern size in the current mask pattern sequence, a next mask sub-region is divided from the remaining area of the target mask, and the next mask sub-region is updated to the current mask sub-region.
4. The method according to claim 3, characterized in that The step of selecting a second mask pattern from the current mask pattern sequence in a preset order, and filling the current mask sub-region with the second mask pattern until the current mask sub-region can no longer be filled with the second mask pattern, comprises: Iteratively perform the following operations until the current mask sub-region can no longer be filled with the second mask pattern: Selecting the first mask pattern at the i-th position in the current mask pattern sequence according to a preset order, and filling the first mask pattern into the current mask sub-region, wherein the initial value of i is 1; When it is determined that the current mask sub-region can continue to be filled with the second mask pattern, i is updated to i+1.
5. The method according to claim 1, characterized in that The first mask patterns in the mask pattern sequence are arranged in order of size from large to small; The method of selecting a plurality of the first mask patterns from the mask pattern sequence in a preset order as a plurality of second mask patterns, and arranging the plurality of second mask patterns in the target mask based on a target packing algorithm to obtain a mask layout includes: Based on the size of the target mask in the target direction and the size of the first mask pattern in the target direction, the target mask is divided into N mask sub-regions, and the sizes of the N mask sub-regions in the target direction are matched one by one with the sizes of the first N first mask patterns in the mask pattern sequence in the target direction; The plurality of second mask patterns are selected from the mask pattern sequence in sequence according to a preset order, and the plurality of second mask patterns are respectively filled into the corresponding mask sub-regions based on a target binning algorithm to obtain the mask layout.
6. The method according to claim 5, characterized in that The step of dividing the target mask into N mask sub-areas based on the size of the target mask in the target direction and the size of the first mask pattern in the target direction includes: The following operations are iteratively performed until the remaining size of the target mask in the target direction is less than or equal to the target threshold, thereby obtaining the N mask sub-regions: Selecting the first mask pattern in the zth order from the mask pattern sequence, where the initial value of z is 1; Based on the size of the zth first mask pattern in the target direction, dividing the zth mask sub-region from the target mask, the size of the zth mask sub-region in the target direction matches the size of the zth first mask pattern in the target direction; When it is determined that the remaining size of the target mask in the target direction is greater than or equal to the target threshold, z is updated to z+1.
7. The method according to claim 5, characterized in that The method of selecting the plurality of second mask patterns from the mask pattern sequence in sequence according to a preset order, and filling the plurality of second mask patterns into the corresponding mask sub-regions based on a target binning algorithm to obtain the mask layout includes: Iteratively perform the following steps until each of the mask sub-regions can no longer be filled with the second mask pattern: Selecting the first mask patterns that are ranked first N in order from the mask pattern sequence according to a preset order; Based on the size relationship between the first N first mask patterns, the first N first mask patterns are respectively filled into the corresponding mask sub-regions; Each of the first mask patterns filled in the mask sub-region is removed from the mask pattern sequence to obtain the updated mask pattern sequence.
8. The method according to any one of claims 1 to 7, characterized in that: The element configuration area also includes candidate identification graphics; After selecting a plurality of the first mask patterns from the mask pattern sequence in a preset order as a plurality of second mask patterns, and laying out the plurality of second mask patterns in the target mask based on a target box packing algorithm to obtain a mask layout, the method further includes: In response to the user dragging the candidate identification pattern from the element configuration area to the target pre-cutting area in the mask layout, the candidate identification pattern selected by the user is used as the target identification pattern, and the target identification pattern is filled into the target pre-cutting area to obtain a mask layout with a cutting mark.
9. The method according to claim 8, characterized in that After taking the candidate identification pattern selected by the user as the target identification pattern and filling the target identification pattern into the target pre-cutting area to obtain a mask layout with a cutting mark, the method further includes: When the mask layout with cutting marks does not meet the preset machine accuracy conditions, the positions of the target identification pattern and / or the second mask pattern are adjusted so that the adjusted mask layout with cutting marks meets the preset machine accuracy conditions.
10. The method according to any one of claims 1 to 7, characterized in that: After displaying the mask layout in the drawing area, the method further includes: Associating events between the element configuration area and the drawing area; In response to a user modifying the mask layout in the drawing area, layout parameter information of the modified area in the mask layout is displayed in the element configuration area.
11. An electronic device, characterized in that: The device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the mask layout method according to any one of claims 1 to 10 is implemented.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the mask layout method according to any one of claims 1 to 10 is implemented.
13. A computer program product, characterized in that When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the mask layout method according to any one of claims 1 to 10.
Citation Information
Cited By
Method and device for chip typesetting and medium
CN120745543A
Methods, apparatus, and media for chip placement
CN120745543B