CN117745870A - Method and system for processing substrate graph based on jump table and scanning line - Google Patents

Method and system for processing substrate graph based on jump table and scanning line Download PDF

Info

Publication number
CN117745870A
CN117745870A CN202311634409.4A CN202311634409A CN117745870A CN 117745870 A CN117745870 A CN 117745870A CN 202311634409 A CN202311634409 A CN 202311634409A CN 117745870 A CN117745870 A CN 117745870A
Authority
CN
China
Prior art keywords
edge
line segment
axis
graph
edges
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311634409.4A
Other languages
Chinese (zh)
Inventor
孙尚兴
仰胜
陆兵
亚历山大·鲁萨科夫
伊戈尔·索尔坦
德米特里·扎莫钦
马玉涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Gulun Electronics Co ltd
Original Assignee
Shanghai Gulun Electronics Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Gulun Electronics Co ltd filed Critical Shanghai Gulun Electronics Co ltd
Priority to CN202311634409.4A priority Critical patent/CN117745870A/en
Publication of CN117745870A publication Critical patent/CN117745870A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

The invention discloses a method for processing a substrate graph based on a jump table and scanning lines, which comprises the following steps: acquiring the in-edge and the out-edge of each graph based on all graphs on the substrate; sequencing all the incoming edges and the outgoing edges from left to right, traversing all the incoming edges or the outgoing edges from left to right and creating data in the jump table; when traversing the entering edge, if the line segment represented by the entering edge is not in the jump table, adding the line segment of the entering edge into the jump table to create data; if the line segment of the entering edge is in the skip list, splitting the node corresponding to the line segment into a plurality of nodes according to the overlapping relation of the line segment and updating the skip list so as to realize the segmentation of the line segment corresponding to the entering edge into a plurality of new line segments; the node represents a line segment perpendicular to the X axis on the current X axis coordinate; and when traversing the edge, integrating and outputting the data of the related nodes into corresponding graphs. And the overlapped patterns are rapidly and accurately segmented and de-duplicated, and the cutting times are reduced as much as possible.

Description

