Layout segmentation method and related product
By stacking virtual meshes on the layout and setting up segmented polygons, the problem of inadequate cross-region graphics calculation in the distributed calculation is solved, ensuring the complete cross-region graphics information and improving the quality of layout design.
Patent Information
- Application Number
- CN202510330272.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-19
- Publication Date
- 2025-07-04
AI Technical Summary
In a distributed computing environment, the graphics segmentation of the layout leads to inadequate cross-region graphics calculations, resulting in the problem of graphics dislocation in the full chip design results.
Stack virtual meshes on the original layout, judge the span area shapes spanning multiple mesh areas, and set up the segmented polygons surrounding the span area shape, delete the boundary segments within the segmented polygons, and use the mesh area and the boundary line of the segmented polygons to divide to form a complete segmented area to prevent the span area shape from spanning multiple segmented areas.
By completely retaining the graphic information of cross-region graphics, the problem of inadequate calculation is avoided and the design quality of the layout is improved.
Smart Images

Figure CN120257928A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of semiconductor technology, and in particular, to a method for partitioning a layout, a computer-readable storage medium, a computer program product, and a computer device. Background Art
[0002] With the rapid development of large-scale integrated circuits, the feature size of the layout for designing large-scale integrated circuits has been continuously reduced. When the lithography process technology node is at 28 nm or below, the full-chip layout has trillions of graphic data. To process the massive graphic data, related technologies have proposed a distributed algorithm solution. Specifically, first, the full-chip layout is divided into many partition regions (patches) according to certain rules, and each partition region includes graphic data with a certain amount of data. Then, each partition region is used as a task unit to be processed, and these task units are assigned to the computing units of a distributed computer cluster for calculation. Finally, the calculation results of each computing unit are combined to obtain the final result, so as to obtain the design result of the full chip.
[0003] However, when the graphics of the full-chip layout are divided into multiple partition regions (for example, a long straight metal wire spans multiple partition regions), the computing units of the distributed computer cluster can only observe the patterns within one partition region, which makes it easy to have a phenomenon of incomplete calculation at the graphic division, and further causes graphic misalignment in the combined design result of the full chip. Summary of the Invention
[0004] In view of the above problems, the present invention is proposed to provide a method for partitioning a layout, a computer-readable storage medium, a computer program product, and a computer device that overcome the above problems or at least partially solve the above problems.
[0005] An object of the present invention is to provide a method for partitioning a layout, which is used to reduce or avoid the problem of incomplete calculation caused by the graphics in the layout being divided into multiple partition regions, and improve the design quality of the layout.
[0006] Specifically, according to one aspect of the present invention, the present invention provides a method for partitioning a layout, including:
[0007] Overlaying a virtual grid on the original layout to divide multiple grid regions on the original layout;
[0008] Determining whether there is a cross-region graphic in the original layout that spans at least two of the grid regions;
[0009] If so, setting a segmentation polygon surrounding the cross-region graphic and deleting the boundary line segments of all the grid regions within the segmentation polygon;
[0010] Using the boundary lines of all the grid regions and the dividing polygon as dividing lines, divide the original layout.
[0011] Optionally, after dividing the original layout using the boundary lines of all the grid regions and the dividing polygon as dividing lines, the dividing method further includes:
[0012] Expand the boundary lines of each divided region formed by dividing the original layout outward by a first preset distance to form expanded divided regions;
[0013] Assign each of the expanded divided regions to a distributed computing system for calculation.
[0014] Optionally, the dividing polygon is obtained by expanding the boundary line of the cross-region figure outward by a second preset distance;
[0015] The second preset distance is less than the first preset distance.
[0016] Optionally, in the case of determining that there is a cross-region figure in the original layout that spans at least two of the grid regions, the dividing method includes:
[0017] If so, expand the boundary lines of the grid regions where the cross-region figure is located outward by the first preset distance to form a plurality of expanded grid regions;
[0018] Determine whether the cross-region figure spans the boundary lines of all the expanded grid regions;
[0019] If so, perform the step of setting a dividing polygon that encloses the cross-region figure and deleting the boundary line segments of all the grid regions within the dividing polygon.
[0020] Optionally, in the case of determining that there is a cross-region figure in the original layout that spans at least two of the grid regions, the dividing method further includes:
[0021] Then expand the boundary lines of the grid regions where the cross-region figure is located outward by the first preset distance to form a plurality of expanded grid regions;
[0022] Determine whether the cross-region figure spans the boundary lines of all the expanded grid regions;
[0023] If not, divide the original layout using the boundary lines of the grid regions as dividing lines;
[0024] Expand the boundary lines of each divided region formed by dividing the original layout outward by the first preset distance to form expanded divided regions;
[0025] Assign each of the extended divided regions to a distributed computing system for parallel computing.
[0026] Optionally, the dividing polygon coincides with the boundary line of the cross-region figure.
[0027] Optionally, the dividing polygon is obtained by expanding outward from the boundary line of the cross-region figure.
[0028] Optionally, the dividing polygon is a Manhattan figure.
[0029] According to another aspect of the present invention, there is also provided a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the above-mentioned layout division method are implemented.
[0030] According to still another aspect of the present invention, there is also provided a computer program product, including a computer program, and when the computer program is executed by a processor, the steps of the above-mentioned layout division method are implemented.
[0031] According to yet another aspect of the present invention, there is also provided a computer device, including a memory, a processor, and a computer program stored on the memory, and the processor executes the computer program to implement the steps of the above-mentioned layout division method.
[0032] In the layout division method of the present invention, by wrapping the cross-region figure within the dividing polygon and using the dividing polygon as a dividing line to extract the figure within the dividing polygon from the grid region, the cross-region figure in the obtained divided region will no longer span at least two divided regions and will not be divided by the dividing line. In this way, the graphic information of the cross-region figure can be completely retained by the divided region, and the problem of incomplete calculation of the cross-region figure can be avoided during the subsequent calculation by the distributed computing unit, thereby improving the design quality of the entire layout.
[0033] Those skilled in the art will become more apparent about the above and other objects, advantages, and features of the present invention according to the following detailed description of the specific embodiments of the present invention in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Some specific embodiments of the present invention will be described in detail hereinafter with reference to the accompanying drawings in an exemplary but not restrictive manner. The same reference numerals in the drawings denote the same or similar components or parts. Those skilled in the art should understand that these drawings are not necessarily drawn to scale. In the drawings:
[0035] Figure 1 is a flowchart of a division method according to an embodiment of the present invention;
[0036] Figure 2It is a schematic flow chart of forming an extended segmentation region of a segmentation method according to an embodiment of the present invention;
[0037] Figure 3 It is a schematic flow chart of a segmentation method according to another embodiment of the present invention;
[0038] Figure 4 It is a partial schematic diagram before segmenting the original layout according to the prior art;
[0039] Figure 5 It is a partial exploded schematic diagram after segmenting the original layout according to the prior art;
[0040] Figure 6 It is a partial schematic diagram of the final processing result of the original layout according to the prior art;
[0041] Figure 7 It is a partial exploded schematic diagram after segmenting the original layout by a segmentation method according to an embodiment of the present invention;
[0042] Figure 8 It is a partial schematic diagram of forming an extended segmentation region of a segmentation method according to an embodiment of the present invention;
[0043] Figure 9 It is a partial schematic diagram of forming a segmentation polygon of a segmentation method according to an embodiment of the present invention;
[0044] Figure 10 It is a schematic diagram of a computer program product according to an embodiment of the present invention;
[0045] Figure 11 It is a schematic diagram of a computer-readable storage medium according to an embodiment of the present invention; and
[0046] Figure 12 It is a schematic diagram of a computer device according to an embodiment of the present invention. Detailed implementation manners
[0047] In the field of semiconductor technology, lithography is a process of transferring the structural pattern of an integrated circuit device from a mask to the surface of a silicon wafer or other semiconductor substrate, and it is a key technology for realizing mass production of high-end chips.
[0048] Computational lithography is an interdisciplinary research field involving multiple disciplines such as optics, semiconductor technology, computational science, image and signal processing, materials science, and informatics. Based on optical imaging and process modeling, it uses mathematical methods to simulate and optimize the entire lithography imaging process, achieve high-precision compensation of imaging errors, effectively improve the process window and chip manufacturing yield, reduce the R & D cycle and cost of the lithography process, and has now become one of the core links in high-end chip manufacturing processes.
[0049] With the rapid development of large-scale integrated circuits, the feature size of the layout used to design large-scale integrated circuits is continuously shrinking. When the lithography process technology node is at 28 nm and below, the full-chip layout has trillions of graphic data, and the computing power of a single computing node is limited and cannot meet the actual production requirements.
[0050] Introducing distributed computing technology in the field of layout processing can effectively solve the processing requirements of massive data. For distributed computing, first, the original layout needs to be divided into multiple divided regions according to certain rules (for example, dividing the entire original layout into divided regions of 20 μm × 20 μm in size), and each divided region can be used as a sub-task to be processed. Then, through network communication, each sub-task is distributed to distributed computing units, such as being sent to different CPU cores of different servers for simultaneous processing. Finally, the calculation results of all computing units are integrated to obtain the final processing result of the entire original layout. The distributed computing technology improves the concurrency of the chip layout processing task, thereby improving the computing efficiency.
[0051] However, when each computing unit processes the assigned divided region, it usually only focuses on the graphics within the divided region. When some graphics of the full-chip layout are divided into multiple divided regions (for example, a long straight metal wire spans multiple divided regions), the computing unit can only consider a limited range and length during the calculation, resulting in the situation that the cross-region graphics may not be calculated thoroughly at the division.
[0052] Please refer to Figures 4 to 6 , Figure 4 shows a partial schematic diagram of the original layout before division in the prior art. The virtual grid line 51 divides the original layout into multiple grid regions 52. There are cross-region graphics (long straight metal wire graphics) 62 and non-cross-region graphics 61 within the grid region 52, and the cross-region graphics 62 are divided into two grid regions 52 by the virtual grid line 51. Figure 5 shows a partial exploded schematic diagram of the original layout after division in the prior art. The division line divides the original layout into multiple divided regions 53, and the cross-region graphics 62 are divided into partial cross-region graphics 62.1 and partial cross-region graphics 62.2. Figure 6 shows a partial schematic diagram of the final processing result of the original layout in the prior art. After the processing results corresponding to the two parts of the cross-region graphics 62 spanning two grid regions 52 are summarized and spliced, a jog occurs at the division.
[0053] The purpose of the layout division method in this embodiment is to reduce or avoid the problem of incomplete calculation caused by the division of graphics in the layout into multiple divided regions, and improve the design quality of the layout.
[0054] Figure 1FIG. 0 is a schematic flowchart of a segmentation method according to an embodiment of the present invention. Generally, the method may include:
[0055] S100, overlay a virtual grid on the original layout to divide the original layout into multiple grid regions;
[0056] S200, determine whether there is a cross-region figure in the original layout that spans at least two grid regions;
[0057] S300, if there is, set a segmentation polygon surrounding the cross-region figure, and delete the boundary line segments of all grid regions within the segmentation polygon;
[0058] S400, use the boundary lines of all grid regions and the segmentation polygon as segmentation lines to segment the original layout.
[0059] The original layout may be a design drawing of an integrated circuit. Exemplarily, the original layout may be a pattern drawn by a technician using an electronic design automation tool according to functional requirements. And, the shape, position, size, connection relationship, etc. of each component in the circuit are detailedly depicted in the original layout. Exemplarily, the components in the circuit may include: transistors, resistors, capacitors, etc. The components, wires, etc. in the circuit may be presented as polygon figures in the original layout.
[0060] The virtual grid may be composed of virtual network lines (such as horizontal lines, vertical lines, etc.) arranged in an array, and form a plurality of grid units arranged in an array. The virtual network lines may be straight lines, broken lines, curves, etc. The spacing between two adjacent virtual network lines in the virtual grid may be equal or unequal. Exemplarily, the shapes and sizes of all grid units in the virtual grid are the same.
[0061] The virtual grid may completely cover the original layout, or may cover a specific target area in the original layout. When the virtual grid is overlaid on the original layout, each grid unit may correspond to a grid region. There may be one or more figures within the grid region.
[0062] The cross-region figure is a figure that spans at least two grid regions. Exemplarily, the cross-region figure may be a long straight metal wire, a long broken-line metal wire, etc.
[0063] In this embodiment, there are multiple methods to determine whether there is a cross-region figure in the original layout. Exemplarily, it may be determined whether the figure intersects any virtual network line. If it intersects, it is determined that the figure is a cross-region figure. Exemplarily, it may be determined whether the coordinates of each pixel point of the figure are within the coordinate regions of at least two grid regions. If so, it is determined that the figure is a cross-region figure.
[0064] In this embodiment, for the grid regions that do not involve cross-region graphics, the segmentation regions can be directly obtained by segmenting along the boundary lines of the grid regions (i.e., virtual grid lines). For the grid regions that involve cross-region graphics, a segmentation polygon surrounding the cross-region graphics can be set, and the region within the segmentation polygon is used as the segmentation region with the segmentation polygon as the segmentation line. That is to say, the segmentation polygon is cut out from the multiple grid regions involved. For the grid regions that involve cross-region graphics, the virtual grid lines within the segmentation polygon are deleted, and then the remaining virtual grid lines and the side lines of the segmentation polygon in this grid region are used as the segmentation lines to divide into segmentation regions.
[0065] Please refer to Figure 7 , Figure 7 which shows a partial explosion schematic diagram of the original layout in Figure 4 after being segmented by this segmentation method. The segmentation polygon 71 wraps the cross-region graphic 62, and a segmentation region 53 is formed after segmentation. For the two grid regions involving the cross-region graphic 62, the corresponding parts of the segmentation polygon 71 are removed during segmentation, forming two segmentation regions 53.
[0066] It can be understood that the number of segmentation regions obtained by the segmentation method of this embodiment is more than that obtained by the segmentation method of the prior art.
[0067] After segmentation, the cross-region graphics within the segmentation polygon will no longer span at least two segmentation regions, and the graphic information of the cross-region graphics can be completely retained by the segmentation regions, avoiding the problem of incomplete calculation of the cross-region graphics during the subsequent calculation by the distributed computing unit, thereby improving the design quality of the entire layout.
[0068] In some embodiments of the segmentation method of the present invention, the segmentation polygon coincides with the boundary line of the cross-region graphic.
[0069] Making the segmentation polygon coincide with the boundary line of the cross-region graphic, on the one hand, while completely retaining the graphic information of the cross-region graphic, the area of the segmentation graphic obtained from the cross-region graphic can be minimized as much as possible, preventing the segmentation polygon from wrapping the graphics other than the cross-region graphic into the interior of the segmentation polygon, thus causing new segmentation problems. On the other hand, there is no need for additional programs or scripts to redesign the positions, trends, lengths, etc. of the sides of the segmentation polygon, which can simplify the programs or scripts and improve the segmentation efficiency.
[0070] In some embodiments of the segmentation method of the present invention, as Figure 9 shown, the segmentation polygon 71 is obtained by expanding outward from the boundary line of the cross-region graphic 62.
[0071] In this embodiment, the boundary line of the cross-region figure can be extended outward by a fixed extension distance or by a preset proportional length (for example, taking 5% of the width of the cross-region figure corresponding to the boundary line as the extension distance), and it can be selected and set according to needs. Extending the boundary line of the cross-region figure outward to obtain a segmentation polygon can, on the one hand, ensure that the graphic information of the cross-region figure is completely retained in the segmentation area. On the other hand, it can also retain the information near the periphery of the cross-region figure, facilitating the subsequent calculation of the distributed computing unit to consider the peripheral information.
[0072] In some embodiments of the segmentation method of the present invention, as Figure 7 shown, the segmentation polygon is obtained by extending the boundary line of the cross-region figure outward, and there is no figure other than the cross-region figure in the segmentation polygon.
[0073] When the boundary line of the cross-region figure is extended outward, it may encounter other figures. If no treatment is done, the segmentation line will segment the figure, which may form a new situation where the calculation is not in place.
[0074] In this embodiment, the segmentation polygon can be made to have no figure other than the cross-region figure in multiple ways. Exemplarily, the extension distance of the boundary line of the cross-region figure extending outward can be correspondingly reduced. Exemplarily, the segmentation polygon can form an avoidance groove at the figure other than the cross-region figure, etc.
[0075] In some embodiments of the segmentation method of the present invention, the segmentation polygon is a Manhattan figure. The Manhattan figure is also called the Manhattan geometric shape, which is a polygon mainly composed of horizontal or vertical line segments. The Manhattan figure can reduce the calculation amount and improve the processing efficiency.
[0076] In some embodiments of the segmentation method of the present invention, the grid area is rectangular. In this embodiment, all virtual network lines forming the virtual grid can be straight lines, and the included angle between any two intersecting virtual network lines is a right angle. Exemplarily, the distance between any two parallel and adjacent virtual network lines is 20 μm, thereby forming a plurality of grid areas of 20 μm × 20 μm.
[0077] In some embodiments of the segmentation method of the present invention, as Figure 2 shown, after the original layout is segmented with the boundary lines of all grid areas and the segmentation polygon as the segmentation lines, the segmentation method further includes:
[0078] S511, extend the boundary line of each segmentation area formed by segmenting the original layout outward by a first preset distance to form an extended segmentation area;
[0079] S513, allocate each extended segmentation area to a distributed computing system for calculation.
[0080] Please refer to Figure 9 , Figure 9 which shows a schematic diagram of an extended segmentation region 54 obtained by expanding a first preset distance L1 outward from the boundary line of the segmentation region 53. The dashed line in the figure is the boundary line of the extended segmentation region 54.
[0081] During the process of the distributed computing unit performing calculation processing on the graphics in each segmentation region, its calculation processing result depends on the surrounding environment of the segmentation region. Therefore, an extension can be set for each divided segmentation region, thereby forming an extended segmentation region. Specifically, an extended distance (band) of a first preset distance can be added to the periphery of the segmentation region.
[0082] It should be understood that for the original layout, there is an overlapping part in the region outside the segmentation region in the extended segmentation region formed by two adjacent segmentation regions. When splicing the results obtained by each calculation processing into the entire layout, only the data within the segmentation region will be retained, and the data of this overlapping part will not be retained.
[0083] It can be understood that the larger the first preset distance of each extended segmentation region is set, the closer its calculation processing environment is to the environment of the entire layout, and the higher the boundary consistency will be. However, more computing resources will be consumed for calculating and processing each extended segmentation region. Therefore, it is necessary to reasonably set the range of the first preset distance.
[0084] In this embodiment, the distributed computing system may include one or more servers. Each server may include one or more CPUs. Each CPU may include one or more cores, and each core may serve as a computing unit. Each computing unit may be assigned the computing tasks of one or more extended segmentation regions.
[0085] In some embodiments of the segmentation method of the present invention, as Figure 9 shown, the segmentation polygon 71 is obtained by expanding the boundary line of the cross-region graphic 62 outward by a second preset distance L2. As Figure 8 shown, the boundary line of each segmentation region 53 expands outward by a first preset distance L1 to form an extended segmentation region 54. The second preset distance L2 is less than the first preset distance L1.
[0086] Specifically, for a cross-region graphic, first, the boundary line of the cross-region graphic expands outward by a second preset distance to obtain a segmentation region that encloses the cross-region graphic, and then the segmentation region expands outward by a first preset distance to form an extended segmentation region. For a grid region that intersects with the segmentation polygon, first, the segmentation polygon is removed by cropping, and the segmentation region is divided by the virtual grid line and the segmentation polygon as the segmentation line, and then the segmentation region expands outward by a first preset distance to form an extended segmentation region.
[0087] In this embodiment, the boundary line of the cross-region graphic is extended outward by a second preset distance to obtain a segmentation polygon. On the one hand, it can ensure that the graphic information of the cross-region graphic is completely retained in the segmentation region. On the other hand, it can also retain the information near the periphery of the cross-region graphic, which is convenient for the subsequent distributed computing unit to consider the peripheral information during calculation. The segmentation region is extended outward by a second preset distance to form an extended segmentation region. On the one hand, it is used to satisfy the distributed computing unit to obtain the surrounding environment of the segmentation region to calculate and process the graphics in the segmentation region. On the other hand, when the results obtained by each calculation and processing are summarized and spliced into the entire layout, decoupling is performed at the segmentation point.
[0088] In this embodiment, by setting the second preset distance to be less than the first preset distance, for the segmentation region formed by the grid regions intersecting with the segmentation polygon, when the extended segmentation region is formed by extension, the boundary line of the extended segmentation region will cross the cross-region graphic, that is, the extended segmentation region retains at least part of the cross-region graphic. That is to say, when the distributed computing unit obtains the extended segmentation region for calculation and processing, it can see at least one side line of the cross-region graphic, and can at least determine the spacing feature (space) between the corresponding graphic in the extended segmentation region and the cross-region graphic, so as to accurately and comprehensively calculate and process the graphic.
[0089] In some embodiments of the segmentation method of the present invention, as Figure 3 shown, in the case where it is determined that there is a cross-region graphic spanning at least two grid regions in the original layout, the segmentation method includes:
[0090] S611, then extend the boundary lines of the grid regions where the cross-region graphic is located outward by a first preset distance to form a plurality of extended grid regions;
[0091] S613, determine whether the cross-region graphic crosses the boundary lines of all the extended grid regions;
[0092] S711, if so, perform the step of setting a segmentation polygon surrounding the cross-region graphic and deleting the boundary line segments of all the grid regions within the segmentation polygon.
[0093] In this embodiment, after the cross-region graphic is determined, the segmentation polygon surrounding the cross-region graphic is not immediately set, but a virtual extended grid region is tried to be set. The extended grid region is obtained by extending the boundary lines of the grid regions where the cross-region graphic is located outward by a first preset distance, and the first preset distance is exactly the extension distance when the segmentation region is extended outward to form the extended segmentation region.
[0094] If the cross-region figure crosses the boundary lines of all the extended grid regions, it indicates that the length of the cross-region figure crossing the boundary lines of the grid regions is relatively long and longer than the first preset distance. Even when the extended grid regions are divided into extended segmented regions, the cross-region figure still crosses all the extended segmented regions. In this case, it is necessary to cut out the cross-region figure from the grid region and form a separate segmented region to prevent the problem of incomplete calculation.
[0095] In some embodiments of the segmentation method of the present invention, as Figure 3 shown, in the case where it is determined that there is a cross-region figure in the original layout that crosses at least two grid regions, the segmentation method includes:
[0096] S611, expand the boundary lines of each grid region where the cross-region figure is located outward by the first preset distance to form a plurality of extended grid regions;
[0097] S613, determine whether the cross-region figure crosses the boundary lines of all the extended grid regions;
[0098] S811, if not, then use the boundary lines of each grid region as the segmentation lines to segment the original layout;
[0099] S511, expand the boundary lines of each segmented region formed by segmenting the original layout outward by the first preset distance to form extended segmented regions;
[0100] S513, assign each extended segmented region to a distributed computing system for parallel computing.
[0101] In this embodiment, after determining the cross-region figure, a virtual extended grid region is not immediately set around the cross-region figure. Instead, a virtual extended grid region is tried to be set. The extended grid region is obtained by expanding the boundary lines of each grid region where the cross-region figure is located outward by the first preset distance, and the first preset distance is exactly the expansion distance when the segmented region is expanded outward to form the extended segmented region.
[0102] If, after the grid regions where the cross-region figure is located are expanded into extended grid regions, the cross-region figure does not cross the boundary lines of all the extended grid regions, that is, there is at least one extended grid region that can completely enclose the cross-region figure, it indicates that after the extended grid region is divided into extended segmented regions, the distributed computing unit can see the complete cross-region figure through the extended segmented regions, and thus it is not easy to have the problem of incomplete calculation.
[0103] The flowcharts provided in this embodiment are not intended to indicate that the operations of the method will be executed in any specific order, or that all the operations of the method are included in all cases. In addition, the method may include additional operations. Within the scope of the technical idea provided by the method in this embodiment, additional changes can be made to the above method.
[0104] It should be understood that in some embodiments, each part can be implemented by hardware, software, firmware, or a combination thereof. In the above-described embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system.
[0105] The embodiments of the present invention further provide a computer program product 10, a computer-readable storage medium 20, and a computer device 30. Figure 10 is a schematic diagram of a computer program product 10 according to an embodiment of the present invention, Figure 11 is a schematic diagram of a computer-readable storage medium 20 according to an embodiment of the present invention, Figure 12 is a schematic diagram of a computer device 30 according to an embodiment of the present invention. The computer program product 10 includes a computer program 11, and when the computer program 11 is executed by a processor 32, it implements the steps of any one of the above-described segmentation methods. The computer-readable storage medium 20 stores the above computer program 11, and when the computer program 11 is executed by a processor 32, it implements the steps of the segmentation method of any one of the above embodiments. The computer device 30 may include a memory 31, a processor 32, and a computer program 11 stored on the memory 31 and running on the processor 32.
[0106] The computer program 11 for performing the operations of the present invention can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, configuration data of an integrated circuit, or source code or object code written in any combination of one or more programming languages and procedural programming languages. The computer program 11 can be executed entirely on the user's computer, partially on the user's computer, executed as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., using the Internet through an Internet service provider). In some embodiments, in order to perform aspects of the present invention, an electronic circuit, including, for example, a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA), can execute computer-readable program instructions by utilizing the state information of the computer-readable program instructions to personalize the electronic circuit.
[0107] For the description of this embodiment, the computer program product 10 is a related product containing the computer program 11.
[0108] For the description of this embodiment, the computer-readable storage medium 20 is a tangible device capable of retaining and storing the computer program 11, which can be any device that can contain, store, communicate, propagate, or transport the computer program 11 for use by or in connection with an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable storage medium 20 include the following: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanically encoded device, and any suitable combination of the above.
[0109] The computer device 30 can be, for example, a server, a desktop computer, a laptop computer, a tablet computer, or a smart phone. In some examples, the computer device 30 can be a cloud computing node. The computer device 30 can be described in the general context of computer system executable instructions, such as program modules, executed by a computer system. Generally, program modules can include routines, programs, object programs, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. The computer device 30 can be implemented in a distributed cloud computing environment where tasks are performed by remote processing devices linked through a communication network. In a distributed cloud computing environment, program modules can be located on local or remote computing system storage media including storage devices.
[0110] The computer device 30 can include a processor 32 adapted to execute stored instructions and a memory 31 that provides temporary storage space for the operation of the instructions during operation. The processor 32 can be a single-core processor, a multi-core processor, a computing cluster, or any number of other configurations. The memory 31 can include random access memory (RAM), read-only memory, flash memory, or any other suitable storage system.
[0111] The computer device 30 can also include a network adapter / interface and an input / output (I / O) interface. The I / O interface allows data to be input and output with external devices that can be connected to the computer device. The network adapter / interface can provide communication between the computer device and a network, which is typically shown as a communication network.
[0112] At this point, those skilled in the art should recognize that although numerous exemplary embodiments of the present invention have been shown and described in detail herein, many other variations or modifications that conform to the principles of the present invention can still be directly determined or derived from the disclosure of the present invention without departing from the spirit and scope of the present invention. Therefore, the scope of the present invention should be understood and recognized to cover all such other variations or modifications.
Claims
1. A method for dividing a layout, characterized in that, Including: Overlay a virtual grid on the original layout to divide multiple grid regions on the original layout; Determine whether there is a cross-region pattern in the original layout that spans at least two of the grid regions; If so, set a segmentation polygon that encloses the cross-region pattern and delete the boundary segments of all the grid regions within the segmentation polygon; Use the boundary lines of all the grid regions and the segmentation polygon as the dividing lines to divide the original layout.
2. The segmentation method according to claim 1, wherein: The segmentation polygon coincides with the boundary line of the cross-region pattern; or The segmentation polygon is obtained by expanding the boundary line of the cross-region pattern outward.
3. The segmentation method according to claim 1, wherein: The segmentation polygon is a Manhattan pattern.
4. The splitting method according to claim 1, wherein After using the boundary lines of all the grid regions and the segmentation polygon as the dividing lines to divide the original layout, the segmentation method further includes: Expand the boundary lines of each segmentation region formed by dividing the original layout outward by a first preset distance to form expanded segmentation regions; Assign each of the expanded segmentation regions to a distributed computing system for parallel computing.
5. The segmentation method according to claim 4, wherein: The segmentation polygon is obtained by expanding the boundary line of the cross-region pattern outward by a second preset distance; The second preset distance is less than the first preset distance.
6. The segmentation method according to claim 4, wherein When it is determined that there is a cross-region pattern in the original layout that spans at least two of the grid regions, it further includes: Expand the boundary lines of the grid regions where the cross-region pattern is located outward by the first preset distance to form a plurality of expanded grid regions; Determine whether the cross-region pattern spans the boundary lines of all the expanded grid regions; If so, perform the step of setting a segmentation polygon that encloses the cross-region pattern and deleting the boundary segments of all the grid regions within the segmentation polygon.
7. The segmentation method according to claim 1, characterized in that, When it is determined that there is a cross-region pattern in the original layout that spans at least two of the grid regions, it further includes: Expand the boundary lines of the grid regions where the cross-region pattern is located outward by the first preset distance to form a plurality of expanded grid regions; Determine whether the cross-region pattern spans the boundary lines of all the expanded grid regions; If not, use the boundary lines of each grid region as the dividing lines to divide the original layout; Expand the boundary lines of each segmentation region formed by dividing the original layout outward by the first preset distance to form expanded segmentation regions; Assign each of the expanded segmentation regions to a distributed computing system for parallel computing.
8. A computer-readable storage medium, characterized in that, A computer program is stored thereon, and when the computer program is executed by a processor, it implements the steps of the layout segmentation method according to any one of claims 1 to 7.
9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the layout segmentation method according to any one of claims 1 to 7.
10. A computer device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory. The processor executes the computer program to implement the steps of the layout segmentation method according to any one of claims 1 to 7.