CN110689569B - Integrated circuit layout field identification and grid subdivision processing method and device - Google Patents

Integrated circuit layout field identification and grid subdivision processing method and device Download PDF

Info

Publication number
CN110689569B
CN110689569B CN201911254930.9A CN201911254930A CN110689569B CN 110689569 B CN110689569 B CN 110689569B CN 201911254930 A CN201911254930 A CN 201911254930A CN 110689569 B CN110689569 B CN 110689569B
Authority
CN
China
Prior art keywords
polygon
layer
edge
triangle
vertexes
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.)
Active
Application number
CN201911254930.9A
Other languages
Chinese (zh)
Other versions
CN110689569A (en
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.)
Beijing Wisechip Simulation Technology Co Ltd
Original Assignee
Beijing Weizhi Jiachen Technology Development 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 Beijing Weizhi Jiachen Technology Development Co ltd filed Critical Beijing Weizhi Jiachen Technology Development Co ltd
Priority to CN201911254930.9A priority Critical patent/CN110689569B/en
Publication of CN110689569A publication Critical patent/CN110689569A/en
Application granted granted Critical
Publication of CN110689569B publication Critical patent/CN110689569B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • G06T3/06
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/155Segmentation; Edge detection involving morphological operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

The embodiment of the application discloses a method and a device for integrated circuit layout field identification and grid subdivision processing. The method comprises the steps of vertically projecting a plurality of polygons of each layer of integrated circuit layout to the same layer to form a Delaunay triangular grid; combining the polygon information and the layer information of each overlapped polygon edge after projection; aligning the mesh to each polygon side, calculating intersection points of each polygon side, and increasing the intersection points to polygon vertexes and mesh nodes to form a first triangle mesh, wherein the polygon sides form a set by a side exchange method, the polygon sides are taken out and exchanged, and the exchange is finished if the set is an empty set; superposing the layer information of each polygon edge to all triangles in each polygon; identifying and collecting the triangular and polygonal edges contained in each parallel flat plate field according to the layer information of the triangular and polygonal edges; and carrying out mesh subdivision processing on the triangles in each parallel flat plate field domain. The method and the device can ensure the accuracy and the high efficiency of the field identification and grid subdivision processing method.

Description