Method and system for processing substrate graph based on jump table and scanning line
Technical Field
The invention belongs to the technical field of chip design, and particularly relates to a method and a system for processing a substrate graph based on a jump table and scanning lines.
Background
This is often encountered during processing of graphics on a substrate (substrate): there are multiple lvs layers of patterns on the substrate, the patterns of the same lvs layers do not overlap each other, but the patterns of different lvs layers may overlap each other. In the process of parasitic parameter extraction, for graphs overlapped with each other, only graphs at the upper layer are concerned in calculation, and for parts belonging to graphs at the lower layer, the parts should be removed in input so as to simplify calculation and avoid interference. In this process, the following requirements should be met: 1. the time complexity of the processing should be as small as possible. For N graphics to be processed, a temporal complexity of O (NlogN) and below should be achieved. 2. The pattern produced after the treatment should be as few rectangles as possible. 3. The new pattern generated after processing should be able to contain other information of the original pattern.
In the prior art, the polygon library of Boost provides intersection and union computation of polygons, but for graphics with different priorities, it is difficult to use it to directly perform intersection and union processing. At the same time, the boost library cannot guarantee that as few graphics as possible are produced.
Disclosure of Invention
In order to solve the above problems, the present invention is to provide a method and a system for processing a substrate pattern based on a skip list and a scan line, so as to quickly and accurately divide and de-duplicate an overlapped pattern, and reduce the number of cutting times as much as possible.
The first technical scheme provided by the invention is as follows: a method for processing a substrate pattern based on a jump table and scan lines, comprising the steps of: acquiring an in side and an out side of each graph based on all graphs on a substrate, wherein the attribute information of the in side and the out side comprises coordinate information and length information of each graph, the in side represents a line segment on the left side of the graph, and the out side represents a line segment on the right side of the graph; sequencing all the incoming edges and the outgoing edges from left to right, traversing all the incoming edges or the outgoing edges from left to right and creating data in the jump table; when traversing the entering edge, if the line segment represented by the entering edge is not in the jump table, adding the line segment of the entering edge into the jump table to create data; if the line segment of the entering edge is in the skip list, splitting the node corresponding to the line segment into a plurality of nodes according to the overlapping relation of the line segment and updating the skip list so as to realize the segmentation of the line segment corresponding to the entering edge into a plurality of new line segments; the node represents a line segment which is vertical to the X axis on the current X axis coordinate; and when traversing the edge, integrating and outputting the data of the relevant nodes into corresponding graphs, and updating the relevant nodes of the jump table.
Preferably, the coordinates of each graph are expressed as: (in-edge lower-end X-axis coordinates, in-edge lower-end Y-axis coordinates), (out-edge upper-end X-axis coordinates, out-edge upper-end Y-axis coordinates); the in-edge of each graph is expressed as (in-edge lower-end X-axis coordinates, in-edge lower-end Y-axis coordinates), (in-edge upper-end X-axis coordinates, in-edge upper-Y-axis coordinates), and the out-edge of each graph is expressed as (out-edge lower-end X-axis coordinates, out-edge lower-end Y-axis coordinates), (out-edge upper-end X-axis coordinates, out-edge upper-end Y-axis coordinates); the difference value between the X-axis coordinate of the outgoing side and the X-axis coordinate of the incoming side represents the length of the graph in the X-axis direction, and the Y-axis coordinate of the upper end of the outgoing side and the Y-axis coordinate of the lower end of the incoming side represent the length of the graph in the Y-axis direction.
Preferably, ordering all the incoming and outgoing edges from left to right further comprises: and acquiring the lower-end X-axis coordinate values of the input edge or the output edge, and arranging the input edge or the output edge from small to large according to the respective lower-end X-axis coordinate values.
Preferably, traversing all of the incoming edges or the outgoing edges from left to right and creating data in the jump table further comprises: creating data in the jump table based on the coordinates of the in/out edges as: the range is as follows: lower Y-axis coordinates of the in/out edges-upper Y-axis coordinates of the in/out edges, X-axis coordinates: x-axis coordinates of the in/out edges; the number of layers of the graph corresponding to the in-edge/out-edge is located.
Preferably, if the line segment entering the edge is in the skip list, splitting the node corresponding to the line segment into a plurality of nodes according to the overlapping relation of the line segment and updating the skip list further includes: acquiring nodes with overlapping relation with the current traversing entering edge in the skip list, and updating the skip list as follows based on Y-axis range information in the current entering edge and the stored nodes: if the upper end or the lower end of the incoming edge is in a certain node range, dividing the node into two or three nodes, wherein at least one node contains the information of the current incoming edge, and one or two nodes do not contain the information of the current incoming edge; if a certain section of Y-axis range of the current entering edge does not have a corresponding node, creating a corresponding node to cover the information of the section of entering edge; each node comprises the following information of a section range, namely a lower Y-axis coordinate and an upper Y-axis coordinate of the section corresponding to the node; x-axis coordinate information, namely the X-axis coordinates of the stored edges and the hierarchy of the graph in the interval.
Preferably, when traversing the edge, integrating and outputting the data of the relevant node into corresponding graphics, and updating the relevant node of the jump table further comprises: positioning the coordinates of the upper layer graph according to the coordinates of the current outgoing edge as (the X-axis coordinates of the current outgoing edge corresponding to the incoming edge and the Y-axis coordinates of the lower end of the current outgoing edge), (the X-axis coordinates of the current outgoing edge and the Y-axis coordinates of the upper end of the current outgoing edge); and updating the skip list data based on the coordinates of the original graph and the upper graph.
Preferably, the method further comprises adding multiple levels of indexes in the skip list to realize fast searching: searching the last position smaller than the current searching element on the highest-level index; jump to the next highest level index continues looking up until the lowest level is reached.
Based on the same conception, the invention also provides a system for processing the substrate graph based on the jump table and the scanning line, which comprises the following steps: the edge acquisition module is used for acquiring an in edge and an out edge of each graph based on all graphs on the substrate, wherein the attribute information of the in edge and the out edge comprises coordinate information and length information of each graph, the in edge represents a line segment on the left side of the graph, and the out edge represents a line segment on the right side of the graph; the data creation module is used for sequencing all the incoming edges and the outgoing edges from left to right, traversing all the incoming edges or the outgoing edges from left to right and creating data in the jump table; the data updating module is used for adding the line segment of the entering edge into the jump table to create data if the line segment represented by the entering edge is not in the jump table when traversing the entering edge; if the line segment of the entering edge is in the skip list, splitting the node corresponding to the line segment into a plurality of nodes according to the overlapping relation of the line segment and updating the skip list so as to realize the segmentation of the line segment corresponding to the entering edge into a plurality of new line segments; the node represents a line segment on the current X-axis coordinate; and when traversing the edge, integrating and outputting the data of the relevant nodes into corresponding graphs, and updating the relevant nodes of the jump table.
Based on the same conception, the invention also provides an electronic device characterized by comprising: a memory for storing a processing program; and the processor is used for realizing the method for processing the substrate graph based on the jump table and the scanning line when executing the processing program.
Based on the same conception, the invention also provides a readable storage medium, which is characterized in that the readable storage medium stores a processing program, and the processing program realizes the method for processing the substrate graph based on the jump table and the scanning line when being executed by a processor.
By adopting the technical scheme, the invention has the following advantages and positive effects compared with the prior art:
1. according to the technical scheme, the in-edge and the out-edge of all the patterns on the substrate are extracted, information of each in-edge and each out-edge is written into the jump table in a specific form, and the information of each pattern can be easily obtained according to the attribute information of the in-edge and the out-edge. The input edges and the output edges are traversed according to a certain rule, after all the input edges are traversed, the division of all the graphs on the substrate aiming at the Y-axis dimension can be realized, after all the output edges are traversed, the division of all the graphs aiming at the X-axis dimension is further realized on the basis of the division of the Y-axis dimension, and then it can be understood that in the case of N output graphs, only 2N edges (comprising the input edges and the output edges) are traversed in the calculation process, and only data of O (log N) time complexity is needed to be inserted, deleted or updated in the processing process of each edge. The total time complexity is thus approximately O (NlogN). The output pattern is rectangular with the smallest possible number.
2. During processing, a large number of data nodes may be generated in the data structure. These data nodes may be inserted or deleted frequently. In order to quickly retrieve relevant data nodes as much as possible and facilitate the operations of insertion and deletion, the technical solution of this embodiment uses the structure of the jump table to perform data management. And a multi-level index is added on the original data linked list, and quick searching is realized through the index. The last position smaller than the current searching element is searched on the highest-level index, and then the next highest-level index is jumped to continue searching until the lowest layer is jumped to. Thus, the searching, updating, inserting and deleting operations of the data can be completed in the time of O (log) under the condition of N nodes.
Drawings
The invention is described in further detail below with reference to the attached drawing figures, wherein:
FIG. 1 is a flow chart of a method for processing a substrate pattern based on a skip list and scan lines according to the present invention;
FIG. 2 is a schematic diagram of a process for processing a substrate pattern according to one embodiment of the invention;
FIG. 3 is a diagram of 3 patterns on a substrate according to one embodiment of the present invention;
FIG. 4 is a schematic diagram of the result output after the graph of FIG. 3 is processed according to the present invention.
Detailed Description
The invention is described in further detail below with reference to the drawings and the specific examples. Advantages and features of the invention will become more apparent from the following description and from the claims. It is noted that the drawings are in a very simplified form and utilize non-precise ratios, and are intended to facilitate a convenient, clear, description of the embodiments of the invention.
It should be noted that all directional indicators (such as up, down, left, right, front, and rear … …) in the embodiments of the present invention are merely used to explain the relative positional relationship, movement, etc. between the components in a particular posture (as shown in the drawings), and if the particular posture is changed, the directional indicator is changed accordingly.
First embodiment
As shown in fig. 1, the present embodiment provides a method for processing a substrate pattern based on a skip list and scan lines, which includes the following steps:
s100: acquiring an in side and an out side of each graph based on all graphs on a substrate, wherein the attribute information of the in side and the out side comprises coordinate information and length information of each graph, the in side represents a line segment on the left side of the graph, and the out side represents a line segment on the right side of the graph;
s200: sequencing all the incoming edges and the outgoing edges from left to right, traversing all the incoming edges or the outgoing edges from left to right and creating data in the jump table;
s300: when traversing the entering edge, if the line segment represented by the entering edge is not in the jump table, adding the line segment of the entering edge into the jump table to create data; if the line segment of the entering edge is in the skip list, splitting the node corresponding to the line segment into a plurality of nodes according to the overlapping relation of the line segment and updating the skip list so as to realize the segmentation of the line segment corresponding to the entering edge into a plurality of new line segments; the node represents a line segment which is vertical to the X axis on the current X axis coordinate;
s400: and when traversing the edge, integrating and outputting the data of the relevant nodes into corresponding graphs, and updating the relevant nodes of the jump table.
According to the technical scheme provided by the embodiment, the in-edges and the out-edges of all the patterns on the substrate are extracted, information of each in-edge and each out-edge is written into the jump table in a specific form, and the information of each pattern can be easily obtained according to the attribute information of the in-edge and the out-edge. The input edges and the output edges are traversed according to a certain rule, after all the input edges are traversed, the division of all the graphs on the substrate aiming at the Y-axis dimension can be realized, after all the output edges are traversed, the division of all the graphs aiming at the X-axis dimension is further realized on the basis of the division of the Y-axis dimension, and then it can be understood that in the case of N output graphs, only 2N edges (comprising the input edges and the output edges) are traversed in the calculation process, and only data of O (log N) time complexity is needed to be inserted, deleted or updated in the processing process of each edge. The total time complexity is thus approximately O (NlogN). The output pattern is rectangular with the smallest possible number.
Preferably, the coordinates of each graph are expressed as: (in-edge lower-end X-axis coordinates, in-edge lower-end Y-axis coordinates), (out-edge upper-end X-axis coordinates, out-edge upper-end Y-axis coordinates); the in-edge of each graph is expressed as (in-edge lower-end X-axis coordinates, in-edge lower-end Y-axis coordinates), (in-edge upper-end X-axis coordinates, in-edge upper-Y-axis coordinates), and the out-edge of each graph is expressed as (out-edge lower-end X-axis coordinates, out-edge lower-end Y-axis coordinates), (out-edge upper-end X-axis coordinates, out-edge upper-end Y-axis coordinates); the difference value between the X-axis coordinate of the outgoing side and the X-axis coordinate of the incoming side represents the length of the graph in the X-axis direction, and the Y-axis coordinate of the upper end of the outgoing side and the Y-axis coordinate of the lower end of the incoming side represent the length of the graph in the Y-axis direction.
The technical proposal of the embodiment can form a corresponding relation with the graph on the substrate according to the numerical value obtained by traversing based on the unified data representation rule during traversing by standardizing the coordinate representation of each graph, the in-edge representation of each graph and the out-edge representation of each graph, the subsequent operation is carried out based on the pattern on the substrate without deviation of the attribute of the actual pattern on the substrate, so that the process of the pattern on the substrate is possible to be automated.
Preferably, ordering all the incoming and outgoing edges from left to right further comprises: and acquiring the lower-end X-axis coordinate values of the input edge or the output edge, and arranging the input edge or the output edge from small to large according to the respective lower-end X-axis coordinate values.
The present embodiment provides a scheme for ordering the incoming edges and the outgoing edges, which aims at regularly ordering the incoming edges and the outgoing edges, and this is just an example, and it should be understood that if the ordering scheme from right to left is implemented for regularly ordering the incoming edges and the outgoing edges, it is also within the protection scope of the present invention.
Preferably, traversing all of the incoming edges or the outgoing edges from left to right and creating data in the jump table further comprises: creating data in the jump table based on the coordinates of the in/out edges as: the range is as follows: lower Y-axis coordinates of the in/out edges-upper Y-axis coordinates of the in/out edges, X-axis coordinates: x-axis coordinates of the in/out edges; the number of layers of the graph corresponding to the in-edge/out-edge is located.
The embodiment provides a representation mode of the attribute information of the input side/output side in the data table, wherein the representation mode lists all necessary information in the subsequent processing process, the representation mode is simple and clear, and the data structure is simple.
Preferably, if the line segment entering the edge is in the skip list, splitting the node corresponding to the line segment into a plurality of nodes according to the overlapping relation of the line segment and updating the skip list further includes: acquiring nodes with overlapping relation with the current traversing entering edge in the skip list, and updating the skip list as follows based on Y-axis range information in the current entering edge and the stored nodes: if the upper end or the lower end of the incoming edge is in a certain node range, dividing the node into two or three nodes, wherein at least one node contains the information of the current incoming edge, and one or two nodes do not contain the information of the current incoming edge; if a certain section of Y-axis range of the current entering edge does not have a corresponding node, creating a corresponding node to cover the information of the section of entering edge; each node comprises the following information of a section range, namely a lower Y-axis coordinate and an upper Y-axis coordinate of the section corresponding to the node; x-axis coordinate information, namely the X-axis coordinates of the stored edges and the hierarchy of the graph in the interval.
Preferably, when traversing the edge, integrating and outputting the data of the relevant node into corresponding graphics, and updating the relevant node of the jump table further comprises: positioning the coordinates of the upper layer graph according to the coordinates of the current outgoing edge as (the X-axis coordinates of the current outgoing edge corresponding to the incoming edge and the Y-axis coordinates of the lower end of the current outgoing edge), (the X-axis coordinates of the current outgoing edge and the Y-axis coordinates of the upper end of the current outgoing edge); and updating the skip list data based on the coordinates of the original graph and the upper graph.
When traversing the edge, combining the deduced coordinate information of the graph, repeating the same thought of edge entering according to the processing, and easily updating the data in the jump table.
Preferably, the method further comprises adding multiple levels of indexes in the skip list to realize fast searching: searching the last position smaller than the current searching element on the highest-level index; jump to the next highest level index continues looking up until the lowest level is reached.
The skip list is a linked list, and each node represents a line segment on the current X-axis coordinate. If the line segment represented by the edge is already in the jump table, splitting the node into a plurality of nodes according to the line segment overlapping relation, and updating the corresponding nodes. Corresponding to the graph, the original continuous line segment is segmented into a plurality of new line segments by representing a new incoming edge.
And if the current edge is the outgoing edge, integrating and outputting the data of the relevant nodes into corresponding graphs, and updating the relevant nodes of the skip list. Corresponding to the graph, the new appearance of the edge is represented to end the related graph and the related graph is output.
For example, referring to fig. 2, the process of processing the substrate pattern according to the present embodiment is shown, referring to fig. 3, 3 patterns on the substrate are shown as S1, S2, and S3, respectively, and coordinates of the pattern S1 are (0, 0), (20, 20), and are located at a lower layer. The coordinates of the graph S2 are (0, 10), (12, 12) at a higher layer. The graphic S3 coordinates (0, 5), (10, 7) are located at a high level.
Through the above step S100, the following in-edges and out-edges are generated:
edge 1: (0, 0), (0, 20);
edge entering 2: (0, 5), (0, 7);
edge entering 3: (0, 10), (0, 12);
edge 1: (10, 5), (10, 7);
edge 2: (12, 10), (12, 12);
edge 3: (20,0), (20, 20).
When traversing to entry 1 (0, 0), (0, 20), the creation of data in the skip list is: the range is as follows: 0-20, x-axis coordinates: 0, layer 1.
When traversing to entry side 2 (0, 5), (0, 7), the creation of data in the skip list is: the range is as follows: 0-5, x-axis information: (0, layer 1) →range: 5-7, x-axis information: (0, layer 1) (0, layer 2) →range: 7-20, x-axis information: (layer 0, layer 1).
When traversing to the entry side 3 (0, 10), (0, 12), the jump table creates the data as: the range is as follows: 0-5, x-axis information: (0, layer 1) →range: 5-7, x-axis information: (0, layer 1) (0, layer 2) →range: 7-10, x-axis information: (0, layer 1) →range: 10-12, x-axis information: (0, layer 1) (0, layer 2) →range: 12-20, x-axis information: (layer 0, layer 1).
When traversing to the out edge 1 (10, 5), (10, 7), the following information is available in the skip list: y-axis coordinates 5-7 and X-axis coordinate 0 begins the existing second layer of graphics. Thus by the time the edge comes out, the graph ends. Thus, rectangles (0, 5), (10, 7) can be output and the jump table updated: the range is as follows: 0-5, x-axis information: (0, layer 1) →range: 5-7, x-axis information: (10, layer 1) →range: 7-10, x-axis information: (0, layer 1) →range: 10-12, x-axis information: (0, layer 1) (0, layer 2) →range: 12-20, x-axis information: (layer 0, layer 1).
When traversing to the outgoing edge 2 (12, 10), (12, 12), the following information is available in the skip list: y-axis coordinates 10-12 and X-axis coordinate 0 begins the existing second layer of graphics. Thus by the time the edge comes out, the graph ends. The rectangles (0, 10), (12, 12) can be output and the jump table updated: the range is as follows: 0-5, x-axis information: (0, layer 1) →range: 5-7, x-axis information: (10, layer 1) →range: 7-10, x-axis information: (0, layer 1) →range: 10-12, x-axis information: (12, layer 1) →range: 12-20, x-axis information: (layer 0, layer 1).
When traversing to the outgoing edge 3 (0, 20), (20, 20), the following information is available in the skip list:
y-axis coordinates 0-5, X-axis coordinate 0 begins with layer 1 graphics.
Y-axis coordinates 5-7 and X-axis coordinate 10 begin with layer 1 graphics.
Y-axis coordinates 7-10 and X-axis coordinate 0 begins with layer 1 graphics.
Y-axis coordinates 10-12, X-axis coordinates 12 begin with layer 1 graphics.
Y-axis coordinates 12-20 and X-axis coordinate 0 begins with layer 1 graphics.
Skip list: range 0-5, x-axis information: (0, layer 1) →range: 5-7, x-axis information: (10, layer 1) →range: 7-10, x-axis information: (0, layer 1) →range: 10-12, x-axis information: (12, layer 1) →range: 12-20, x-axis information: (layer 0, layer 1).
The following graphs are thus output:
pattern 1 (0, 0), (20, 5);
pattern 2 (10, 5), (20, 7);
graphics 3 (0, 7), (20, 10);
graphics 4 (12, 10), (20, 12);
pattern 5 (0, 12), (20, 20).
After the output is completed, it is emptied. At this point the process is complete and the final output is shown in figure 4.
During processing, a large number of data nodes may be generated in the data structure. These data nodes may be inserted or deleted frequently. In order to quickly retrieve relevant data nodes as much as possible and facilitate the operations of insertion and deletion, the technical solution of this embodiment uses the structure of the jump table to perform data management. And a multi-level index is added on the original data linked list, and quick searching is realized through the index. The last position smaller than the current searching element is searched on the highest-level index, and then the next highest-level index is jumped to continue searching until the lowest layer is jumped to. Thus, the searching, updating, inserting and deleting operations of the data can be completed in the time of O (log) under the condition of N nodes.
Second embodiment
Based on the same conception, the invention also provides a system for processing the substrate graph based on the jump table and the scanning line, which comprises the following steps: the edge acquisition module is used for acquiring an in edge and an out edge of each graph based on all graphs on the substrate, wherein the attribute information of the in edge and the out edge comprises coordinate information and length information of each graph, the in edge represents a line segment on the left side of the graph, and the out edge represents a line segment on the right side of the graph; the data creation module is used for sequencing all the incoming edges and the outgoing edges from left to right, traversing all the incoming edges or the outgoing edges from left to right and creating data in the jump table; the data updating module is used for adding the line segment of the entering edge into the jump table to create data if the line segment represented by the entering edge is not in the jump table when traversing the entering edge; if the line segment of the entering edge is in the skip list, splitting the node corresponding to the line segment into a plurality of nodes according to the overlapping relation of the line segment and updating the skip list so as to realize the segmentation of the line segment corresponding to the entering edge into a plurality of new line segments; the node represents a line segment on the current X-axis coordinate; and when traversing the edge, integrating and outputting the data of the relevant nodes into corresponding graphs, and updating the relevant nodes of the jump table.
According to the technical scheme, the in-edges and the out-edges of all the graphs on the substrate are extracted, information of each in-edge and each out-edge is written into the jump table in a specific form, and the information of each graph can be easily obtained according to the attribute information of the in-edge and the out-edge. The input edges and the output edges are traversed according to a certain rule, after all the input edges are traversed, the division of all the graphs on the substrate aiming at the Y-axis dimension can be realized, after all the output edges are traversed, the division of all the graphs aiming at the X-axis dimension is further realized on the basis of the division of the Y-axis dimension, and then it can be understood that in the case of N output graphs, only 2N edges (comprising the input edges and the output edges) are traversed in the calculation process, and only data of O (log N) time complexity is needed to be inserted, deleted or updated in the processing process of each edge. The total time complexity is thus approximately O (NlogN). The output pattern is rectangular with the smallest possible number.
Third embodiment
Based on the same conception, the invention also provides an electronic device characterized by comprising: a memory for storing a processing program; and the processor is used for realizing the method for processing the substrate graph based on the jump table and the scanning line when executing the processing program.
Based on the same conception, the invention also provides a readable storage medium, which is characterized in that the readable storage medium stores a processing program, and the processing program realizes the method for processing the substrate graph based on the jump table and the scanning line when being executed by a processor.
The method for processing the substrate pattern based on the jump table and the scan line may be stored in a computer readable storage medium if implemented in the form of program instructions and sold or used as a separate product. Based on such understanding, the technical solution of the present embodiment may be essentially or a part contributing to the prior art or all or part of the technical solution may be embodied in the form of software, where the computer software is stored in a storage medium, and includes several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in the embodiments of the present disclosure. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-only memory (ROM), a random access memory (Random access memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
It will be apparent to those skilled in the art that, for convenience and brevity of description, reference may be made to the corresponding procedures in the foregoing method embodiments for identifying the specific implementation of the above-described system and apparatus.
The embodiments of the present invention have been described in detail with reference to the drawings, but the present invention is not limited to the above embodiments. Even if various changes are made to the present invention, it is within the scope of the appended claims and their equivalents to fall within the scope of the invention.

Claims (10)

1. A method for processing a substrate pattern based on a jump table and scan lines, comprising the steps of:
acquiring an in side and an out side of each graph based on all graphs on a substrate, wherein the attribute information of the in side and the out side comprises coordinate information and length information of each graph, the in side represents a line segment on the left side of the graph, and the out side represents a line segment on the right side of the graph;
sequencing all the incoming edges and the outgoing edges from left to right, traversing all the incoming edges or the outgoing edges from left to right and creating data in the jump table;
when traversing the entering edge, if the line segment represented by the entering edge is not in the jump table, adding the line segment of the entering edge into the jump table to create data; if the line segment of the entering edge is in the skip list, splitting the node corresponding to the line segment into a plurality of nodes according to the overlapping relation of the line segment and updating the skip list so as to realize the segmentation of the line segment corresponding to the entering edge into a plurality of new line segments; the node represents a line segment which is vertical to the X axis on the current X axis coordinate;
and when traversing the edge, integrating and outputting the data of the relevant nodes into corresponding graphs, and updating the relevant nodes of the jump table.
2. The method of processing a substrate pattern based on a skip list and scan lines of claim 1, wherein the coordinates of each pattern are expressed as: (in-edge lower-end X-axis coordinates, in-edge lower-end Y-axis coordinates), (out-edge upper-end X-axis coordinates, out-edge upper-end Y-axis coordinates);
the in-edge of each graph is expressed as (in-edge lower-end X-axis coordinates, in-edge lower-end Y-axis coordinates), (in-edge upper-end X-axis coordinates, in-edge upper-Y-axis coordinates), and the out-edge of each graph is expressed as (out-edge lower-end X-axis coordinates, out-edge lower-end Y-axis coordinates), (out-edge upper-end X-axis coordinates, out-edge upper-end Y-axis coordinates);
the difference value between the X-axis coordinate of the outgoing side and the X-axis coordinate of the incoming side represents the length of the graph in the X-axis direction, and the Y-axis coordinate of the upper end of the outgoing side and the Y-axis coordinate of the lower end of the incoming side represent the length of the graph in the Y-axis direction.
3. The method of processing a substrate pattern based on a skip list and scan lines of claim 1, wherein ordering all incoming and outgoing edges from left to right further comprises:
and acquiring the lower-end X-axis coordinate values of the input edge or the output edge, and arranging the input edge or the output edge from small to large according to the respective lower-end X-axis coordinate values.
4. The method of processing a substrate pattern based on a skip list and scan lines of claim 3, wherein traversing all of the incoming edges or the outgoing edges from left to right and creating data in the skip list further comprises:
creating data in the jump table based on the coordinates of the in/out edges as: the range is as follows: lower Y-axis coordinates of the in/out edges-upper Y-axis coordinates of the in/out edges, X-axis coordinates: x-axis coordinates of the in/out edges; the number of layers of the graph corresponding to the in-edge/out-edge is located.
5. The method according to claim 4, wherein if the line segment of the incoming line is in the skip list, splitting the node corresponding to the line segment into a plurality of nodes according to the overlapping relationship of the line segment and updating the skip list further comprises:
acquiring nodes with overlapping relation with the current traversing entering edge in the skip list, and updating the skip list as follows based on Y-axis range information in the current entering edge and the stored nodes: if the upper end or the lower end of the incoming edge is in a certain node range, dividing the node into two or three nodes, wherein at least one node contains the information of the current incoming edge, and one or two nodes do not contain the information of the current incoming edge; if a certain section of Y-axis range of the current entering edge does not have a corresponding node, creating a corresponding node to cover the information of the section of entering edge;
each node comprises the following information of a section range, namely a lower Y-axis coordinate and an upper Y-axis coordinate of the section corresponding to the node; x-axis coordinate information, namely the X-axis coordinates of the stored edges and the hierarchy of the graph in the interval.
6. The method of claim 5, wherein when traversing the outgoing edge, integrating and outputting data of the relevant nodes into corresponding graphs, and updating the relevant nodes of the jump table further comprises:
positioning the coordinates of the upper layer graph according to the coordinates of the current outgoing edge as (the X-axis coordinates of the current outgoing edge corresponding to the incoming edge and the Y-axis coordinates of the lower end of the current outgoing edge), (the X-axis coordinates of the current outgoing edge and the Y-axis coordinates of the upper end of the current outgoing edge);
and updating the skip list data based on the coordinates of the original graph and the upper graph.
7. The method of claim 6, further comprising adding a multi-level index to the skip list to enable fast find:
searching the last position smaller than the current searching element on the highest-level index;
jump to the next highest level index continues looking up until the lowest level is reached.
8. A system for processing a substrate pattern based on a skip list and scan lines, comprising:
the edge acquisition module is used for acquiring an in edge and an out edge of each graph based on all graphs on the substrate, wherein the attribute information of the in edge and the out edge comprises coordinate information and length information of each graph, the in edge represents a line segment on the left side of the graph, and the out edge represents a line segment on the right side of the graph;
the data creation module is used for sequencing all the incoming edges and the outgoing edges from left to right, traversing all the incoming edges or the outgoing edges from left to right and creating data in the jump table;
the data updating module is used for adding the line segment of the entering edge into the jump table to create data if the line segment represented by the entering edge is not in the jump table when traversing the entering edge; if the line segment of the entering edge is in the skip list, splitting the node corresponding to the line segment into a plurality of nodes according to the overlapping relation of the line segment and updating the skip list so as to realize the segmentation of the line segment corresponding to the entering edge into a plurality of new line segments; the node represents a line segment on the current X-axis coordinate; and when traversing the edge, integrating and outputting the data of the relevant nodes into corresponding graphs, and updating the relevant nodes of the jump table.
9. An electronic device, comprising:
a memory for storing a processing program;
a processor which, when executing the processing program, implements the method for processing a substrate pattern based on a skip list and a scan line as claimed in any one of claims 1 to 7.
10. A readable storage medium, wherein a processing program is stored on the readable storage medium, and when executed by a processor, the processing program implements the method for processing a substrate pattern based on a skip list and a scan line according to any one of claims 1 to 7.
CN202311634409.4A 2023-12-01 2023-12-01 Method and system for processing substrate graph based on jump table and scanning line Pending CN117745870A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311634409.4A CN117745870A (en) 2023-12-01 2023-12-01 Method and system for processing substrate graph based on jump table and scanning line

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311634409.4A CN117745870A (en) 2023-12-01 2023-12-01 Method and system for processing substrate graph based on jump table and scanning line

Publications (1)

Publication Number Publication Date
CN117745870A true CN117745870A (en) 2024-03-22

Family

ID=90280322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311634409.4A Pending CN117745870A (en) 2023-12-01 2023-12-01 Method and system for processing substrate graph based on jump table and scanning line

Country Status (1)

Country Link
CN (1) CN117745870A (en)

Similar Documents

Publication Publication Date Title
KR100951132B1 (en) System and method for performing processing, such as spreadsheet processing
US7802305B1 (en) Methods and apparatus for automated redaction of content in a document
CN105339931B (en) Method and apparatus for processing data containers
CN112035667A (en) Knowledge graph display method and device and terminal equipment
US7046246B2 (en) Graphic editing apparatus graphic editing method and storage medium on which is recorded a program for graphic editing
CN103164489A (en) Quick comparative method for integrated circuit domain data base
CN112948039A (en) Page display method, device, equipment and storage medium
US7624124B2 (en) System and method for assisting generation of business specification
CN108959359A (en) A kind of uniform resource locator semanteme De-weight method, device, equipment and medium
CN109189343B (en) Metadata disk-dropping method, device, equipment and computer-readable storage medium
WO2024078122A1 (en) Database table scanning method and apparatus, and device
CN109101974A (en) Denoising method and denoising device for threadiness interference
CN117745870A (en) Method and system for processing substrate graph based on jump table and scanning line
US7302377B1 (en) Accelerated event queue for logic simulation
CN115544405A (en) Page rendering method and device, electronic equipment and storage medium
Wong et al. A scalable and accurate rectilinear Steiner minimal tree algorithm
CN113656127A (en) Page routing method, device, storage medium and processor
US20010010518A1 (en) Graphic editing deviec, graphic editing mothod and storage medium for storing a program
EP2558931A1 (en) Injection of data into a software application
JP2010250569A (en) Image retrieval device
CN115391052B (en) Robot task processing method and device, electronic equipment and storage medium
CN115827930B (en) Data query optimization method, system and device for graph database
JPS6381573A (en) Drawing information management method
CN113674296A (en) Region cutting method and device, electronic equipment and storage medium
CN115167854A (en) Processing method and device for virtual document object model tree

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination