Graph processing method and device based on graph independence, medium and simulation method

By determining the scan nodes in the layout, splitting the operation segments, and constructing a valid result edge list, the problem of the result graphics not being able to be accurately mapped back to the independent original graphics is solved. This achieves accurate mapping of the result graphics and preservation of their physical meaning, improving the efficiency and reliability of layout processing.

CN122471983APending Publication Date: 2026-07-28SEMITRONIX
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SEMITRONIX
Filing Date
2026-06-29
Publication Date
2026-07-28

AI Technical Summary

Technical Problem

Existing Boolean arithmetic techniques for graphics often merge graphics within the same level during multi-level operations, resulting in the final graphics failing to accurately map back to the original independent graphics and thus destroying the physical meaning of the graphics.

Method used

By traversing the original graphics in the layout, the scanning nodes are determined, the graphics are split into operational line segments and their numbers are recorded to form the scanning area. The in-degree value is calculated, a valid result edge list is constructed, and finally the result graphics are mapped back to the corresponding original graphics.

Benefits of technology

It achieves accurate mapping of the resulting graphic back to the independent original graphic, ensuring the accuracy of the physical meaning and hierarchical relationship of the graphic, and improving the efficiency and reliability of layout processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122471983A_ABST
    Figure CN122471983A_ABST
Patent Text Reader

Abstract

The application relates to a graphics processing method and device based on graphics independence, a medium and a simulation method, wherein the method comprises the following steps: traversing each original graph in a layout to determine a scanning node; splitting each original graph based on the scanning node to obtain an operation line segment; and recording the original graph number corresponding to the operation line segment; based on a plurality of scanning areas formed by the scanning node, recording effective result edges of all scanning areas according to the result of polygon Boolean processing; constructing an effective result edge linked list according to the pairing result of the effective result edges of adjacent scanning areas; processing to obtain a result graph based on the effective result edge linked list; and mapping the result graph to the corresponding original graph according to the original graph number. Through the application, the problem that the result graph cannot be accurately mapped back to an independent original graph in the related art is solved, and the result graph is mapped back to an independent original graph.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of layout graphics processing technology for integrated circuits, and in particular to graphics processing methods, apparatus, media, and simulation methods based on graphics independence. Background Technology

[0002] Chemical Mechanical Polishing (CMP) is a crucial step in modern integrated circuit manufacturing processes for achieving silicon wafer surface planarization. At 65nm and below process nodes, some process-incompatible designs during the chip design phase, even without violating design rules, can still lead to defects such as dishing, erosion, and metal thickness fluctuations during CMP. This can cause interconnect resistance and capacitance fluctuations, and even short circuits and open circuits in metal interconnects, resulting in insufficient process windows for subsequent process steps (such as photolithography). Therefore, the industry has introduced CMP modeling software to improve the manufacturability (DFM) of chip designs. During CMP modeling simulation, to improve efficiency, the layout is first meshed, and the geometric parameters of each mesh are calculated, mainly including pattern density, equivalent linewidth, equivalent spacing, and perimeter. When calculating the linewidth, density, and spacing of the layout, the complex layout pattern needs to be Boolean processed first, and then the linewidth, density, and spacing are determined based on the Boolean-processed pattern results.

[0003] Layout processing often involves Boolean operations on complex, multi-level graphics. In some practical applications, it's crucial not only to ensure the resulting Boolean operation retains its corresponding hierarchical relationship but also to guarantee the independence of the original manipulated graphics, ensuring the physical meaning carried in the hierarchical mapping remains intact. Therefore, an efficient and reliable Boolean operation technique is essential for improving layout processing efficiency.

[0004] Existing Boolean operation techniques for graphics, such as the open-source libraries CGAL (Computational GeometryAlgorithms Library) and Clipper, primarily focus on the accuracy and processing efficiency of complex polygons. Their drawback lies in the fact that during layout graphics operations, when performing multi-level calculations, graphics within the same level are often merged, resulting in the final graphic not being accurately mapped back to the original independent graphic. This compromises the physical traceability of the electronic components corresponding to the graphic.

[0005] There is currently no effective solution to the problem that the resulting graphics cannot be accurately mapped back to the original independent graphics in related technologies. Summary of the Invention

[0006] This embodiment provides a graphics processing method, apparatus, medium, and simulation method based on graphics independence to solve the problem in related technologies where the resulting graphics cannot be accurately mapped back to the independent original graphics.

[0007] Firstly, this embodiment provides a graphics processing method based on graphics independence for extracting layout feature parameters, the method comprising:

[0008] Traverse each original graphic in the layout to determine the scan nodes;

[0009] Based on the scan nodes, each of the original graphics is split to obtain operational line segments; and the original graphic number corresponding to the operational line segments is recorded.

[0010] Based on the multiple scanning regions formed by the scanning nodes, and according to the results of polygon Boolean processing, record the valid result edges of all the scanning regions;

[0011] Based on the pairing results of valid result edges in adjacent scanned regions, construct a linked list of valid result edges;

[0012] Based on the valid result edge list, the result image is obtained; and according to the original image number, the result image is mapped to the corresponding original image.

[0013] In some embodiments, traversing the original graphics in the layout to determine the scan nodes includes:

[0014] The original graphics in the layout are traversed using a unidirectional scan.

[0015] If the unidirectional scan is a horizontal scan, that is, the scan line is parallel to the X-axis, then the scan node is determined based on the coordinate change value of each original graphic in the Y-axis direction;

[0016] If the unidirectional scan is a longitudinal scan, that is, the scan line is parallel to the Y-axis, then the scan node is determined based on the coordinate change value of each original graphic in the X-axis direction.

[0017] In some embodiments, the step of splitting the original graphics based on the scan nodes to obtain computational line segments includes:

[0018] If the scan node is a Y-axis coordinate change value, then according to the position of the scan node, each of the original graphics is split to obtain graphic edges with vertical components as the operation line segments; the graphic edges with vertical components refer to graphic edges with projection components in the Y-axis direction.

[0019] If the scanning node is a value of X-axis coordinate change, then according to the position of the scanning node, each of the original graphics is split to obtain graphic edges with horizontal components as the operation line segments; the graphic edges with horizontal components refer to graphic edges with projection components in the X-axis direction.

[0020] In some embodiments, the multiple scan regions formed based on the scan nodes, according to the result of polygon Boolean processing, record the valid result edges of all the scan regions, including:

[0021] Based on the multiple scanning regions formed by the scanning nodes, the in-degree value of each original graphic within the scanning region is determined; and the valid result edge is determined according to the preset Boolean operation rules, the in-degree value, and the operation line segment.

[0022] In some embodiments, determining the in-degree value of each of the original graphics within the scanning region based on the multiple scanning regions formed by the scanning nodes includes:

[0023] Within each of the scanning regions, the operational line segments are traversed sequentially;

[0024] Based on the directional trend of the calculated line segments, the in-degree value of each of the original graphics within the scanning area is obtained.

[0025] In some embodiments, determining the valid result edge based on preset Boolean operation rules, the in-degree value, and the operation segment includes:

[0026] Each of the original graphics is matched pairwise; and based on each pair of matched original graphics, the result region that satisfies the Boolean operation rule is calculated using their respective in-degree values.

[0027] Extract the line segments located at the boundary of the result region from the calculated line segments, and use them as the valid result edges.

[0028] In some embodiments, constructing a linked list of valid result edges based on the pairing results of valid result edges adjacent to the scanned regions includes:

[0029] Based on each pair of adjacent scanned regions, traverse each of the valid result edges;

[0030] If a second valid result edge with the same direction exists in an adjacent scanned region, the first valid result edge and the second valid result edge are matched to obtain the pairing result.

[0031] If there is no second valid result edge with the same direction in the adjacent scan area, then the first valid result edge is matched with other valid result edges in the scan area to obtain the pairing result;

[0032] Based on the pairing results, construct the edge list of valid results.

[0033] In some embodiments, mapping the resulting graphic to the corresponding original graphic based on the original graphic number includes:

[0034] If the Boolean operation rule is a difference operation, then the result graphic is mapped to the corresponding original graphic only according to the original graphic number on the subtracted layer;

[0035] If the Boolean operation rule is a target type operation, then the result graphic is mapped to the corresponding original graphic according to the original graphic number on each layer participating in the operation.

[0036] Secondly, this embodiment provides a graph Boolean operation device based on graph independence, including: a traversal module, a splitting module, an operation module, a pairing module, and a mapping module;

[0037] The traversal module is used to traverse each original graphic in the layout and determine the scan nodes;

[0038] The splitting module is used to split each of the original graphics based on the scanning node to obtain operational line segments; and to record the original graphic number corresponding to the operational line segment.

[0039] The calculation module is used to record the valid result edges of all the scanned regions based on the multiple scanned regions formed by the scanned nodes, according to the result of polygon Boolean processing.

[0040] The pairing module is used to construct a linked list of valid result edges based on the pairing results of valid result edges adjacent to the scanned regions.

[0041] The mapping module is used to process the result image based on the valid result edge list; and to map the result image to the corresponding original image according to the original image number.

[0042] Thirdly, this embodiment provides a readable storage medium storing a computer program that, when executed by a processor, implements the graphics processing method based on graphics independence described in the first aspect above.

[0043] Fourthly, this embodiment provides a chemical mechanical polishing simulation method, the method comprising:

[0044] Obtain the map and divide the map into grids;

[0045] Extracting the feature parameters of the mesh includes graphic Boolean processing and feature parameter extraction; wherein, the graphic Boolean processing adopts the graphic processing method based on graphic independence described in the first aspect above;

[0046] Based on the characteristic parameters of each grid in the layout, a chemical mechanical polishing process simulation is performed on the layout.

[0047] Compared with related technologies, the graphics processing method, apparatus, medium, and simulation method based on graphics independence provided in this embodiment determine scanning nodes by traversing each original graphic in the layout; based on the scanning nodes, each original graphic is split to obtain operational line segments; and the original graphic number corresponding to the operational line segments is recorded; based on the multiple scanning regions formed by the scanning nodes, the effective result edges of all scanning regions are recorded according to the results of polygon Boolean processing; a list of effective result edges is constructed based on the pairing results of the effective result edges of adjacent scanning regions; the result graphic is processed based on the list of effective result edges to obtain the result graphic; and the result graphic is mapped to the corresponding original graphic according to the original graphic number. By recording the correspondence between operational line segments and original graphics during the graphics splitting stage, and retaining this correspondence when calculating and filtering effective result edges based on the in-degree value during Boolean operations, the final constructed result graphic can be traced back to the operational line segments constituting the result graphic based on the included effective result edges. This solves the problem in related technologies where the result graphic cannot be accurately mapped back to the independent original graphic, and realizes the mapping of the result graphic back to the independent original graphic.

[0048] Details of one or more embodiments of this application are set forth in the following drawings and description to make other features, objects and advantages of this application more readily apparent. Attached Figure Description

[0049] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0050] Figure 1 This is a hardware structure block diagram of a terminal device for a graphics processing method based on graphics independence provided in an embodiment of this application;

[0051] Figure 2 This is a flowchart of a graphics processing method based on graphics independence provided in an embodiment of this application;

[0052] Figure 3 This is a schematic diagram of layers and graphics provided in an embodiment of this application;

[0053] Figure 4 This is a schematic diagram of a scanning node provided in an embodiment of this application;

[0054] Figure 5 This is a schematic diagram of line segment splitting provided in an embodiment of this application;

[0055] Figure 6 This is a schematic diagram showing the changes in the X-axis coordinates of each side according to an embodiment of this application;

[0056] Figure 7 This is a schematic diagram of the NOT graphic edge direction provided in an embodiment of this application;

[0057] Figure 8 This is a schematic representation of the edge chain of the resulting graphic provided in an embodiment of this application;

[0058] Figure 9 This is a graphical schematic diagram of the NOT operation result provided in an embodiment of this application;

[0059] Figure 10 This is a graphical schematic diagram of the AND operation result provided in an embodiment of this application;

[0060] Figure 11 This is a structural block diagram of a graphics Boolean operation device based on graphics independence provided in an embodiment of this application.

[0061] In the diagram: 102, processor; 104, memory; 106, transmission device; 108, input / output device; 210, traversal module; 220, splitting module; 230, arithmetic module; 240, pairing module; 250, mapping module. Detailed Implementation

[0062] To better understand the purpose, technical solution, and advantages of this application, the application is described and illustrated below in conjunction with the accompanying drawings and embodiments.

[0063] Unless otherwise defined, the technical or scientific terms used in this application shall have the general meaning understood by one of ordinary skill in the art to which this application pertains. Words such as “a,” “an,” “an,” “the,” “the,” and “these” used in this application do not indicate quantitative limitation and may be singular or plural. The terms “comprising,” “including,” “having,” and any variations thereof used in this application are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or device that comprises a series of steps or modules (units) is not limited to the listed steps or modules (units) but may include steps or modules (units) not listed, or may include other steps or modules (units) inherent to these processes, methods, products, or devices. Words such as “connected,” “linked,” and “coupled” used in this application are not limited to physical or mechanical connections but may include electrical connections, whether direct or indirect. “Multiple” used in this application refers to two or more. “And / or” describes the relationship between related objects, indicating that three relationships may exist; for example, “A and / or B” can represent: A alone, A and B simultaneously, and B alone. Normally, the character " / " indicates that the objects before and after it are in an "or" relationship. The terms "first," "second," "third," etc., used in this application are merely to distinguish similar objects and do not represent a specific order of objects.

[0064] The method embodiments provided in this example can be executed on a terminal, computer, or similar computing device. For example, it can run on a terminal. Figure 1 This is a hardware structure block diagram of the terminal using the graphics processing method based on graphics independence in this embodiment. For example... Figure 1 As shown, a terminal may include one or more ( Figure 1 Only one is shown in the diagram. A processor 102 and a memory 104 for storing data are also included. The processor 102 may be, but is not limited to, a microprocessor (MCU) or a programmable logic device (FPGA). The terminal may also include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that… Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the terminal described above. For example, the terminal may also include components that are larger than... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown are illustrated.

[0065] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the graphics processing method based on graphics independence in this embodiment. The processor 102 executes various functional applications and data processing by running the computer programs stored in the memory 104, thereby implementing the aforementioned method. The memory 104 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0066] The transmission device 106 is used to receive or send data via a network. This network includes a wireless network provided by the terminal's communication provider. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 can be a Radio Frequency (RF) module used for wireless communication with the Internet.

[0067] This embodiment provides a graphics processing method based on graphics independence. Figure 2 This is a flowchart of the graphics processing method based on graphics independence in this embodiment, such as... Figure 2 As shown, the process includes the following steps:

[0068] Step S210: Traverse each original graphic in the layout and determine the scan nodes.

[0069] Specifically, the scan nodes can be determined by traversing all the original graphics; alternatively, by obtaining the outline range of the original graphics and generating uniform scan nodes according to a preset sampling density; or by directly reading the endpoint coordinates of the graphics from the layout design rules as scan nodes. There are no restrictions on the selection method for the scan nodes.

[0070] Step S220: Based on the scan nodes, split each original graphic to obtain the operation line segments; and record the original graphic number corresponding to the operation line segments.

[0071] Specifically, for edges with projective components, they are split into several continuous computational segments based on the position of the scan nodes. Each computational segment lies within the scan interval between two adjacent scan nodes. During the splitting process, each computational segment is associated with a unique identifier of its original graphic, i.e., the original graphic number. The computational segments can be obtained by splitting the original graphic, or by calculating the intersection points of the graphic edges and scan lines, breaking the segments at the intersection points; alternatively, segments can be directly extracted according to the scan interval based on the vector data of the graphic contour. There are no restrictions on the method of obtaining the computational segments.

[0072] Step S230: Based on the multiple scan regions formed by the scan nodes, record the valid result edges of all scan regions according to the results of polygon Boolean processing.

[0073] Specifically, within each scan region divided by adjacent scan nodes, all computational line segments within that region are traversed sequentially. By accumulating the in-degree change brought about by each computational line segment, the in-degree value distribution of each original graphic at different positions within that scan region can be obtained. After completing the in-degree calculation, according to preset Boolean operation rules, the original graphics on each layer participating in the operation are matched pairwise, and the effective region of each pair of matched graphics is calculated. Finally, the line segments corresponding to the effective regions are extracted from the computational line segments as effective result edges. Valid result edges can also be obtained through raster-based boundary extraction or graph-based boundary extraction methods; the method of obtaining effective result edges is not restricted here.

[0074] Step S240: Construct a linked list of valid result edges based on the pairing results of valid result edges in adjacent scanned regions.