Integrated circuit layout field identification and grid subdivision processing method and device
Technical Field
The invention relates to the field of integrated circuit layout field identification and grid subdivision processing, in particular to a method and a device for integrated circuit layout field identification and grid subdivision processing.
Background
The integrated circuit layout is an intermediate link between the integrated circuit schematic diagram and the integrated circuit process realization and is an essential important link.
Because the thickness and the interlayer spacing of the multilayer integrated circuit board are far smaller than the size of the board, the three-dimensional calculation field of the multilayer integrated circuit board can be simplified into a plurality of two-dimensional calculation fieldsThe field area is a parallel flat plate field area coupled with the upper layer and the lower layer, namely a propagation area of electromagnetic waves. Parallel plate fields refer to one or more dielectric regions sandwiched between common areas of projected layers when polygons of different metal layers of a multi-layer integrated circuit layout are vertically projected onto the same layer. If the multi-layer integrated circuit hasNThe layer comprises a plurality of polygonal metal plates, thenN*(N-1)/2 possible dielectric regions. When using this two-dimensional computational field to compute the propagation of an electromagnetic wave in a dielectric between multiple integrated circuit metal layers, it is first necessary to identify such parallel plate fields. Because the layouts of each layer of an actual multilayer integrated circuit are very complicated and different, after the polygons of the multilayer layouts are projected to the same layer, identifying a plurality of parallel flat plate fields formed by the polygons is challenging work.
In the prior art, identify a keyNThe parallel flat plate field of the integrated circuit of the layer metal plate is characterized in that the common area (intersection) of polygons on the two layers of metal plates is sequentially compared from the lowest layer metal plate to the top, and the common area (intersection) is the parallel flat plate field between the two layers of metal plates. After the comparison of the layer of metal plate with the layer of metal plate above the layer of metal plate is completed, the obtained intersection is subtracted from the polygon of the layer of metal plate before the comparison with the upper layer of metal plate is carried out, and the polygon of the layer of metal plate in the next comparison is used as the polygon of the layer of metal plate.
However, in the process of implementing the present invention, the inventor finds that, in the prior art, when a triangular mesh is aligned to each edge of a plurality of polygons according to an edge exchange method in the process of performing field identification and mesh subdivision processing on an integrated circuit layout, exchange of the edges of the polygons meeting conditions is easily omitted or repeatedly performed, so that the accuracy, integrity and efficiency of the edge exchange method cannot be guaranteed, and the accuracy and efficiency of the field identification and mesh subdivision processing method are affected.
Disclosure of Invention
The embodiment of the application provides a field domain identification and grid subdivision processing method and device for an integrated circuit layout, which can avoid omission or repeated edge processing of polygons meeting conditions when an edge exchange method is executed in the field domain identification and grid subdivision processing process, so as to ensure the accuracy, integrity and high efficiency of the edge exchange method and further ensure the accuracy and high efficiency of the field domain identification and grid subdivision processing method.
In a first aspect, an embodiment of the present application provides a method for integrated circuit layout field identification and grid subdivision processing, where the method includes:
acquiring a plurality of polygons of a multilayer integrated circuit layout, wherein the polygons comprise a plurality of vertexes;
vertically projecting a plurality of polygons of each layer to the same layer, and forming a Delaunay triangular mesh with polygon vertexes as mesh nodes according to a Delaunay triangulation algorithm, wherein each side of each polygon comprises preset polygon information of the polygon and layer information of the layer where the polygon is located;
merging the polygon information and layer information of the projected and overlapped polygon edges;
aligning the Delaunay triangular mesh to each side of the polygons according to a side exchange method, simultaneously calculating intersection points of the polygon sides and adding the intersection points as vertexes of the polygons and nodes of the Delaunay triangular mesh to form a first triangular mesh, wherein the side exchange method sorts the sides of the polygons meeting conditions to form a set, takes out the sides of the polygons according to the sort, and finishes the exchange if the set is an empty set after the exchange is carried out on the sides of the polygons;
based on the first triangular mesh, layer information of each polygon edge is superposed to all triangles in each polygon based on Boolean operation;
identifying and collecting the triangular edges and the polygonal edges contained in each parallel flat plate field by a parallel flat plate field identification method according to the layer information of the triangular edges and the polygonal edges;
and according to the calculation precision requirement and the common edges of different parallel flat plate fields, carrying out self-adaptive mesh subdivision processing on the triangles in each parallel flat plate field.
As a possible implementation, the aligning the Delaunay triangular mesh to each of the edges of the polygons according to an edge swapping method, and simultaneously calculating intersections of the edges of the polygons and adding the intersections as vertices of the polygons and nodes of the Delaunay triangular mesh to form a first triangular mesh, where the edge swapping method sorts the edges of the polygons that meet a condition to form a set, takes out the edges of the polygons according to the sort, and after performing the swapping, if the set is an empty set, the swapping is ended, including:
collecting all the edges of the polygon which are not the common edge of the two triangles, and sorting the edges according to the edge lengths to form a setLost
From the collectionLostTaking out the side with the longest side length
Figure 455801DEST_PATH_IMAGE001
And from the collectionLostRemoving;
from the edge
Figure 129359DEST_PATH_IMAGE002
One vertex ofAStarting from, searching for including said vertexAAnd the vertexEDIs located at the edge
Figure 531521DEST_PATH_IMAGE002
Triangle delta of both sidesAEDExchanging said triangle deltaAEDTriangle delta with its neighborDEFGet a triangle deltaAEFAnd deltaAFDWherein the neighbor triangle is a triangle having a common side with the triangle;
repeating the swapping of the triangle's common edge with its neighbor triangles until the edge
Figure 669242DEST_PATH_IMAGE001
Is a common edge of two neighboring triangles;
if the edge is searched
Figure 865868DEST_PATH_IMAGE001
If the intersected edge is the edge of another polygon, a vertex and a mesh node are added at the intersection point of the two edges, the mesh node is inserted into the Delaunay triangular mesh, the mesh node divides the two adjacent triangles into four triangles, and the vertex divides the two intersected edges into four edges which share the vertex;
determining the setLostIf it is not, then re-selecting said setLostTake the longest edge and remove it from the setLostAnd if so, ending the exchange to form a first triangular mesh.
As a possible embodiment, the merging the polygon information and the layer information of the plurality of polygon edges that coincide after the projection includes:
sorting all polygon vertexes, searching vertexes of the polygon with the distance between the vertexes smaller than a preset threshold value for each vertex which is not defined as a coincident vertex according to a sorting result, and defining the vertexes and the searched vertexes as a group of coincident vertexes;
for each group of coincident vertexes, taking the gravity center of each group of coincident vertexes as a newly combined vertex, and replacing all vertexes in the group of coincident vertexes with the newly combined vertexes, wherein the associated sides of the newly combined vertexes are combined with the associated sides of all vertexes in the group of coincident vertexes, and the associated sides of the vertexes of the polygon are polygon sides of which one end point is the vertex of the polygon;
based on the associated edges of the vertices of the polygon, for each polygon vertex, two by two comparing all the associated edges, if two edgese,fIncluding two identical end points, the two edges being coincident edges, and deleting any one edgeeUsing said edgefInstead of originally including the edgeeAnd the corresponding side of the polygon of (2), and combining the sideseDeleting from the list of associated edges for the vertex;
the rest of the edgefLayer information of as primary sidee,fOf the layer information or, the remaining said edgesfIs set as the primary sidee,fMerging the polygon information of (1);
and repeating the pairwise comparison of the associated edges until all the coincident edges are processed.
As a possible implementation, the superimposing, based on the first triangular mesh, layer information of each polygon edge to all triangles in each polygon based on a boolean operation includes:
setting the layer information of all triangles to be null;
for each polygon projected to the same layerPObtaining layer information of the layer where the layer is locatediSet of settingsFrontFor the empty set, take the polygonPAny edgeeLeft triangle oftIf said left triangle istLayer information of (2) is not superimposed on the polygonPLayer information of the layeriLet the left triangletJoining the collectionFrontThe left triangletLayer information of (2) superimposing said polygonPLayer information of the layeriWherein the polygonPAny edgeeIs a left triangle including the sideeAnd the triangle sideeDirection and polygon ofPEdgeeTriangles with the same direction;
from the collectionFrontTake out a triangletAnd from the collectionFrontIf the triangle is removedtDoes not overlay the polygon with layer information of any one or more of the three neighboring trianglesPLayer information of the layeriAnd the common side is not polygonPAny side of the triangle, then the triangle is formedtThe one or more neighbor triangles of (a) join the setFrontAnd adding a new one to said collectionFrontThe layer information of the triangle is superimposed on the polygonPLayer information of the layeriWherein the common edge refers to the triangletAdjacent triangles and said triangletA common edge of (a);
determining the setFrontIf it is not, then re-selecting said setFrontFetching a triangle from said setFrontIs removed and continuedPerforming the superposition based on the Boolean operation until the setFrontIf the operation is empty, continuing the next operation;
judging whether all the polygons are processed or not, if so, finishing the superposition; if not, returning to continue processing the rest polygons.
As a possible implementation, the identifying and collecting, by a parallel flat panel field identification method, the triangle and the polygon edge included in each parallel flat panel field according to the layer information of the triangle and the polygon edge includes:
setting all the parallel flat-plate fields: (i,j) Set of polygonspoly(i,j) And triangle settri(i,j) Empty, the parallel flat plate field (i,j) For the metal layer of the multi-layer integrated circuit layoutiLayer and the firstjA parallel plate field formed by the layer and its internal medium, wherein the layer and its internal medium form a parallel plate fieldiAndjis the layer of the metal layer;
selecting an unprocessed triangletOr polygonal sideseStarting from the lowest level, according to said triangletOr polygonal sideseLayer information of (2) identifies the secondiFirst appearance of layer metal layer upwardjA layer of a metal layer,j>ithe triangle is formedtJoin into the collectiontri(i,j) In or around the polygon edgeeIs added to thepoly(i,j) To collect the triangle and polygon sides contained by each of the parallel plate fields;
judging the metal layeriIf the highest layer is not, continuing the next operation, and if not, performing the next operationjIs assigned to theiReturning to continue according to the triangletOr polygonal sideseLayer information of, determining the secondiFirst occurrence on a layerjA layer metal layer;
and judging whether all the triangle and polygon edges are identified, if so, finishing the identification, otherwise, returning to continuously select an unprocessed triangle or polygon edge, and identifying and collecting.
As a possible implementation, the performing adaptive mesh subdivision on the triangles in each parallel flat field according to the computation accuracy requirement and the common edge of different parallel flat fields includes:
obtaining the vertexes of a plurality of polygons of each parallel flat plate field, and forming a second triangular mesh according to a Delaunay triangulation algorithm;
aligning the second triangular mesh to the sides of a plurality of polygons of each parallel flat plate field according to the identified parallel flat plate fields, and deleting triangles outside each parallel flat plate field to form a third triangular mesh;
sequentially for each of the parallel flat field in the third triangular mesh(s) ((i,j) Carrying out mesh subdivision processing according to the priority sequence of first priority control on the quality of the mesh and second priority control on the size of the mesh;
meshing the common area of two adjacent parallel flat plate fields, wherein if the parallel flat plate fields (a)i,j) Polygonal sideeThe layer information of (a) includes both the parallel flat plate field(s) ((i,j) And a parallel plate field (l,m) Whereini,j,l,mIf two numbers are equal, the polygon edgeeThe corresponding region is a parallel flat plate field (i,j) And a parallel plate field (l,m) Defining the common area as an inter-plate coupling area, saidi,j,l,mIs the layer of the metal layer;
judging whether the quality and size of the grids of all the parallel flat plate fields meet preset values, if so, finishing the grid subdivision, and if not, returning to continue to each parallel flat plate field (i,j) And carrying out grid subdivision processing.
As a possible implementation, the controlling the size of the mesh is to determine the size of the largest mesh subdivided by the mesh according to the highest frequency to be calculated, and the calculation formula of the size of the largest mesh is as follows:
Figure 587574DEST_PATH_IMAGE003
wherein the content of the first and second substances,l maxis the size of the largest mesh size,
Figure 793427DEST_PATH_IMAGE004
is the wavelength of the electromagnetic wave corresponding to the highest frequency,Fto calculate the control coefficients for the accuracy requirements.
In a second aspect, an embodiment of the present application provides an integrated circuit layout field identification and grid subdivision processing apparatus, including:
the acquisition module is used for acquiring a plurality of polygons of a multilayer integrated circuit layout, wherein the polygons comprise a plurality of vertexes;
the device comprises a first processing module, a second processing module and a third processing module, wherein the first processing module is used for vertically projecting a plurality of polygons of each layer to the same layer and forming a Delaunay triangular mesh taking polygon vertexes as mesh nodes according to a Delaunay triangulation algorithm, and each side of each polygon comprises preset polygon information of the polygon and layer information of the layer;
the second processing module is used for combining the polygon information and the layer information of the projected and superposed polygon edges;
a third processing module, configured to align the Delaunay triangular mesh to each of the plurality of polygons according to a side switching method, calculate intersection points of the plurality of polygon sides, and add the intersection points as vertices of the polygons and nodes of the Delaunay triangular mesh to form a first triangular mesh, where the side switching method sorts the sides of the polygons that meet a condition to form a set, extracts the sides of the polygons according to the sort, and ends the switching if the set is an empty set after the switching is performed on the sides of the polygons;
a fourth processing module, configured to superimpose, based on the first triangular mesh, layer information of each polygon edge onto all triangles in each polygon based on boolean operations;
the fifth processing module is used for identifying and collecting the triangular and polygonal edges contained in each parallel flat plate field by a parallel flat plate field identification method according to the layer information of the triangular and polygonal edges;
and the sixth processing module is used for performing adaptive mesh subdivision processing on the triangles in each parallel flat plate field according to the calculation precision requirement and the common edges of different parallel flat plate fields.
As a possible implementation, the second processing module includes:
the sorting and searching unit is used for sorting all polygon vertexes, searching the vertexes of the polygon with the distance between the vertexes smaller than a preset threshold value for each vertex which is not defined as a coincident vertex according to a sorting result, and defining the vertex and the searched vertexes as a group of coincident vertexes;
the coincident vertex processing unit is used for taking the gravity center of each group of coincident vertexes as a newly combined vertex, replacing all vertexes in the group of coincident vertexes with the newly combined vertex, and combining the associated sides of the newly combined vertexes with the associated sides of all vertexes in the group of coincident vertexes, wherein the associated side of the vertex of the polygon is a polygon side of which one endpoint is the vertex of the polygon;
a comparing and deleting unit for comparing every two of the associated sides of each polygon vertex based on the associated sides of the polygon vertex, if two sidese,fIncluding two identical end points, the two edges being coincident edges, and deleting any one edgeeUsing said edgefInstead of originally including the edgeeAnd the corresponding side of the polygon of (2), and combining the sideseDeleting from the list of associated edges for the vertex;
a setting unit for setting the remaining sidesfLayer information of as primary sidee,fOf the layer information or, the remaining said edgesfIs set as the primary sidee,fMerging the polygon information of (1);
and the repeating unit is used for repeating the pairwise comparison of the associated edges until all the coincident edges are processed.
As a possible implementation, the fifth processing module includes:
a first processing unit for setting all the parallel flat-plate fields (i,j) Set of polygonspoly(i,j) And triangle settri(i,j) Empty, the parallel flat plate field (i,j) For the metal layer of the multi-layer integrated circuit layoutiLayer and the firstjA parallel plate field formed by the layer and its internal medium, wherein the layer and its internal medium form a parallel plate fieldiAndjis the layer of the metal layer;
a second processing unit for selecting an unprocessed triangletOr polygonal sideseStarting from the lowest level, according to said triangletOr polygonal sideseLayer information of (2) identifies the secondiFirst appearance of layer metal layer upwardjA layer of a metal layer,j>ithe triangle is formedtJoin into the collectiontri(i,j) In or around the polygon edgeeIs added to thepoly(i,j) To collect the triangle and polygon sides contained by each of the parallel plate fields;
a third processing unit for judging the metal layeriIf the highest layer is not, continuing the next operation, and if not, performing the next operationjIs assigned to theiReturning to continue according to the triangletOr polygonal sideseLayer information of, determining the secondiFirst occurrence on a layerjA layer metal layer;
and the fourth processing unit is used for judging whether all the triangle and polygon edges are identified completely, if so, finishing the identification, and if not, returning to continuously select an unprocessed triangle or polygon edge for identification and collection.
The embodiment of the application has the following beneficial effects:
according to the method, a plurality of polygons with a plurality of vertexes in a multilayer integrated circuit layout are vertically projected to the same layer, a Delaunay triangular mesh with the polygon vertexes as mesh nodes is formed according to a Delaunay triangulation algorithm, and each side of each polygon comprises preset polygon information of the polygon and layer information of the layer where the polygon is located; merging the polygon information and layer information of the projected and overlapped polygon edges; aligning the Delaunay triangular mesh to each side of the polygons according to a side exchange method, simultaneously calculating intersection points of the polygon sides and adding the intersection points as vertexes of the polygons and nodes of the Delaunay triangular mesh to form a first triangular mesh, wherein the side exchange method sorts the sides of the polygons meeting conditions to form a set, takes out the sides of the polygons according to the sort, and finishes the exchange if the set is an empty set after the exchange is carried out on the sides of the polygons; superposing the layer information of each polygon edge to all triangles in each polygon based on Boolean operation; identifying and collecting the triangular edges and the polygonal edges contained in each parallel flat plate field by a parallel flat plate field identification method according to the layer information of the triangular edges and the polygonal edges; according to the calculation precision requirement and the common edges of different parallel flat plate fields, the self-adaptive mesh subdivision processing is carried out on the triangles in each parallel flat plate field, the omission or repeated exchange of the polygon edges meeting the conditions can be avoided when the edge exchange method is executed in the field identification and mesh subdivision processing process, the accuracy, the integrity and the high efficiency of the edge exchange method are ensured, and the accuracy and the high efficiency of the field identification and mesh subdivision processing method are further ensured.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic flowchart of an embodiment of a method for integrated circuit layout field identification and grid subdivision processing provided by the present application.
Fig. 2 is a schematic diagram illustrating that the Delaunay triangular meshes are aligned to the edges of a plurality of polygons in a three-layer integrated circuit layout in the embodiment of the integrated circuit layout field identification and mesh subdivision processing method provided by the present application.
Fig. 3 is a schematic diagram of layer information of each triangle where the Delaunay triangle mesh is aligned to the edges of multiple polygons of a three-layer integrated circuit layout in the embodiment of the integrated circuit layout field identification and mesh subdivision processing method provided by the present application.
Fig. 4 is a schematic diagram of a three-layer integrated circuit layout parallel flat plate field recognition and grid subdivision processing result in the integrated circuit layout field recognition and grid subdivision processing method embodiment provided by the present application.
Fig. 5 is a schematic structural diagram of an embodiment of an integrated circuit layout field identification and grid subdivision processing apparatus provided in the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention clearer, the technical solutions of the present invention will be described in detail through embodiments with reference to the accompanying drawings in the examples of the present invention. In the description of the present application, "a plurality" means two or more unless otherwise specified. In the description of the present application, "first", "second", "third", "fourth", "fifth", and the like are used only for distinguishing one from another, and do not indicate the degree of importance, the order, and the like thereof.
Referring to fig. 1 to fig. 4, an embodiment of the present application provides a method for integrated circuit layout field identification and grid subdivision processing, where as shown in the figure, the method mainly includes:
step S1, acquiring a plurality of polygons of a multilayer integrated circuit layout, wherein the polygons comprise a plurality of vertexes;
step S2, vertically projecting a plurality of polygons of each layer to the same layer, and forming a Delaunay triangular mesh with polygon vertexes as mesh nodes according to a Delaunay triangulation algorithm, wherein each side of the polygon comprises preset polygon information of the polygon and layer information of the layer;
step S3, merging the polygon information and layer information of the projected multiple overlapped polygon edges;
step S4, aligning the Delaunay triangular mesh to each side of the polygons according to a side exchange method, calculating intersection points of the polygon sides, and adding new intersection points as vertices of the polygons and nodes of the Delaunay triangular mesh to form a first triangular mesh, wherein the side exchange method sorts the sides of the polygons that meet the conditions to form a set, extracts the sides of the polygons according to the sort, and ends the exchange if the set is an empty set after the exchange;
step S5, based on the first triangular mesh, superimposing the layer information of each polygon edge to all triangles in each polygon based on Boolean operation;
step S6, identifying and collecting the triangle and polygon sides contained in each parallel flat plate field by a parallel flat plate field identification method according to the layer information of the triangle and the polygon sides;
and step S7, according to the calculation precision requirement and the common edge of different parallel flat plate fields, carrying out self-adaptive mesh subdivision processing on the triangles in each parallel flat plate field.
By adopting the method, omission or repeated exchange of the polygon sides meeting the conditions can be avoided when the side exchange method is executed in the field domain identification and grid subdivision processing process, so that the accuracy, the integrity and the high efficiency of the side exchange method are ensured, and the accuracy and the high efficiency of the field domain identification and grid subdivision processing method are further ensured.
Wherein the polygon is defined asNStrip (NNot less than 3) line segments are sequentially connected end to form a closed graph, and the end points of the line segments form polygon vertexes. If the vertexes of the polygons are arranged anticlockwise, defining the polygons as positive, and corresponding to the conductive areas of the integrated circuit layout in the polygons; if the polygon vertexes are arranged clockwise, defining the polygon as negative, and corresponding to the integrated circuit layout insulation area in the polygon; the directions of all triangles in the Delaunay triangular mesh formed according to the Delaunay triangulation algorithm are positive. Electromagnetic wave on super gauge calculated by numerical calculation methodWhen the integrated circuit is propagated, a conductive region, a dielectric layer and a parallel flat plate field formed by the conductive region and the dielectric layer of the integrated circuit layout need to be considered; the multilayer integrated circuit may also include a multilayer very large scale integrated circuit.
Further, the polygon information of the polygon where each edge of the polygon is located can distinguish which polygons the coincident edges belong to; the layer information indicates that the layer contains or does not contain each layer of all integrated circuit layouts, and if the triangle does not belong to any layer of integrated circuit layout, the layer information of the triangle is set to be null or zero.
Wherein, the field of the parallel flat plate is called PPFD for short.
Referring to fig. 2, fig. 2 is a schematic diagram illustrating alignment of the Delaunay triangular meshes to edges of a plurality of polygons of a three-layer integrated circuit layout in an embodiment of the integrated circuit layout field identification and mesh subdivision processing method provided in the present application. As shown in the figure.
As a possible implementation, the aligning the Delaunay triangular mesh to each of the edges of the polygons according to an edge swapping method, and simultaneously calculating intersections of the edges of the polygons and adding the intersections as vertices of the polygons and nodes of the Delaunay triangular mesh to form a first triangular mesh, where the edge swapping method sorts the edges of the polygons that meet a condition to form a set, takes out the edges of the polygons according to the sort, and after performing the swapping, if the set is an empty set, the swapping is ended, and the method mainly includes:
step 4.1, collecting all the sides of the polygon which are not the common side of the two triangles, and sorting according to the side lengths to form a setLost
Step 4.2, from the setLostTaking out the side with the longest side length
Figure 785654DEST_PATH_IMAGE001
And from the collectionLostRemoving;
step 4.3, as shown in FIG. 2 (a), from the edge
Figure 684340DEST_PATH_IMAGE001
One vertex ofAStarting from, searching for including said vertexAAnd the vertexEDIs located at the edge
Figure 394807DEST_PATH_IMAGE001
Triangle delta of both sidesAEDExchanging said triangle deltaAEDTriangle delta with its neighborDEFGet a triangle deltaAEFAnd deltaAFDWherein the neighbor triangle is a triangle having a common side with the triangle;
step 4.4, repeating the exchange of the common edge of the triangle with its neighbor triangles, as shown in fig. 2 (b), (c), until the edge
Figure 138772DEST_PATH_IMAGE001
Is a common edge of two neighboring triangles;
step 4.5, if the edge is searched
Figure 251085DEST_PATH_IMAGE001
The intersecting edge is the edge of another polygon, as shown in FIG. 2 (c)
Figure 963082DEST_PATH_IMAGE005
And the edge
Figure 98528DEST_PATH_IMAGE001
Intersect while the edge
Figure 115026DEST_PATH_IMAGE005
Is a polygonAECFAThe edge of (2) adds a vertex and a mesh node at the intersection point of the two edgesGAnd connecting the mesh nodeGInserted into the Delaunay triangle mesh, which divides the two neighboring triangles into four triangles: deltaEBG, ΔEGA, ΔFAGAnd ΔFGBThe vertex divides two intersecting edges into four edges that are common to the vertex, as shown in FIG. 2 (d), and a new edge of the polygon to be aligned is generated
Figure 580380DEST_PATH_IMAGE006
Connecting the edge
Figure 555289DEST_PATH_IMAGE006
Is also added to the collectionLostPerforming the following steps;
step 4.6, judge the setLostIf it is not, then re-selecting said setLostTake the longest edge and remove it from the setLostIf so, the exchange is ended to form a first triangular mesh, as shown in fig. 2 (f).
As a possible implementation, the merging the polygon information and the layer information of the plurality of polygon edges that coincide after the projection mainly includes:
step 3.1, sequencing all polygon vertexes, searching vertexes of the polygon with the distance between the vertexes and the vertex smaller than a preset threshold value for each vertex which is not defined as a coincident vertex according to a sequencing result, and defining the vertexes and the searched vertexes as a group of coincident vertexes;
step 3.2, for each group of coincident vertexes, taking the gravity center of each group of coincident vertexes as a newly combined vertex, replacing all vertexes in the group of coincident vertexes with the newly combined vertex, combining the associated sides of the newly combined vertexes with the associated sides of all vertexes in the group of coincident vertexes, wherein the associated side of the vertex of the polygon is a polygon side of which one end point is the vertex of the polygon;
step 3.3, based on the associated edges of the vertices of the polygon, for each polygon vertex, comparing every two associated edges, if two edges are presente,fIncluding two identical end points, the two edges being coincident edges, and deleting any one edgeeUsing said edgefInstead of originally including the edgeeAnd the corresponding side of the polygon of (2), and the sideeDeleting from the list of associated edges for the vertex;
step 3.4, the remaining edgesfLayer information of as primary sidee,fOf layer information ofThe edge offIs set as the primary sidee,fMerging the polygon information of (1); the OR is OR;
and 3.5, repeating the pairwise comparison of the associated edges until all the overlapped edges are processed.
As a possible implementation, the superimposing, based on the first triangular mesh, layer information of each polygon edge to all triangles in each polygon based on a boolean operation mainly includes:
step 5.1, setting layer information of all triangles to be null;
step 5.2, for each polygon projected to the same layerPObtaining layer information of the layer where the layer is locatediSet of settingsFrontFor the empty set, take the polygonPAny edgeeLeft triangle oftIf said left triangle istLayer information of (2) is not superimposed on the polygonPLayer information of the layeriLet the left triangletJoining the collectionFrontThe left triangletLayer information of (2) superimposing said polygonPLayer information of the layeriWherein the polygonPAny edgeeIs a left triangle including the sideeAnd the triangle sideeDirection and polygon ofPEdgeeTriangles with the same direction;
step 5.3, from the setFrontTake out a triangletAnd from the collectionFrontIf the triangle is removedtDoes not overlay the polygon with layer information of any one or more of the three neighboring trianglesPLayer information of the layeriAnd the common side is not polygonPAny side of the triangle, then the triangle is formedtThe one or more neighbor triangles of (a) join the setFrontAnd adding a new one to said collectionFrontThe layer information of the triangle is superimposed on the polygonPLayer information of the layeriWherein the common edge refers to the triangletAdjacent triangles and said triangletA common edge of (a);
step 5.4, judging the setFrontIf it is not, then re-selecting said setFrontFetching a triangle from said setFrontAnd continuing the superposition based on the Boolean operation until the setFrontIf the operation is empty, continuing the next operation;
step 5.5, judging whether all the polygons are processed, if so, finishing the superposition; if not, returning to continue processing the rest polygons.
It is noted that, regarding recording the layer information, a layer of the integrated circuit layout of the multi-layer structure may be represented by using binary, where the number of bits of the binary represents the number of layers of the layout included in the integrated circuit, each bit of the binary corresponds to each layer of the integrated circuit layout, a bit of the binary of 0 represents that the layer is not included, and a bit of the binary of 1 represents that the layer is included. Since the layer information of each edge of the polygon comes from the metal layer where the polygon is located, defineiThe layer of the metal layer is
Figure 974769DEST_PATH_IMAGE007
This means that when this number is represented in binary, a 1 appears at the first of this binaryiA bit. According to the layer information of the layer where the polygon is located, when the triangle of each metal layer is identified, the layer information is superposed to the identified triangle; when all layers are identified, the layer information of each triangle records the area of which metal layer the triangle falls on. For the three-layer metal layout polygon shown in fig. 2, calculating the layer information of each triangle is shown in fig. 3, as can be seen from fig. 3, 0 in fig. 3 indicates that the triangle does not exist in any metal layer, and 5 in fig. 3 indicates that the triangle exists in the 1 st and 3 rd layers, because 5= (101)2And 7 in fig. 3 indicates that the triangle exists on the 1 st, 2 nd, and 3 rd layers because 7= (111)2
As a possible implementation, the identifying and collecting, according to the layer information of the triangle and the polygon edge, the triangle and the polygon edge included in each parallel flat field by a parallel flat field identification method mainly includes:
step 6.1Setting all the parallel flat-plate fields: (i,j) Set of polygonspoly(i,j) And triangle settri(i,j) Empty, the parallel flat plate field (i,j) For the metal layer of the multi-layer integrated circuit layoutiLayer and the firstjA parallel plate field formed by the layer and its internal medium, wherein the layer and its internal medium form a parallel plate fieldiAndjis the layer of the metal layer;
step 6.2, select an unprocessed triangletOr polygonal sideseStarting from the lowest level, according to said triangletOr polygonal sideseLayer information of (2) identifies the secondiFirst appearance of layer metal layer upwardjA layer of a metal layer,j>ithe triangle is formedtJoin into the collectiontri(i,j) In or around the polygon edgeeIs added to thepoly(i,j) To collect the triangle and polygon sides contained by each of the parallel plate fields;
step 6.3, judging the metal layeriIf the highest layer is not, continuing the next operation, and if not, performing the next operationjIs assigned to theiReturning to continue according to the triangletOr polygonal sideseLayer information of, determining the secondiFirst occurrence on a layerjA layer metal layer;
and 6.4, judging whether all the triangle and polygon edges are identified, if so, finishing the identification, and if not, returning to continuously select an unprocessed triangle or polygon edge for identification and collection.
By adopting the method, the triangle with the triangular layer information of 5 in the graph 3 and the edge thereof form the area of the parallel flat field (1, 3), and the triangle with the triangular layer information of 7 in the graph 3 and the edge thereof form the area of the parallel flat field (1, 2) and the area of the parallel flat field (2, 3) can be identified at one time.
As a possible implementation, the performing adaptive mesh subdivision processing on the triangle in each parallel flat-panel field according to the computation accuracy requirement and the common edge of different parallel flat-panel fields mainly includes:
step 7.1, obtaining vertexes of a plurality of polygons of each parallel flat plate field, and forming a second triangular mesh according to a Delaunay triangulation algorithm;
step 7.2, aligning the second triangular mesh to the sides of a plurality of polygons of each parallel flat plate field according to the identified parallel flat plate field, and deleting triangles outside each parallel flat plate field to form a third triangular mesh;
step 7.3, sequentially aligning the parallel flat plate field in each third triangular meshi,j) Carrying out mesh subdivision processing according to the priority sequence of first priority control on the quality of the mesh and second priority control on the size of the mesh; the mesh subdivision processing comprises the step of further refining the triangulated and aligned third triangular mesh, so that the triangular mesh has better quality, smaller size and more accurate simulation calculation;
step 7.4, mesh generation is carried out on the common area of two adjacent parallel flat plate fields, wherein if the parallel flat plate fields (a)i,j) Polygonal sideeThe layer information of (a) includes both the parallel flat plate field(s) ((i,j) And a parallel plate field (l,m) Whereini,j,l,mIf two numbers are equal, the polygon edgeeThe corresponding region is a parallel flat plate field (i,j) And a parallel plate field (l,m) Defining the common area as an inter-plate coupling area, saidi,j,l,mIs the layer of the metal layer; it should be noted that, since the inter-plate coupling region is shared by two adjacent fields, the meshes of the two adjacent fields in the inter-plate coupling region must be consistent, that is, the meshes of any one of the two adjacent fields are subdivided on the polygon edgeeAdding mesh nodes and polygon vertexes, wherein the corresponding mesh nodes and polygon vertexes must be added to the mesh of another field;
step 7.5, judging whether the grid quality and the grid size of all the parallel flat plate fields are fullIf the value is enough to the preset value, finishing the grid subdivision, if not, returning to continue (1) each parallel flat plate fieldi,j) And carrying out grid subdivision processing.
As a possible implementation, the quality of the mesh is the quality of the mesh shape, and the calculation formula of the quality of the triangular mesh is:
Figure 326116DEST_PATH_IMAGE008
wherein, theRRepresents a circumscribed circle radius of the triangle; the above-mentionedl 1,l 2,l 3Representing the side lengths of three sides of the triangle;
the larger the Q value of the triangle, the worse its quality, i.e. the smaller the angle of the triangle.
As a possible implementation, the controlling the size of the mesh is to determine the size of the largest mesh subdivided by the mesh according to the highest frequency to be calculated, and the calculation formula of the size of the largest mesh is as follows:
Figure 147442DEST_PATH_IMAGE009
wherein the content of the first and second substances,l maxis the size of the largest mesh size,
Figure 558831DEST_PATH_IMAGE010
is the wavelength of the electromagnetic wave corresponding to the highest frequency,Fto calculate the control coefficients for the accuracy requirements, it is usual to take
Figure 465607DEST_PATH_IMAGE011
Finally, the mesh subdivision result of the parallel flat plate field formed by the three-layer metal layout polygons and the internal medium thereof shown in fig. 2 is shown in fig. 4. It can be seen that due to the edges
Figure 579233DEST_PATH_IMAGE012
Figure 520644DEST_PATH_IMAGE013
Figure 102935DEST_PATH_IMAGE014
And
Figure 497007DEST_PATH_IMAGE015
inter-plate coupling regions for two different parallel plate fields, and therefore continuous edge conditions, are satisfied at these edges, and the grid nodes of the different parallel plate fields at these boundaries are common, and therefore the grids at these edges are aligned.
Referring to fig. 5, an embodiment of the present application provides an integrated circuit layout field identification and grid subdivision processing apparatus, as shown in the figure, the apparatus mainly includes:
an obtaining module M1, configured to obtain multiple polygons, where the multilayer integrated circuit layout includes multiple vertices;
the first processing module M2 is configured to vertically project a plurality of polygons of each layer onto the same layer, and form, according to a Delaunay triangulation algorithm, a Delaunay triangular mesh in which vertices of the polygons are mesh nodes, where each edge of the polygon includes preset polygon information of the polygon where the polygon is located and layer information of the layer where the polygon is located;
a second processing module M3, configured to merge the polygon information and layer information of the plurality of polygon edges that are overlapped after projection;
a third processing module M4, configured to align the Delaunay triangular mesh to each of the plurality of polygons according to a side swapping method, calculate intersection points of the plurality of polygon sides, and add the intersection points as vertices of the polygon and nodes of the Delaunay triangular mesh to form a first triangular mesh, where the side swapping method sorts the sides of the polygons that meet the condition to form a set, takes out the sides of the polygons according to the sort, and ends the swapping if the set is an empty set after the swapping is performed on the sides of the polygons;
a fourth processing module M5, configured to, based on the first triangular mesh, superimpose layer information of each polygon edge onto all triangles in each polygon based on a boolean operation;
a fifth processing module M6, configured to identify and collect, according to the layer information of the triangle and the polygon edge, the triangle and the polygon edge included in each parallel flat panel field by a parallel flat panel field identification method;
and the sixth processing module M7 is configured to perform adaptive mesh subdivision on the triangles in each parallel flat-panel field according to the calculation accuracy requirement and the common edge of different parallel flat-panel fields.
By adopting the device, all the parallel flat plate fields can be rapidly and accurately identified at one time, and gaps can be avoided between the parallel flat plate fields which are mutually coupled, so that the analysis error of the high-frequency electromagnetic field is avoided.
As a possible implementation, the second processing module mainly includes:
the sorting and searching unit is used for sorting all polygon vertexes, searching the vertexes of the polygon with the distance between the vertexes smaller than a preset threshold value for each vertex which is not defined as a coincident vertex according to a sorting result, and defining the vertex and the searched vertexes as a group of coincident vertexes;
the coincident vertex processing unit is used for taking the gravity center of each group of coincident vertexes as a newly combined vertex, replacing all vertexes in the group of coincident vertexes with the newly combined vertex, and combining the associated sides of the newly combined vertexes with the associated sides of all vertexes in the group of coincident vertexes, wherein the associated side of the vertex of the polygon is a polygon side of which one endpoint is the vertex of the polygon;
a comparing and deleting unit for comparing every two of the associated sides of each polygon vertex based on the associated sides of the polygon vertex, if two sidese,fIncluding two identical end points, the two edges being coincident edges, and deleting any one edgeeUsing said edgefInstead of originally including the edgeeAnd the corresponding side of the polygon of (2), and combining the sideseDeleting from the list of associated edges for the vertex;
a setting unit for setting the remaining sidesfLayer information of as primary sidee,fOf the layer information or, the remaining said edgesfIs set as the primary sidee,fMerging the polygon information of (1);
and the repeating unit is used for repeating the pairwise comparison of the associated edges until all the coincident edges are processed.
As a possible implementation, the fifth processing module mainly includes:
a first processing unit for setting all the parallel flat-plate fields (i,j) Set of polygonspoly(i,j) And triangle settri(i,j) Empty, the parallel flat plate field (i,j) For the metal layer of the multi-layer integrated circuit layoutiLayer and the firstjA parallel plate field formed by the layer and its internal medium, wherein the layer and its internal medium form a parallel plate fieldiAndjis the layer of the metal layer;
a second processing unit for selecting an unprocessed triangletOr polygonal sideseStarting from the lowest level, according to said triangletOr polygonal sideseLayer information of (2) identifies the secondiFirst appearance of layer metal layer upwardjA layer of a metal layer,j>ithe triangle is formedtJoin into the collectiontri(i,j) In or around the polygon edgeeIs added to thepoly(i,j) To collect the triangle and polygon sides contained by each of the parallel plate fields;
a third processing unit for judging the metal layeriIf the highest layer is not, continuing the next operation, and if not, performing the next operationjIs assigned to theiReturning to continue according to the triangletOr polygonal sideseLayer information of, determining the secondiFirst occurrence on a layerjA layer metal layer;
and the fourth processing unit is used for judging whether all the triangle and polygon edges are identified completely, if so, finishing the identification, and if not, returning to continuously select an unprocessed triangle or polygon edge for identification and collection.
The foregoing is considered as illustrative of the preferred embodiments of the invention and the technical principles employed. It will be understood by those skilled in the art that the present application is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the application. Therefore, although the present application has been described in more detail with reference to the above embodiments, the present application is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present application, and the scope of the present application is determined by the scope of the appended claims.

Claims (4)

1. A field identification and grid subdivision processing method for an integrated circuit layout is characterized by comprising the following steps:
acquiring a plurality of polygons of a multilayer integrated circuit layout, wherein the polygons comprise a plurality of vertexes;
vertically projecting a plurality of polygons of each layer to the same layer, and forming a Delaunay triangular mesh with polygon vertexes as mesh nodes according to a Delaunay triangulation algorithm, wherein each side of each polygon comprises preset polygon information of the polygon and layer information of the layer where the polygon is located;
merging the polygon information and layer information of the projected and overlapped polygon edges;
aligning the Delaunay triangular mesh to each side of the plurality of polygons according to a side exchange method, simultaneously calculating intersection points of the sides of the plurality of polygons, and newly adding the intersection points as vertexes of the polygons and nodes of the Delaunay triangular mesh to form a first triangular mesh;
based on the first triangular mesh, layer information of each polygon edge is superposed to all triangles in each polygon based on Boolean operation;
identifying and collecting the triangular and polygonal sides contained in each parallel flat plate field by a parallel flat plate field identification method according to the layer information of all the triangles and each polygonal side;
according to the calculation precision requirement and the public areas of different parallel flat plate fields, carrying out self-adaptive mesh subdivision processing on the triangles in each parallel flat plate field;
wherein merging the polygon information and layer information of the plurality of polygon edges that coincide after the projection includes: sorting all polygon vertexes, searching vertexes of the polygon with the distance between the vertexes smaller than a preset threshold value for each vertex which is not defined as a coincident vertex according to a sorting result, and defining the vertexes and the searched vertexes as a group of coincident vertexes;
for each group of coincident vertexes, taking the gravity center of each group of coincident vertexes as a newly combined vertex, and replacing all vertexes in the group of coincident vertexes with the newly combined vertexes, wherein the associated side of the newly combined vertex is the associated side combined by the associated sides of all vertexes in the group of coincident vertexes, and the associated side of the vertex of the polygon is the polygon side of which one end point is the vertex of the polygon;
based on the associated edges of the vertices of the polygon, comparing every two associated edges of each vertex of the polygon, if two edges e and f contain two same endpoints, the two edges are coincident edges, deleting any edge e, replacing the corresponding edge of the original polygon containing the edge e with the edge f, and deleting the edge e from the list of the associated edges of the vertex;
setting the layer information of the rest edge f as the layer information of the primary edge e and f or setting the polygon information of the rest edge f as the combination of the polygon information of the primary edge e and f;
repeating the pairwise comparison of the associated edges until all the coincident edges are processed;
further, the Delaunay is processed according to an edge exchange method; aligning the triangular mesh to respective sides of the plurality of polygons, comprising:
collecting all the edges of the polygon which are not the common edge of the two triangles, and sequencing according to the edge lengths to form a set Lost;
fetching from the set LostSide with longest side length
Figure DEST_PATH_IMAGE002
And remove it from the set Lost;
from the edge
Figure DEST_PATH_IMAGE002A
Is sent, searching for the vertex A included and vertex E, D located on the edge
Figure DEST_PATH_IMAGE002AA
Exchanging common sides of the triangle delta AED and a neighbor triangle delta DEF thereof to obtain a triangle delta AEF and a triangle delta AFD, wherein the neighbor triangle is a triangle having a common side with the triangle;
repeating the swapping of the triangle's common edge with its neighbor triangles until the edge
Figure DEST_PATH_IMAGE002AAA
Is a common edge of two neighboring triangles;
judging whether the set Lost is an empty set or not, if not, taking out the longest edge from the set Lost again, removing the longest edge from the set Lost and continuing the exchange, and if so, ending the exchange;
further, based on the first triangular mesh, superimposing layer information of each polygon edge to all triangles in each polygon based on boolean operations, including:
setting the layer information of all triangles to be null;
for each polygon P projected to the same layer, acquiring layer information i of the layer where the polygon P is located, setting a set Front as an empty set, taking a left triangle of any edge e of the polygon P, adding the left triangle into the set Front, and overlapping the layer information of the left triangle with the layer information i of the layer where the polygon P is located, wherein the left triangle of any edge e of the polygon P is a triangle which contains the edge e and has the same direction of the edge e of the triangle as the edge e of the polygon P;
taking a triangle t out of the set Front and removing the triangle t from the set Front, if the common edge of any one or more neighbor triangles in the three neighbor triangles of the triangle t is not any edge of the polygon P, adding the one or more neighbor triangles of the triangle t into the set Front, and adding the layer information of the triangle newly added into the set Front to the layer information i of the layer where the polygon P is located, wherein the common edge refers to the common edge of the triangle adjacent to the triangle t and the triangle t;
judging whether the set Front is an empty set, if not, taking out a triangle from the set Front again, removing the triangle from the set Front, continuing to perform superposition based on the Boolean operation until the set Front is empty, and if so, continuing to perform the next operation;
judging whether all the polygons are processed or not, if so, finishing the superposition; if not, returning to continue processing the rest polygons;
further, the identifying and collecting the triangle and polygon sides included in each parallel flat field by a parallel flat field identification method according to the layer information of all the triangles and each polygon side includes:
setting a polygon set poly (i, j) and a triangle set tri (i, j) of all parallel flat field areas (i, j) to be empty, wherein the parallel flat field areas (i, j) are parallel flat field areas formed by the ith layer and the jth layer of a metal layer in the multilayer integrated circuit layout and internal media of the ith layer and the jth layer, and i and j are layers of the metal layer;
selecting an unprocessed triangle t or polygon edge e, identifying a jth metal layer, j > i, appearing for the first time upwards on the ith metal layer from the lowest layer according to the layer information of the triangle t or polygon edge e, adding the triangle t into the set tri (i, j) or adding the polygon edge e into the poly (i, j) so as to collect the triangle and polygon edges contained in each parallel flat plate field;
judging whether the metal layer i is the highest layer, if so, continuing the next operation, if not, assigning the j to the i, returning to and continuing to determine the j-th metal layer appearing for the first time on the i-th layer according to the layer information of the triangle t or the polygon edge e;
judging whether all the triangle and polygon edges are identified, if so, finishing the identification, otherwise, returning to continuously select an unprocessed triangle or polygon edge, and identifying and collecting;
further, the performing adaptive mesh subdivision processing on the triangles in each parallel flat plate field according to the calculation precision requirement and the common areas of different parallel flat plate fields includes:
obtaining the vertexes of a plurality of polygons of each parallel flat plate field, and forming a second triangular mesh according to a Delaunay triangulation algorithm;
aligning the second triangular mesh to the sides of a plurality of polygons of each parallel flat plate field according to the identified parallel flat plate fields, and deleting triangles outside each parallel flat plate field to form a third triangular mesh;
sequentially carrying out mesh subdivision processing on the parallel flat plate field areas (i, j) in each third triangular mesh according to the priority sequence of first priority control on the quality of the meshes and second priority control on the size of the meshes;
performing mesh subdivision on a common area of two adjacent parallel flat plate fields, wherein if layer information of a polygonal side e of the parallel flat plate field (i, j) comprises the parallel flat plate field (i, j) and a parallel flat plate field (l, m), wherein two numbers in the i, j, l, m are equal, an area corresponding to the polygonal side e is the common area of the parallel flat plate field (i, j) and the parallel flat plate field (l, m), the common area is defined as an inter-plate coupling area, and the i, j, l, m are layers of the metal layer;
and judging whether the quality and the size of the grids of all the parallel flat plate fields meet preset values, if so, finishing the grid subdivision, and if not, returning to continue to carry out the grid subdivision on each parallel flat plate field (i, j).
2. The method of claim 1, wherein said simultaneously computing intersections of the plurality of polygon edges and adding the intersections as vertices of the polygon and nodes of the Delaunay triangular mesh comprises:
if the edge is searched
Figure DEST_PATH_IMAGE002AAAA
And if the intersected edge is the edge of another polygon, adding a vertex and a mesh node at the intersection point of the two edges, inserting the mesh node into the Delaunay triangular mesh, dividing the two adjacent triangles into four triangles by the mesh node, and dividing the two intersected edges into four edges which share the vertex by the vertex.
3. The method of claim 2, wherein the controlling the size of the grid is to determine the size of a largest grid of the grid subdivisions according to a highest frequency of the required computations, the size of the largest grid being calculated by the formula:
Figure DEST_PATH_IMAGE008
wherein lmaxIs the size of the largest mesh size,
Figure DEST_PATH_IMAGE010
f is the control coefficient required by the calculation accuracy, and is the electromagnetic wave wavelength corresponding to the highest frequency.
4. An integrated circuit layout field identification and grid subdivision processing device is characterized by comprising:
the acquisition module is used for acquiring a plurality of polygons of a multilayer integrated circuit layout, wherein the polygons comprise a plurality of vertexes;
the device comprises a first processing module, a second processing module and a third processing module, wherein the first processing module is used for vertically projecting a plurality of polygons of each layer to the same layer and forming a Delaunay triangular mesh taking polygon vertexes as mesh nodes according to a Delaunay triangulation algorithm, and each side of each polygon comprises preset polygon information of the polygon and layer information of the layer;
the second processing module is used for combining the polygon information and the layer information of the projected and superposed polygon edges;
a third processing module, configured to align the Delaunay triangular mesh to each of the plurality of polygons according to a side switching method, calculate intersection points of the plurality of polygon sides, and add the intersection points as vertices of the polygons and nodes of the Delaunay triangular mesh to form a first triangular mesh, where the side switching method sorts the sides of the polygons that meet a condition to form a set, extracts the sides of the polygons according to the sort, and ends the switching if the set is an empty set after the switching is performed on the sides of the polygons;
a fourth processing module, configured to superimpose, based on the first triangular mesh, layer information of each polygon edge onto all triangles in each polygon based on boolean operations;
the fifth processing module is used for identifying and collecting the triangular and polygonal edges contained in each parallel flat plate field by a parallel flat plate field identification method according to the layer information of the triangular and polygonal edges;
the sixth processing module is used for carrying out self-adaptive mesh subdivision processing on the triangles in each parallel flat plate field according to the calculation precision requirement and the common edges of different parallel flat plate fields;
wherein the second processing module comprises:
the sorting and searching unit is used for sorting all polygon vertexes, searching the vertexes of the polygon with the distance between the vertexes smaller than a preset threshold value for each vertex which is not defined as a coincident vertex according to a sorting result, and defining the vertex and the searched vertexes as a group of coincident vertexes;
the coincident vertex processing unit is used for taking the gravity center of each group of coincident vertexes as a newly combined vertex, replacing all vertexes in the group of coincident vertexes with the newly combined vertex, and combining the associated sides of the newly combined vertexes with the associated sides of all vertexes in the group of coincident vertexes, wherein the associated side of the vertex of the polygon is a polygon side of which one endpoint is the vertex of the polygon;
a comparing and deleting unit, configured to compare every two of the associated sides for each polygon vertex based on the associated sides of the polygon vertex, delete any one side e if two sides e and f include two identical endpoints, where the two sides are coincident sides, replace the corresponding side of the original polygon including the side e with the side f, and delete the side e from the list of the associated sides of the vertex;
the setting unit is used for setting the layer information of the rest edge f as the layer information of the primary edge e and f or setting the polygon information of the rest edge f as the combination of the polygon information of the primary edge e and f;
the repeating unit is used for repeating the pairwise comparison of the associated edges until all the overlapped edges are processed;
further, the fifth processing module includes:
the first processing unit is used for setting a polygon set poly (i, j) and a triangle set tri (i, j) of all parallel flat-plate field domains (i, j) to be empty, wherein the parallel flat-plate field domains (i, j) are parallel flat-plate field domains formed by the ith layer and the jth layer of a metal layer in the multilayer integrated circuit layout and internal media of the ith layer and the jth layer, and the i and the j are layers of the metal layer;
a second processing unit, configured to select an unprocessed triangle t or polygon edge e, identify, from a lowest layer, a jth metal layer, j > i, where the ith metal layer appears for the first time upwards according to layer information of the triangle t or polygon edge e, add the triangle t to the set tri (i, j) or add the polygon edge e to the poly (i, j), so as to collect triangle and polygon edges included in each parallel slab field;
a third processing unit, configured to determine whether the metal layer i is a highest layer, if so, continue to perform the next operation, otherwise, assign the value j to the i, and return to continue to determine a jth metal layer appearing for the first time on the ith layer according to the layer information of the triangle t or the polygon edge e;
and the fourth processing unit is used for judging whether all the triangle and polygon edges are identified completely, if so, finishing the identification, and if not, returning to continuously select an unprocessed triangle or polygon edge for identification and collection.
CN201911254930.9A 2019-12-10 2019-12-10 Integrated circuit layout field identification and grid subdivision processing method and device Active CN110689569B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911254930.9A CN110689569B (en) 2019-12-10 2019-12-10 Integrated circuit layout field identification and grid subdivision processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911254930.9A CN110689569B (en) 2019-12-10 2019-12-10 Integrated circuit layout field identification and grid subdivision processing method and device

Publications (2)

Publication Number Publication Date
CN110689569A CN110689569A (en) 2020-01-14
CN110689569B true CN110689569B (en) 2020-06-30

Family

ID=69117764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911254930.9A Active CN110689569B (en) 2019-12-10 2019-12-10 Integrated circuit layout field identification and grid subdivision processing method and device

Country Status (1)

Country Link
CN (1) CN110689569B (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111898331A (en) * 2020-06-08 2020-11-06 北京智芯仿真科技有限公司 Random dynamic allocation method for frequency domain simulation calculation tasks of very large scale integrated circuit
CN111767688B (en) * 2020-09-03 2020-12-01 北京智芯仿真科技有限公司 Integrated circuit layout polygon unstructured grid self-adaptive subdivision method and system
CN112052641B (en) * 2020-09-03 2021-03-30 北京智芯仿真科技有限公司 Method and system for generating large-scale integrated circuit layout unstructured grid eccentric midpoint
CN112132973B (en) * 2020-11-24 2021-02-26 北京智芯仿真科技有限公司 Method and device for quickly generating three-dimensional integrated circuit electromagnetic simulation full three-dimensional grid
CN112149336B (en) * 2020-11-24 2021-03-02 北京智芯仿真科技有限公司 Method and device for quickly generating three-dimensional integrated circuit electromagnetic simulation high-quality grid
CN112560385A (en) * 2020-12-07 2021-03-26 芯和半导体科技(上海)有限公司 Layered sweep grid dividing method applied to packaging
CN112818585B (en) * 2021-04-20 2021-07-13 北京智芯仿真科技有限公司 Method and device for dividing iterative computation parallel particles of integrated circuit interlayer coupling
CN112818584B (en) * 2021-04-20 2021-07-13 北京智芯仿真科技有限公司 Space electromagnetic radiation computing system and method for integrated circuit
CN112989750B (en) * 2021-04-20 2021-08-27 北京智芯仿真科技有限公司 Method and device for determining space electromagnetic radiation of multilayer integrated circuit
CN114330213B (en) * 2022-03-14 2022-06-14 北京智芯仿真科技有限公司 Automatic identification and conversion method and device based on layout polygon routing
CN115618803B (en) * 2022-12-19 2023-03-07 北京智芯仿真科技有限公司 Method and system for detecting micropores in integrated circuit layout
CN115618802B (en) * 2022-12-19 2023-03-14 北京智芯仿真科技有限公司 Method and system for detecting island in integrated circuit layout
CN117371385B (en) * 2023-12-06 2024-04-09 杭州行芯科技有限公司 Method for confirming adjacent graph, electronic device and storage medium

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617322A (en) * 1994-01-31 1997-04-01 Nec Corporation Mesh generator and generating method
CN1655191A (en) * 2005-02-25 2005-08-17 浙江大学 Programmable graphic hardware based rapid voxel method for polygonal grid model
CN101546438A (en) * 2008-12-29 2009-09-30 浙江大学 Superposing analysis method of a plurality of region topology layers based on restricting Delaunay triangulation network technique
CN101944149A (en) * 2010-09-15 2011-01-12 清华大学 Point-to-point wiring method for integrated circuit based on mesh-free model
CN101976287A (en) * 2010-10-29 2011-02-16 上海交通大学 Hybrid mesh partition method with design of integrity of system-level packaging power supply
CN102663161A (en) * 2012-03-16 2012-09-12 苏州芯禾电子科技有限公司 Radio-frequency integrated-circuit triangular mesh generation method
CN104318025A (en) * 2014-10-27 2015-01-28 福州大学 Octilinear Steiner minimal tree VLSI (very large scale integration) obstacle-avoiding wiring unit
KR20150097972A (en) * 2014-02-19 2015-08-27 서울대학교산학협력단 Uncertain boundary detecting system of cadastral data and method thereof
CN106204446A (en) * 2016-07-01 2016-12-07 中国测绘科学研究院 The building of a kind of topography merges method
CN106780745A (en) * 2016-11-24 2017-05-31 南京航空航天大学 A kind of method that the broken face of complex three-dimensional body is identified and is merged
CN104915991B (en) * 2015-06-04 2017-07-28 南京师范大学 A kind of space partitioning method for intersecting wire geographic element

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219377B2 (en) * 2009-02-23 2012-07-10 Georgia Tech Research Corporation Multi-layer finite element method for modeling of package power and ground planes

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617322A (en) * 1994-01-31 1997-04-01 Nec Corporation Mesh generator and generating method
CN1655191A (en) * 2005-02-25 2005-08-17 浙江大学 Programmable graphic hardware based rapid voxel method for polygonal grid model
CN101546438A (en) * 2008-12-29 2009-09-30 浙江大学 Superposing analysis method of a plurality of region topology layers based on restricting Delaunay triangulation network technique
CN101944149A (en) * 2010-09-15 2011-01-12 清华大学 Point-to-point wiring method for integrated circuit based on mesh-free model
CN101976287A (en) * 2010-10-29 2011-02-16 上海交通大学 Hybrid mesh partition method with design of integrity of system-level packaging power supply
CN102663161A (en) * 2012-03-16 2012-09-12 苏州芯禾电子科技有限公司 Radio-frequency integrated-circuit triangular mesh generation method
KR20150097972A (en) * 2014-02-19 2015-08-27 서울대학교산학협력단 Uncertain boundary detecting system of cadastral data and method thereof
CN104318025A (en) * 2014-10-27 2015-01-28 福州大学 Octilinear Steiner minimal tree VLSI (very large scale integration) obstacle-avoiding wiring unit
CN104915991B (en) * 2015-06-04 2017-07-28 南京师范大学 A kind of space partitioning method for intersecting wire geographic element
CN106204446A (en) * 2016-07-01 2016-12-07 中国测绘科学研究院 The building of a kind of topography merges method
CN106780745A (en) * 2016-11-24 2017-05-31 南京航空航天大学 A kind of method that the broken face of complex three-dimensional body is identified and is merged

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于时域有限差分方法的网格生成新方法;高宇海;《中国优秀硕士学位论文全文数据库 基础科学辑》;20120715;全文 *

Also Published As

Publication number Publication date
CN110689569A (en) 2020-01-14

Similar Documents

Publication Publication Date Title
CN110689569B (en) Integrated circuit layout field identification and grid subdivision processing method and device
CN110675502B (en) Multi-layer integrated circuit layout polygon alignment and simplification processing method and device
Jiang et al. Frame field singularity correctionfor automatic hexahedralization
Trotts et al. Simplification of tetrahedral meshes with error bounds
US20100128041A1 (en) Generation of Constrained Voronoi Grid In A Plane
CN111898331A (en) Random dynamic allocation method for frequency domain simulation calculation tasks of very large scale integrated circuit
CN112132973B (en) Method and device for quickly generating three-dimensional integrated circuit electromagnetic simulation full three-dimensional grid
CN111767688B (en) Integrated circuit layout polygon unstructured grid self-adaptive subdivision method and system
CA2605234C (en) A method of local tracing of connectivity and schematic representations produced therefrom
CN110415362B (en) Overlapping point cloud fusion method
Dassi et al. Efficient geometric reconstruction of complex geological structures
US7181377B1 (en) Method of modifying a volume mesh using sheet extraction
US7098912B1 (en) Method of modifying a volume mesh using sheet insertion
CN117034857B (en) Method and device for identifying integrated circuit layout network by polygon large-area overlapping
CN112149336B (en) Method and device for quickly generating three-dimensional integrated circuit electromagnetic simulation high-quality grid
CN117034858A (en) Method and device for rapidly meshing large-area overlapped integrated circuit layout
US20090112529A1 (en) Analysis model generation system
Marek-Sadowska et al. The crossing distribution problem [IC layout]
US11360744B2 (en) Two-dimensional data matching method, device and logic circuit
Rourke DEVELOPMENT OF A THREE-DIMENSIONAL PIPE ROUTING ALGORITHM.
US7339584B1 (en) Method of generating a surface mesh
JP3308869B2 (en) Parts display image operation system and method
Lai et al. Repairing triangular meshes for reverse engineering applications
Johnen Indirect quadrangular mesh generation and validation of curved finite elements
CN116416340B (en) Topology rapid construction algorithm for continuously overlaying data

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200715

Address after: 100000 Department of electrical engineering and applied electronic technology, Tsinghua garden, Haidian District, Beijing

Patentee after: Tang Zhanghong

Address before: 100000 room 2028, No.1 Hutong B, yangpi City, Xicheng District, Beijing

Patentee before: BEIJING WEIZHI JIACHEN TECHNOLOGY DEVELOPMENT Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201102

Address after: Room 02b-350, building B (2f), No.28, information road a, Haidian District, Beijing 100000

Patentee after: Beijing Smart core Simulation Technology Co.,Ltd.

Address before: 100000 Department of electrical engineering and applied electronic technology, Tsinghua garden, Haidian District, Beijing

Patentee before: Tang Zhanghong