[0075] Specifically, for each pair of adjacent scanned regions, a list of valid result edges is obtained for each region. Each valid result edge in the preceding region is traversed sequentially, and a matching edge with the same direction and located in the same coordinate interval is found in the following region, thus obtaining the pairing result. Then, the valid result edges are linked according to the pairing result to form a linked list of valid result edges. The linked list of valid result edges can also be constructed using boundary tracing algorithms or path search methods in graph theory; the construction method of the linked list of valid result edges is not restricted here.

[0076] Step S250: Based on the valid result edge list, process to obtain the result graphic; and map the result graphic to the corresponding original graphic according to the original graphic number.

[0077] Specifically, starting from the initial edge of a polygon with specific directional characteristics, each valid result edge is traversed sequentially along the successor-successor relationship in the linked list until the initial edge is returned, thus forming a closed outer polygon outline, which is the final result graphic. After obtaining the result graphic, based on each valid result edge that constitutes the result graphic, the corresponding operation segment is traced back to obtain the original graphic number recorded by that operation segment. All obtained original graphic numbers are deduplicated and merged to obtain the set of original graphics corresponding to the result graphic.

[0078] Through the above steps, each original graphic is traversed to obtain scan nodes; based on the scan nodes, the original graphics are split to obtain operational segments, and the original graphic number corresponding to each operational segment is recorded during the splitting process; based on the multiple scan regions formed by the scan nodes, the in-degree value of the original graphics is calculated; then, based on the in-degree value, Boolean operation rules, and operational segments, valid result edges are filtered; subsequently, based on the pairing results of valid result edges in adjacent scan regions, a linked list of valid result edges is constructed; finally, based on the linked list of valid result edges, the result graphic is constructed, and based on the original graphic number corresponding to each result edge, all the original graphics constituting the result graphic are derived, thus completing the accurate mapping from the result graphic to the original independent graphics. This solves the problem in related technologies where the result graphic cannot be accurately mapped back to the independent original graphics.

[0079] The above steps are explained in detail below:

[0080] In some embodiments, step S210, which involves traversing the original graphics in the layout to determine the scan nodes, includes the following steps:

[0081] The original graphics in the layout are traversed using a one-way scan.

[0082] If a unidirectional scan is a horizontal scan, that is, the scan line is parallel to the X-axis, then the scan node is determined based on the coordinate change value of each original graphic in the Y-axis direction;

[0083] If unidirectional scanning is longitudinal scanning, that is, the scan line is parallel to the Y-axis, then the scan nodes are determined based on the coordinate changes of each original graphic in the X-axis direction.

[0084] Specifically, when using horizontal scanning, the scan line moves parallel to the X-axis of the layout, traversing all original graphics on all layers, extracting the vertex coordinates of each graphic in the Y-axis direction, and collecting, sorting, and deduplicating these coordinates to obtain a series of Y-coordinate nodes, which are the scan nodes. When using vertical scanning, the scan line moves parallel to the Y-axis of the layout, extracting the vertex coordinates of all graphics in the X-axis direction as scan nodes.

[0085] For example, such as Figure 3As shown, the blue shapes a0a1a2a3(1_0) and b0b1b2b3(1_1) belong to layer 1, and the yellow shapes c0c1c2c3(2_0) and d0d1d2d3(2_1) belong to layer 2, and the polygons are specified to wrap in a counter-clockwise direction. Figure 4 As shown, the original graphic in the layout is scanned horizontally, and the Y coordinate changes y0-y6 caused by all the graphics are obtained as scan nodes.

[0086] This embodiment provides two optional scanning methods: horizontal scanning and vertical scanning. This allows the method to flexibly select the scanning direction according to the actual distribution characteristics of the layout graphics, thereby improving the scanning efficiency of the layout.

[0087] In some embodiments, step S220, which involves splitting the original graphics based on the scan nodes to obtain the operational line segments, includes the following steps:

[0088] If the scan node is a Y-axis coordinate change value, then according to the position of the scan node, each original graphic is split into graphic edges with vertical components as operation line segments; graphic edges with vertical components refer to graphic edges with projection components in the Y-axis direction.

[0089] If the scan node is a value of X-axis coordinate change, then according to the position of the scan node, each original graphic is split into graphic edges with horizontal components as operation line segments; graphic edges with horizontal components refer to graphic edges with projection components in the X-axis direction.

[0090] Specifically, if the scanning method is horizontal scanning, the scanning nodes are a series of ordered Y-coordinate values ​​(y0, y1, y2, ..., yn). For each edge of each original graphic, only edges with vertical components (projected components in the Y-axis direction) are retained. The Y-coordinates of the two endpoints of the edge are obtained to determine the range of scanning nodes it spans. Starting from the scanning node corresponding to the lowest Y-coordinate of the edge, the edge is truncated at each scanning node in sequence, generating a series of operational line segments. Each operational line segment is associated with its corresponding original graphic number. Each operational line segment is located between two adjacent scanning nodes, and the Y-coordinate of the endpoint of the operational line segment is the coordinate of the scanning node.

[0091] If the scanning method is vertical, the scanning nodes are a series of ordered X-coordinate values ​​(x0, x1, x2, ..., xn). For each edge of each original graphic, only edges with horizontal components (projected components in the X-axis direction) are retained. The X-coordinates of the two endpoints of the edge are obtained to determine the range of scanning nodes it spans. Starting from the scanning node corresponding to the smallest X-coordinate of the edge, the edge is truncated at each scanning node in sequence, generating a series of operational line segments. Each operational line segment is associated with its corresponding original graphic number. Each operational line segment is located between two adjacent scanning nodes, and the X-coordinate of the endpoint of the operational line segment is the coordinate of the scanning node.

[0092] For example, in Figure 4 In the original graphic shown, all graphic edges with vertical components were selected, and their corresponding layer numbers and graphic numbers were recorded. Table 1 records the selected graphic edges and their corresponding layer numbers and graphic numbers.

[0093] Table 1. Graphical Edge Record Table

[0094]

[0095] like Figure 5 As shown, after obtaining the scan nodes, the retained graphic edges are split into corresponding operational segments based on the scan node positions. The split operational segments need to retain the corresponding original graphic numbers. The graphic numbers corresponding to the operational segments in each scan interval (the area between two Y change values) are shown in Table 2.

[0096] Table 2 Information on line segments processed within the scan interval

[0097]

[0098] This embodiment splits edges with projection components along the scanning direction, ensuring the continuity of line segment distribution within each scanning region and improving processing efficiency. Simultaneously, the original graphic numbers recorded during the splitting process provide a reliable data foundation for tracing subsequent result graphics.

[0099] In some embodiments, step S230, which involves multiple scan regions formed based on scan nodes, records the valid result edges of all scan regions according to the results of polygon Boolean processing, including the following steps:

[0100] Based on multiple scanning regions formed by scanning nodes, the in-degree value of each original graphic within the scanning region is determined; and the valid result edges are determined according to the preset Boolean operation rules, in-degree value, and operation line segments.

[0101] Specifically, within each scan region divided by adjacent scan nodes, all operational line segments within that region are traversed sequentially. By accumulating the in-degree change brought by each operational line segment, the in-degree value distribution of each original graphic at different positions within that scan region can be obtained. For example, when traversing operational line segments from left to right within one scan region, when encountering an edge belonging to an original graphic with a downward trend, the in-degree value of that graphic is incremented by 1, indicating entry into the graphic's interior. After completing the in-degree calculation, the original graphics on the layer are matched pairwise according to preset Boolean operation rules. For each pair of matched original graphics, it is determined whether the combination of their in-degree values ​​within the current scan region satisfies the result conditions of the Boolean operation, thereby calculating the effective region of each pair of matched graphics. Finally, the line segments corresponding to the effective regions are extracted from the operational line segments as effective result edges.

[0102] This embodiment enables the precise calculation of the in-degree distribution of each original graphic within the scanned area, and performs pairwise matching of the graphics based on Boolean operation rules, thereby accurately extracting the valid result edges located at the boundaries of the result area. This provides a complete and reliable data foundation for tracing the result graphics back to the original independent graphics.

[0103] In some embodiments, determining the in-degree value of each original graphic within a scanned region based on multiple scanned regions formed by scanned nodes includes the following steps:

[0104] Within each scanning area, the line segments are traversed and processed sequentially;

[0105] Based on the directional trend of the line segments, the in-degree value of each original graphic within the scanning area is obtained.

[0106] Specifically, if the scanning method is horizontal scanning, within each scanning region divided by adjacent scanning nodes, all operational line segments within that region are traversed sequentially from left to right along the X-axis. For each operational line segment, its directional trend is determined based on the relationship between its starting and ending Y-coordinates: if the Y-coordinate of the ending point is greater than the Y-coordinate of the starting point (i.e., the line segment extends upwards), then the line segment has an upward trend; if the Y-coordinate of the ending point is less than the Y-coordinate of the starting point (i.e., the line segment extends downwards), then the line segment has a downward trend. During the traversal, the current in-degree value is maintained independently for each original graphic. When an edge with a downward trend belonging to that graphic is encountered, its in-degree value is incremented by 1; when an edge with an upward trend belonging to that graphic is encountered, its in-degree value is decremented by 1. By accumulating the in-degree changes brought about by each operational line segment, the in-degree value distribution of each original graphic at different positions along the X-axis within the scanning region can be obtained. The vertical scanning is similar; operational line segments are traversed along the Y-axis, and the in-degree is increased or decreased based on the left-right trend of the line segment along the X-axis.

[0107] For example, within each scan interval, traversing from left to right, when encountering an edge with a downward trend, the graph's in-degree value is incremented by 1; when encountering an edge with an upward trend, the graph's in-degree value is decremented by 1. For example... Figure 6 As shown, the X-axis coordinate changes of each side are given. The distribution table of in-degree values ​​of graph 1_0 is shown in Table 3, the distribution table of in-degree values ​​of graph 1_1 is shown in Table 4, the distribution table of in-degree values ​​of graph 2_0 is shown in Table 5, and the distribution table of in-degree values ​​of graph 2_1 is shown in Table 6.

[0108] Table 3. Distribution of in-degree values ​​for graph 1_0

[0109]

[0110] Table 4. Distribution of in-degree values ​​in Graph 1_1

[0111]

[0112] Table 5. Distribution of in-degree values ​​in graph 2_0

[0113]

[0114] Table 6. Distribution of in-degree values ​​in graph 2_1

[0115]

[0116] This embodiment calculates the in-degree within the scanned area based on the directional trend of the calculated line segments, accurately capturing the changes in the coverage state of each independent original graphic within the layout. This provides a unified criterion for subsequently filtering valid result edges according to Boolean operation rules.

[0117] In some embodiments, the valid result edges are determined based on preset Boolean operation rules, in-degree values, and operation segments, including the following steps:

[0118] Each original graphic is matched pairwise; and based on each pair of matched original graphics, the result region that satisfies the Boolean operation rules is calculated using their respective in-degree values.

[0119] Extract the line segments located at the boundary of the result region from the calculated line segments, and use them as valid result edges.

[0120] Specifically, for the original graphics on multiple layers participating in Boolean operations, they are first paired according to layer affiliation and graphic number. Within each scanned area, for each pair of matched original graphics, their in-degree value at the current position is obtained. Based on different Boolean operation rules, it is determined whether the current spatial position belongs to the result area. From the set of operation segments, the line segments at the boundary of the result area, i.e., the line segments corresponding to the left and right boundaries of the result area, are extracted as the valid result edges of the pair of matched graphics. The Boolean operation rules in this embodiment are all multi-level operations, such as multi-level intersection, difference, and difference operations, etc. The type of Boolean operation is not limited here.

[0121] For example, taking the difference (NOT) operation as an example, Figure 3 In the diagram, layer 1 is defined as the subtracted layer, and layer 2 is defined as the subtracted layer. For NOT operations that require ensuring the independence of the original graphics, the graphics on layer 1 need to retain their original graphic independence, and the difference between layer 1 and the graphics on layer 2 needs to be calculated. The region where (subtracted layer in-degree - subtracted layer in-degree) > 0 is defined as the difference result region. Based on the distribution of graphic in-degree values ​​in Tables 3 to 6, the difference result region of graphic 1_0 is shown in Table 7, and the difference result region of graphic 1_1 is shown in Table 8.

[0122] Table 7. Difference result region table for Figure 1_0

[0123]

[0124] Table 8. Difference result region table for Figure 1_1

[0125]

[0126] Combining the data in Tables 7 and 8, the line segments of the left and right boundaries of the corresponding regions are retained as valid result edges. The valid result edges after the difference operation of each independent figure are shown in Table 9.

[0127] Table 9 Valid Results Side Table

[0128]

[0129] This embodiment employs a pairwise matching method for the original graphics, ensuring that each independent original graphic is processed separately during Boolean operations, thus avoiding the loss of individual information due to layer merging or graphic aggregation. Simultaneously, line segments located at the boundaries of the result area are extracted from the processed line segments as valid result edges, providing a complete data chain for subsequent construction of the result graphic and mapping it back to the independent original graphics.

[0130] In some embodiments, step S240, which involves constructing a linked list of valid result edges based on the pairing results of valid result edges in adjacent scanned regions, includes the following steps:

[0131] Based on each pair of adjacent scan regions, traverse each valid result edge;

[0132] If there is a second valid result edge with the same direction in an adjacent scan region, the first valid result edge and the second valid result edge are matched to obtain a pairing result;

[0133] If there is no second valid result edge with the same direction in the adjacent scan area, the first valid result edge is matched with other valid result edges in the scan area to obtain a pairing result;

[0134] Based on the pairing results, construct a linked list of valid results.

[0135] Specifically, for the preceding and following scan intervals, edge matching (linking edges with the same direction) is performed. If a matching edge is found, the two edges are linked to the same linked list node to form a continuous edge relationship; if no matching edge with the same direction exists in the current region, the valid result edge is matched and linked with other valid result edges in the scan region. That is, within the current region, edges with opposite directions or those that can form a closed path are searched for for self-matching, thereby combining isolated edges into a coherent sequence and constructing a linked list of valid result edges.

[0136] For example, such as Figure 7 As shown, for the NOT operation, the direction of the resulting edges on layer 2 needs to be reversed (the start and end points of the line segments are swapped). For the preceding and following scan intervals (e.g., y0-y1, y1-y2 form a pair of preceding and following scan intervals), edge matching is performed. If there is no edge in the preceding and following intervals that can match the current resulting edge, then the current resulting edge performs self-matching with the preceding and following resulting edges in the scan area. The resulting valid result list is as follows: Figure 8 As shown, the dashed lines represent the horizontal lines constructed during the connection process.

[0137] In this embodiment, an effective result edge chain list is constructed by combining cross-region matching and intra-region self-matching. This can establish effective edge connection relationships between adjacent scan regions. At the same time, when cross-region matching is not possible, intra-region self-matching can be used to close or continue the edge chain, thereby improving the stability and accuracy of the result graph construction.

[0138] In some embodiments, step S250, mapping the resulting graphic to the corresponding original graphic based on the original graphic number, includes the following steps:

[0139] If the Boolean operation rule is a difference operation, then the resulting graphic is mapped to the corresponding original graphic only according to the original graphic number on the subtracted layer;

[0140] If the Boolean operation rule is a target type operation, then the resulting graphic is mapped to the corresponding original graphic based on the original graphic number on each layer involved in the operation.

[0141] Specifically, after obtaining the resulting image, the first step is to determine each valid edge contained within it. For each valid edge, the original image number recorded by the operation segment is obtained. All obtained original image numbers are collected, deduplicated, and merged to obtain the set of original image numbers corresponding to the resulting image. Then, based on the rule type of this Boolean operation, this set of numbers is filtered or retained. For example, when the Boolean operation is a difference (NOT) operation, only the original image numbers belonging to the subtracted layer are retained. When the Boolean operation is a target type operation such as intersection (AND), union (OR), or exclusive OR (XOR), all original image numbers in the set are retained. Finally, the filtered set of original image numbers is associated with the resulting image, completing the mapping from the resulting image to the independent original image.

[0142] For example, such as Figure 8 As shown, according to Figure 8 The edge list obtained by the difference operation can be traversed starting from any edge of the polygon to obtain all resulting polygons, ultimately yielding a list like this. Figure 9 The resulting graphics are shown as a0a1a2a3a4a5a6a7a8a9a10a11 and b0b1b2b3b4b5b6b7b8b9. Based on the valid edges involved in the resulting graphics and combined with the original graphic information corresponding to the line segments in Table 2, the original graphics corresponding to the resulting graphics can be obtained as shown in Table 10.

[0143] Table 10: Graphical Mapping Table of NOT Operation Results

[0144]

[0145] If Figure 3 An AND operation is performed on layers 1 and 2 to ensure the independence of the original graphics in the AND operation scenario. This can yield results such as... Figure 10 The resulting graphs are shown below, and the corresponding original graphs are shown in Table 11.

[0146] Table 11 Graph Mapping Table of AND Operation Results

[0147]

[0148] In this embodiment, the original graphic number corresponding to the result graphic is differentiated according to the characteristics of different Boolean operation rules, thereby ensuring that the composition relationship of the result graphic can be accurately reflected in different Boolean operation scenarios.

[0149] This embodiment also provides a graphics Boolean operation device based on graphics independence, which is used to implement the above embodiments and preferred embodiments, and will not be repeated as already described. The terms "module," "unit," "subunit," etc., used below can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0150] Figure 11 This is a structural block diagram of the graphics Boolean operation device based on graphics independence in this embodiment, as shown below. Figure 11 As shown, the device includes: a traversal module 210, a splitting module 220, a calculation module 230, a pairing module 240, and a mapping module 250;

[0151] Traversal module 210 is used to traverse each original graphic in the layout and determine the scan nodes; the original graphics are located on different layers.

[0152] The splitting module 220 is used to split each original graphic based on the scanned node to obtain the operational line segment; and to record the original graphic number corresponding to the operational line segment.

[0153] The calculation module 230 is used to record the valid result edges of all scan regions based on the results of polygon Boolean processing, based on the multiple scan regions formed by the scan nodes.

[0154] The pairing module 240 is used to construct a linked list of valid result edges based on the pairing results of valid result edges in adjacent scanned regions.

[0155] The mapping module 250 is used to process the resulting graphics based on the valid result edge list; and to map the resulting graphics to the corresponding original graphics according to the original graphic number.

[0156] The above-mentioned device solves the problem in related technologies where the resulting graphic cannot be accurately mapped back to the independent original graphic, and realizes the mapping of the resulting graphic back to the independent original graphic.

[0157] In some embodiments, the traversal module 210 is also used to traverse each original graphic in the layout using a unidirectional scan; if the unidirectional scan is a horizontal scan, that is, the scan line is parallel to the X-axis, then the coordinate change value of each original graphic in the Y-axis direction is used as the scan node; if the unidirectional scan is a vertical scan, that is, the scan line is parallel to the Y-axis, then the coordinate change value of each original graphic in the X-axis direction is used as the scan node.

[0158] In some embodiments, the splitting module 220 is further configured to, if the scanning node is a Y-axis coordinate change value, split each original graphic according to the position of the scanning node to obtain graphic edges with vertical components as operation segments; graphic edges with vertical components refer to graphic edges with projection components in the Y-axis direction; if the scanning node is an X-axis coordinate change value, split each original graphic according to the position of the scanning node to obtain graphic edges with horizontal components as operation segments; graphic edges with horizontal components refer to graphic edges with projection components in the X-axis direction.

[0159] In some embodiments, the calculation module 230 is also used to determine the in-degree value of each original graphic within the scanning area based on multiple scanning areas formed by the scanning nodes; and to determine the valid result edge according to the preset Boolean operation rules, the in-degree value and the operation line segment.

[0160] In some embodiments, the arithmetic module 230 is also configured to sequentially traverse the arithmetic line segments within each scanning area;

[0161] Based on the directional trend of the line segments, the in-degree value of each original graphic within the scanning area is obtained.

[0162] In some embodiments, the calculation module 230 is also used to perform pairwise matching of each original graphic; and based on each pair of matched original graphics, using their respective in-degree values, to calculate the result region that satisfies the Boolean operation rules.

[0163] Extract the line segments located at the boundary of the result region from the calculated line segments, and use them as valid result edges.

[0164] In some embodiments, the pairing module 240 is also configured to traverse each valid result edge based on each pair of adjacent scan regions;

[0165] If there is a second valid result edge with the same direction in an adjacent scan region, the first valid result edge and the second valid result edge are matched to obtain a pairing result;

[0166] If there is no second valid result edge with the same direction in the adjacent scan area, the first valid result edge is matched with other valid result edges in the scan area to obtain a pairing result;

[0167] Based on the pairing results, construct a linked list of valid results.

[0168] In some embodiments, the mapping module 250 is also used to map the result graphic to the corresponding original graphic only according to the original graphic number on the subtracted layer if the Boolean operation rule is a difference operation.

[0169] If the Boolean operation rule is a target type operation, then the resulting graphic is mapped to the corresponding original graphic based on the original graphic number on each layer involved in the operation.

[0170] It should be noted that the above modules can be functional modules or program modules, and can be implemented through software or hardware. For modules implemented through hardware, the above modules can reside in the same processor; or the above modules can be located in different processors in any combination.

[0171] Furthermore, in conjunction with the graphics-independent graphics processing method provided in the above embodiments, this embodiment can also provide a storage medium for implementation. This storage medium stores a computer program; when executed by a processor, the computer program implements any of the graphics-independent graphics processing methods described in the above embodiments.

[0172] It should be noted that all information and data involved in this application are authorized by the user or fully authorized by all parties and will be used legally.

[0173] It should be understood that the specific embodiments described herein are merely illustrative of the application and not intended to limit it. All other embodiments derived by those skilled in the art based on the embodiments provided in this application without inventive effort are within the scope of protection of this application.

[0174] Obviously, the accompanying drawings are merely some examples or embodiments of this application. Those skilled in the art can apply this application to other similar situations based on these drawings without any creative effort. Furthermore, it is understood that although the work done in this development process may be complex and lengthy, for those skilled in the art, certain design, manufacturing, or production modifications made based on the technical content disclosed in this application are merely conventional technical means and should not be considered as insufficient disclosure of this application.

[0175] The term "embodiment" in this application refers to a specific feature, structure, or characteristic described in connection with an embodiment that may be included in at least one embodiment of this application. The appearance of this phrase in various places in the specification does not necessarily imply the same embodiment, nor does it imply that it is mutually exclusive with or independent of other embodiments. It will be clearly or implicitly understood by those skilled in the art that the embodiments described in this application may be combined with other embodiments without conflict.

[0176] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of patent protection. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the appended claims.

Claims

1. A graphics processing method based on graphics independence, characterized in that, The method for extracting feature parameters of a map includes: Traverse each original graphic in the layout to determine the scan nodes; Based on the scan nodes, each of the original graphics is split to obtain operational line segments; and the original graphic number corresponding to the operational line segments is recorded. Based on the multiple scanning regions formed by the scanning nodes, and according to the results of polygon Boolean processing, record the valid result edges of all the scanning regions; Based on the pairing results of valid result edges in adjacent scanned regions, construct a linked list of valid result edges; Based on the valid result edge list, the result image is obtained; and according to the original image number, the result image is mapped to the corresponding original image.

2. The graphics processing method based on graphics independence according to claim 1, characterized in that, The process of traversing each original graphic in the layout and determining the scan nodes includes: The original graphics in the layout are traversed using a unidirectional scan. If the unidirectional scan is a horizontal scan, that is, the scan line is parallel to the X-axis, then the scan node is determined based on the coordinate change value of each original graphic in the Y-axis direction; If the unidirectional scan is a longitudinal scan, that is, the scan line is parallel to the Y-axis, then the scan node is determined based on the coordinate change value of each original graphic in the X-axis direction.

3. The graphics processing method based on graphics independence according to claim 2, characterized in that, The step of splitting each of the original graphics based on the scanned nodes to obtain operational line segments includes: If the scan node is a Y-axis coordinate change value, then according to the position of the scan node, each of the original graphics is split to obtain graphic edges with vertical components as the operation line segments; the graphic edges with vertical components refer to graphic edges with projection components in the Y-axis direction. If the scanning node is a value of X-axis coordinate change, then according to the position of the scanning node, each of the original graphics is split to obtain graphic edges with horizontal components as the operation line segments; the graphic edges with horizontal components refer to graphic edges with projection components in the X-axis direction.

4. The graphics processing method based on graphics independence according to claim 1, characterized in that, The multiple scanning regions formed based on the scanning nodes, according to the result of polygon Boolean processing, record the valid result edges of all the scanning regions, including: Based on the multiple scanning regions formed by the scanning nodes, the in-degree value of each original graphic within the scanning region is determined; and the valid result edge is determined according to the preset Boolean operation rules, the in-degree value, and the operation line segment.

5. The graphics processing method based on graphics independence according to claim 4, characterized in that, The determination of the in-degree value of each original graphic within the scanning region based on the multiple scanning regions formed by the scanning nodes includes: Within each of the scanning regions, the operational line segments are traversed sequentially; Based on the directional trend of the calculated line segments, the in-degree value of each of the original graphics within the scanning area is obtained.

6. The graphics processing method based on graphics independence according to claim 4, characterized in that, The step of determining the valid result edge based on the preset Boolean operation rules, the in-degree value, and the operation segment includes: Each of the original graphics is matched pairwise; and based on each pair of matched original graphics, the result region that satisfies the Boolean operation rule is calculated using their respective in-degree values. Extract the line segments located at the boundary of the result region from the calculated line segments, and use them as the valid result edges.

7. The graphics processing method based on graphics independence according to claim 1, characterized in that, The step of constructing a linked list of valid result edges based on the pairing results of valid result edges adjacent to the scanned regions includes: Based on each pair of adjacent scanned regions, traverse each of the valid result edges; If a second valid result edge with the same direction exists in an adjacent scanned region, the first valid result edge and the second valid result edge are matched to obtain the pairing result. If there is no second valid result edge with the same direction in the adjacent scan area, then the first valid result edge is matched with other valid result edges in the scan area to obtain the pairing result; Based on the pairing results, construct the edge list of valid results.

8. The graphics processing method based on graphics independence according to claim 1, characterized in that, The step of mapping the resulting graphic to the corresponding original graphic based on the original graphic number includes: If the Boolean operation is a difference operation, then the resulting graphic is mapped to the corresponding original graphic only according to the original graphic number on the subtracted layer; If the Boolean operation is a target type operation, then the resulting graphic is mapped to the corresponding original graphic based on the original graphic number on each layer involved in the operation.

9. A graphical Boolean operation device based on graphical independence, characterized in that, include: Traversal module, splitting module, operation module, pairing module, and mapping module; The traversal module is used to traverse each original graphic in the layout and determine the scan nodes; The splitting module is used to split each of the original graphics based on the scanning nodes to obtain operational line segments; And record the original graphic number corresponding to the calculated line segment; The calculation module, based on the multiple scanning regions formed by the scanning nodes, records the valid result edges of all the scanning regions according to the results of polygon Boolean processing; The pairing module is used to construct a linked list of valid result edges based on the pairing results of valid result edges adjacent to the scanned regions. The mapping module is used to process the valid result edge list to obtain the result graph; The resulting graphic is mapped to the corresponding original graphic based on the original graphic number.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the graphics processing method based on graphics independence as described in any one of claims 1 to 8.

11. A chemical mechanical polishing simulation method, characterized in that, The method includes: Obtain the map and divide the map into grids; Extracting feature parameters of the mesh includes graphic Boolean processing and feature parameter extraction; wherein the graphic Boolean processing adopts the graphic processing method based on graphic independence as described in any one of claims 1 to 8; Based on the characteristic parameters of each grid in the layout, a chemical mechanical polishing process simulation is performed on the layout.