CN115618802B - Method and system for detecting island in integrated circuit layout - Google Patents

Method and system for detecting island in integrated circuit layout Download PDF

Info

Publication number
CN115618802B
CN115618802B CN202211633422.3A CN202211633422A CN115618802B CN 115618802 B CN115618802 B CN 115618802B CN 202211633422 A CN202211633422 A CN 202211633422A CN 115618802 B CN115618802 B CN 115618802B
Authority
CN
China
Prior art keywords
polygon
copper
clad
layout
hollowed
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
CN202211633422.3A
Other languages
Chinese (zh)
Other versions
CN115618802A (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 Wisechip Simulation Technology 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 Wisechip Simulation Technology Co Ltd filed Critical Beijing Wisechip Simulation Technology Co Ltd
Priority to CN202211633422.3A priority Critical patent/CN115618802B/en
Publication of CN115618802A publication Critical patent/CN115618802A/en
Application granted granted Critical
Publication of CN115618802B publication Critical patent/CN115618802B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

A method and system for detecting an island in an integrated circuit layout comprises the following steps: converting a part defined as a hole and a part coated with copper in an integrated circuit layout into a layout polygon, performing Boolean operation and mesh subdivision on the layout polygon, and generating a constrained triangular mesh of a unified layout with the boundary of the layout polygon as constraint based on the mesh subdivision; searching the triangular grids in the copper-clad area based on the constrained triangular grids and numbering the triangular grids according to a neighbor searching method; judging an island based on the area sum of triangles with the same number; the method is characterized in that an integrated circuit layout is converted into a gridding dividing form, triangular grids in a copper-clad region are extracted and numbered according to a neighbor searching method, and whether holes are isolated islands is judged based on the area of grids with the same number in the copper-clad region, so that the problem that the reliability of the layout is influenced if isolated islands are not detected in direct production is avoided, the problem that the number of isolated islands in the integrated circuit layout is large, the isolated islands are dense and difficult to recognize, and time and labor are wasted when the isolated islands are searched manually is also avoided.

Description

Method and system for detecting island in integrated circuit layout
Technical Field
The application relates to the technical field of integrated circuits, in particular to a method and a system for detecting an island in an integrated circuit layout.
Background
With the development of communication technology, research and development of very large scale integrated circuits have been gradually developed. In order to improve the performance of electronic equipment, reduce the size and cost, transistors, other components and circuits are integrated on a small semiconductor substrate. In order to realize more functions, the ultra-large scale integrated circuit has a structure from several layers to hundreds of layers, each layer of structure is extremely complex, tens of millions or even hundreds of millions of transistors are integrated, and the ultra-large scale integrated circuit has a multi-scale structure from a centimeter level to the latest nanometer level at present. The copper-clad layout of the integrated circuit is also cut into very complex geometric figures because of the wiring formed by connecting different components of different networks, generally, the complex geometric figures need to be discretely formed into grid units with simple shapes, and then numerical calculation is carried out on the basis of the grid units so as to obtain the potential distribution and the current distribution of the layout with the complex shapes. With the increasing technological level of integrated circuit preparation, more and more via holes communicated between layers enable the via holes to be more and more dense, so that some meaningless copper-clad regions of islands, such as islands in an island schematic diagram of fig. 2, are formed between isolation pads corresponding to the densely distributed via holes in a produced integrated circuit, and the islands existing in the produced integrated circuit can affect the safety and the accuracy of circuit use, and need to be identified in an integrated circuit layout and correspondingly processed, such as fig. 3, which is a schematic diagram after island filling. How to identify an island in an integrated circuit layout is a technical problem to be solved urgently by technical personnel in the field.
Disclosure of Invention
Object of the application
In view of this, an object of the present application is to provide a method and a system for detecting an islanding in an integrated circuit layout, so as to solve the technical problem in the prior art that an islanding cannot be identified in an integrated circuit layout.
(II) technical scheme
The application discloses a method for detecting an island in an integrated circuit layout, which comprises the following steps:
s1, converting a part defined as a hole and a part coated with copper in an integrated circuit layout into layout polygons and performing Boolean operation to form uniform layout polygons;
s2, based on the unified layout polygons and the sides thereof, carrying out mesh generation and side exchange on the unified layout polygons to generate a constraint triangular mesh with the sides of the unified layout polygons as constraints;
s3, searching the triangular grids in the copper-clad area based on the constrained triangular grids and numbering the triangular grids according to a neighbor searching method;
and S4, judging the island based on the area and the size of the triangular meshes with the same number.
In one possible implementation, the converting the hole-defining part and the copper-clad part in the integrated circuit layout into layout polygons and performing boolean operations to form unified layout polygons includes:
s11, converting a part defined as a hole in the integrated circuit layout into a hollowed polygon; the method comprises the steps that a spacer caused by a via hole in a hole part is converted into a first hollowed polygon, when the shape of the spacer caused by the via hole is defined as a circle in a layout of an integrated circuit, the first hollowed polygon is a regular polygon, when the shape of the spacer caused by the via hole is defined as an ellipse in the layout of the integrated circuit, discrete points are taken according to the ellipse under polar coordinates with equal radian, the first hollowed polygon is a polygon formed by sequentially connecting the discrete points, and when the shape of the spacer caused by the via hole is defined as a polygon in the layout of the integrated circuit, the first hollowed polygon is a polygon defined in the layout; converting a hollowed circle, a hollowed ellipse and a hollowed polygon in a part, defined as a copper-clad part, of an integrated circuit layout in a hole into a second hollowed polygon, wherein the second hollowed polygon is a regular polygon when the hollowed circle, the hollowed ellipse and the hollowed polygon are hollowed in the part, defined as the hollowed circle, defined as the copper-clad part, discrete points are taken according to the ellipse at equal radian under polar coordinates when the hollowed polygon is defined as the hollowed ellipse, the second hollowed polygon is a polygon formed by sequentially connecting the discrete points, and the second hollowed polygon is a polygon defined in the layout when the hollowed polygon is defined as the copper-clad part;
s12, converting a part defined as copper-clad in the integrated circuit layout into a polygon coated with copper; wherein, the routing in the copper-clad part is converted into a first copper-clad polygon according to a starting point, an end point and a width, the first copper-clad polygon is a rectangle, a pad caused by a via hole in the copper-clad part is converted into a second copper-clad polygon, the second copper-clad polygon is in a hollowed-out polygon converted by the isolation gasket, when the shape of the pad is defined as a circle in a layout of the integrated circuit, the second copper-clad polygon is a regular polygon, when the shape of the pad is defined as an ellipse in the layout of the integrated circuit, discrete points are taken according to an equal radian of the ellipse under a polar coordinate, and the second copper-clad polygon is a polygon formed by sequentially connecting the discrete points, when the shape of the bonding pad is defined as a polygon in a layout of the integrated circuit, the polygon of the second copper clad is a polygon defined in the layout, other parts of the copper clad are converted into a polygon of a third copper clad, when other parts of the copper clad are defined as circles, the polygon of the third copper clad is a regular polygon, when other parts of the copper clad are defined as ellipses, discrete points are taken according to equal radians of the ellipses under polar coordinates, the polygon of the third copper clad is a polygon formed by sequentially connecting the discrete points, and when other parts of the copper clad are defined as polygons, the polygon of the third copper clad is a polygon defined in the layout;
s13, performing Boolean operation on the first copper-clad polygon and the third copper-clad polygon to form a third new copper-clad polygon;
s14, performing Boolean difference operation on the third new copper-clad polygon, the first hollowed-out polygon and the second hollowed-out polygon respectively to form a first new copper-clad polygon;
s15, performing Boolean operation on the first new copper-clad polygon and the second copper-clad polygon to form a uniform layout polygon.
In a possible embodiment, the mesh generation and edge exchange for the uniform layout polygon, and the generating of the constrained triangular mesh with the edge of the uniform layout polygon as a constraint includes:
s21, mesh division is carried out on the vertexes of the unified layout polygons according to a Delaunay division rule to form mesh division; s22, collecting all the edges of the polygon which are not the common edge of the two triangles in the mesh generation, and sequencing according to the edge lengths to form a set Lost;
s23, taking out the side with the longest side length from the set Lost and removing the side from the set Lost;
s24, starting from one vertex of the side with the longest side length, searching a triangle which comprises the vertex and is provided with other two vertexes at two sides of the side, and exchanging the common side of the triangle and a neighbor triangle to obtain two new triangles, wherein the neighbor triangle is a triangle which has a common side with the triangle;
s25, repeating the step S23 until the side with the longest side length is a common side of the two adjacent triangles;
s26, judging whether the set Lost is an empty set, if not, turning to the step S22, and if so, generating a constraint triangular mesh in the unified layout polygon with the sides of the unified layout polygon as constraints.
In one possible embodiment, the finding triangular meshes in the copper-clad area based on the constrained triangular meshes and numbering the triangular meshes according to a neighbor search method includes:
s31, initially setting the numbers of all triangles as unnumbered numbers; the triangle filling number of the current copper-clad area is set asfp=1; setting the copper-clad polygon to be processed currently as the secondq=1 copper-clad polygons; setting a current peripheral copper-clad grid cell setFront p Is empty;
s32, to the firstqA plurality of copper-clad polygons formed from any sides of the polygonseStarting from, find the left triangle with this edge associationt1If said left triangle ist1Is unnumbered, set up a trianglet1Is numbered asfpAdd it to the collectionFront p In, any side of the polygoneIs a left triangle including the sideeAnd the triangle sideeDirection and polygonal side ofeTriangles with the same direction;
s33, from the setFront p Take out a triangletAnd from the collectionFront p If the triangle is removedtIs unnumbered and the common edge is not an edge of any polygon, the triangle is numberedtThe one or more neighbor triangles of (a) join the setFront p And adding a new one to said collectionFront p The triangle of (a) is numbered asfpWherein the common edge refers to the triangletAdjacent triangles and said triangletA common edge of (a);
s34, judging the setFront p If not, executing step S33, if yes, settingfp=fp+1,q=q+1, executing step S32 until the processing is completed for the copper-clad polygons in all the uniform layout polygons, and ending.
In a possible embodiment, the determining islanding based on the area and the size of the same-numbered triangular meshes includes: calculating the areas of all triangular meshes with positive serial numbers, adding the accumulation of triangular faces with the same serial numbers to a set of area sums classified by the serial numbers, forming one-to-one correspondence relationship between the area sums and the serial numbers, and finding out the serial numbers corresponding to the triangular areas and smaller than a given threshold value, wherein the areas corresponding to the serial numbers are detected islands.
As a second aspect of the present application, a system for detecting an island in an integrated circuit layout is also disclosed, which includes a layout conversion module, a constrained triangle generation module, a copper-clad region identification module, and an island judgment module; the layout conversion module is used for converting a part defined as a hole and a part coated with copper in the integrated circuit layout into layout polygons and performing Boolean operation to form uniform layout polygons; the constraint triangle generation module is used for carrying out mesh subdivision and edge exchange on the unified layout polygon based on the unified layout polygon and the edge thereof to generate a constraint triangle mesh with the edge of the unified layout polygon as constraint; the copper-clad area identification module is used for searching the triangular grids in the copper-clad area based on the constrained triangular grids and numbering the triangular grids according to a neighbor searching method; the island judgment module is used for judging an island based on the area and the size of the triangular meshes with the same number.
In one possible implementation, the layout conversion module comprises a hole conversion unit, a copper-clad conversion unit, a third new copper-clad polygonal boolean operation unit, a first new copper-clad polygonal boolean operation unit and a unified layout polygonal boolean operation unit;
the hole conversion unit is used for converting a part defined as a hole in the integrated circuit layout into a hollowed polygon; the method comprises the steps that a spacer caused by a via hole in a hole part is converted into a first hollowed polygon, when the shape of the spacer caused by the via hole is defined as a circle in a layout of an integrated circuit, the first hollowed polygon is a regular polygon, when the shape of the spacer caused by the via hole is defined as an ellipse in the layout of the integrated circuit, discrete points are taken according to the ellipse under polar coordinates with equal radian, the first hollowed polygon is a polygon formed by sequentially connecting the discrete points, and when the shape of the spacer caused by the via hole is defined as a polygon in the layout of the integrated circuit, the first hollowed polygon is a polygon defined in the layout; converting a hollowed circle, a hollowed ellipse and a hollowed polygon in a part, defined as a copper-clad part, of an integrated circuit layout in a hole into a second hollowed polygon, wherein the second hollowed polygon is a regular polygon when the hollowed circle, the hollowed ellipse and the hollowed polygon are hollowed in the part, defined as the hollowed circle, defined as the copper-clad part, discrete points are taken according to the ellipse at equal radian under polar coordinates when the hollowed polygon is defined as the hollowed ellipse, the second hollowed polygon is a polygon formed by sequentially connecting the discrete points, and the second hollowed polygon is a polygon defined in the layout when the hollowed polygon is defined as the copper-clad part;
the copper-clad conversion unit is used for converting a part defined as copper-clad in the integrated circuit layout into a polygon coated with copper; wherein, the routing in the copper-clad part is converted into a first copper-clad polygon according to a starting point, an end point and a width, the first copper-clad polygon is a rectangle, a pad caused by a via hole in the copper-clad part is converted into a second copper-clad polygon, the second copper-clad polygon is in a hollowed-out polygon converted by the isolation gasket, when the shape of the pad is defined as a circle in a layout of the integrated circuit, the second copper-clad polygon is a regular polygon, when the shape of the pad is defined as an ellipse in the layout of the integrated circuit, discrete points are taken according to an equal radian of the ellipse under a polar coordinate, and the second copper-clad polygon is a polygon formed by sequentially connecting the discrete points, when the shape of the bonding pad is defined as a polygon in a layout of the integrated circuit, the polygon of the second copper clad is a polygon defined in the layout, other parts of the copper clad are converted into a polygon of a third copper clad, when other parts of the copper clad are defined as circles, the polygon of the third copper clad is a regular polygon, when other parts of the copper clad are defined as ellipses, discrete points are taken according to equal radians of the ellipses under polar coordinates, the polygon of the third copper clad is a polygon formed by sequentially connecting the discrete points, and when other parts of the copper clad are defined as polygons, the polygon of the third copper clad is a polygon defined in the layout;
the third new copper-clad polygon Boolean operation unit is used for performing Boolean operation on the first copper-clad polygon and the third copper-clad polygon to form a third new copper-clad polygon;
the first new copper-clad polygon Boolean operation unit is used for performing Boolean difference operation on the third new copper-clad polygon and the first hollowed-out polygon and the second hollowed-out polygon respectively to form a first new copper-clad polygon;
the uniform layout polygon Boolean operation unit is used for carrying out Boolean operation on the first new copper-clad polygon and the second copper-clad polygon to form a uniform layout polygon.
In one possible embodiment, the constrained triangle generating module includes a first unit, a second unit, a third unit, a fourth unit, a fifth unit, and a sixth unit; the first unit is used for mesh division of the vertexes of the unified layout polygons according to a Delaunay division rule to form mesh division; the second unit is used for collecting all the sides of the polygon which are not the common side of the two triangles in the mesh generation, and forming a set Lost according to the side length sorting;
the third unit is used for taking out the side with the longest side from the set Lost and removing the side from the set Lost; the fourth unit starts from one vertex of the side with the longest side length, searches for a triangle which comprises the vertex and is positioned at two sides of the side, and exchanges the common side of the triangle and a neighbor triangle thereof to obtain two new triangles, wherein the neighbor triangle is a triangle which has a common side with the triangle;
the fifth unit is configured to repeat the content executed by the third unit until the side with the longest side is a common side of two neighboring triangles;
and the sixth unit is used for judging whether the set Lost is an empty set, if not, returning to the third unit, and if so, generating a constraint triangular mesh in the unified layout polygon with the edges of the unified layout polygon as constraints.
In one possible embodiment, the copper-clad region identification module comprises a first identification unit, a second identification unit, a third identification unit and a fourth identification unit;
the first identification unit is used for initially setting the serial numbers of all the triangles to be unnumbered; the triangle filling number of the current copper-clad area is set asfp=1; setting the copper-clad polygon to be processed currently as the secondq=1 copper-clad polygons; setting a current peripheral copper-clad grid cell setFront p Is empty; the second identification unit is used for identifyingqA plurality of copper-clad polygons formed from any side of the polygoneStarting from, find the left triangle with this edge associationt1If said left triangle ist1Is unnumbered, and is provided with a trianglet1Is numbered asfpAdd it to the collectionFront p In (2), any side of the polygoneIs a left triangle including the sideeAnd the triangle sideeDirection and polygonal side ofeTriangles with the same direction;
the third identification unit is used for identifying the collectionFront p Take out a triangletAnd from the collectionFront p If the triangle is removedtIs unnumbered and the common edge is not an edge of any polygon, the triangle is numbered as unnumberedtThe one or more neighbor triangles of (a) join the setFront p And adding a new one to said collectionFront p The triangle of (a) is numbered asfpWherein the common edge refers to the triangletAdjacent triangles and said triangletA common edge of (a); the fourth identification unit is used for judging the setFront p Whether the current collection is an empty collection or not, if not, returning to a third identification unit, and if so, settingfp=fp+1,q=qAnd +1, returning to the second identification unit until the copper-clad polygons in all unified layout polygons are processed.
In a possible embodiment, the determining islanding based on the area and the size of the same-numbered triangular meshes includes: calculating the areas of all triangular meshes with positive serial numbers, adding the accumulation of triangular faces with the same serial numbers to a set of area sums classified by the serial numbers, forming one-to-one correspondence relationship between the area sums and the serial numbers, and finding out the serial numbers corresponding to the triangular areas and smaller than a given threshold value, wherein the areas corresponding to the serial numbers are detected islands.
(III) advantageous effects
The method comprises the steps of converting an integrated circuit layout into a gridding form, then carrying out gridding on the integrated circuit layout, carrying out conversion processing on the divided grids to generate a constraint triangular grid of a unified layout which is constrained by the boundaries of polygon of the layout, extracting the triangular grid in a copper-clad area, numbering the triangular grid according to a neighbor search method, and judging whether a hole is an island or not based on the sum of the areas of the grids in the copper-clad area; not only avoid if not detecting the reliability that island direct production influences the board, can also avoid the island quantity of integrated circuit territory many, intensive difficult discernment, it is wasted time and energy to lean on the manual work to seek the island.
Additional advantages, objects, and features of the application will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the application. The objectives and other advantages of the present application may be realized and attained by the means of the instrumentalities and combinations particularly pointed out hereinafter.
Drawings
The embodiments described below with reference to the drawings are exemplary and intended to be used for explaining and illustrating the present application and should not be construed as limiting the scope of the present application.
FIG. 1 is a flow chart of a method of the present application;
FIG. 2 is a schematic island diagram of the present application;
FIG. 3 is a schematic illustration of the present application after island filling;
FIG. 4 is a schematic diagram of a constrained triangular mesh generation process according to the present application;
FIG. 5 is a schematic diagram of the numbering of the copper-clad area triangular meshes of the present application;
FIG. 6 is a system block diagram of the present application;
wherein, 1, a layout conversion module; 2. a constrained triangle generating module; 3. a copper-clad area identification module; 4. and an island judgment module.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. The components of the embodiments of the present application, generally described and illustrated in the figures herein, can be arranged and designed in a wide variety of different configurations.
Thus, the following detailed description of the embodiments of the present application, presented in the accompanying drawings, is not intended to limit the scope of the claimed application, but is merely representative of selected embodiments of the application. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
In the above description of the present application, it should be noted that the terms "one side", "the other side" and the like indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings or the orientation or positional relationship which the product of the application is usually placed in when used, which is only for the convenience of describing the present application and simplifying the description, and does not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and thus, should not be construed as limiting the present application. Furthermore, the terms "first," "second," and the like are used merely to distinguish one description from another, and are not to be construed as indicating or implying relative importance.
As shown in fig. 1, the present embodiment provides a method for detecting an island in an integrated circuit layout, including the following steps:
s1, converting a part defined as a hole and a part coated with copper in an integrated circuit layout into layout polygons and performing Boolean operation to form uniform layout polygons.
In some embodiments, the converting the portion defined as the hole and the portion covered with copper in the integrated circuit layout into layout polygons and performing boolean operations to form unified layout polygons includes:
s11, converting a part defined as a hole in the integrated circuit layout into a hollowed polygon; the method comprises the steps that a spacer caused by a via hole in a hole part is converted into a first hollowed polygon, when the shape of the spacer caused by the via hole is defined as a circle in a layout of an integrated circuit, the first hollowed polygon is a regular polygon, when the shape of the spacer caused by the via hole is defined as an ellipse in the layout of the integrated circuit, discrete points are taken according to the ellipse under polar coordinates with equal radian, the first hollowed polygon is a polygon formed by sequentially connecting the discrete points, and when the shape of the spacer caused by the via hole is defined as a polygon in the layout of the integrated circuit, the first hollowed polygon is a polygon defined in the layout; converting a hollowed circle, a hollowed ellipse and a hollowed polygon in a part, defined as a copper-clad part in an integrated circuit layout, in a hole part into a second hollowed polygon, wherein when the hollowed circle, the hollowed ellipse and the hollowed polygon are in the copper-clad part, the second hollowed polygon is a regular polygon, when the hollowed ellipse, the second hollowed polygon is a polygon formed by connecting discrete points in sequence, and when the hollowed polygon is in the copper-clad part, the second hollowed polygon is a polygon defined in the layout;
s12, converting a part defined as copper-clad in the integrated circuit layout into a polygon coated with copper; wherein, the routing in the copper-clad part is converted into a first copper-clad polygon according to a starting point, an end point and a width, the first copper-clad polygon is a rectangle, a pad caused by a via hole in the copper-clad part is converted into a second copper-clad polygon, the second copper-clad polygon is in a hollowed-out polygon converted by the isolation gasket, when the shape of the pad is defined as a circle in a layout of the integrated circuit, the second copper-clad polygon is a regular polygon, when the shape of the pad is defined as an ellipse in the layout of the integrated circuit, discrete points are taken according to an equal radian of the ellipse under a polar coordinate, and the second copper-clad polygon is a polygon formed by sequentially connecting the discrete points, when the shape of the bonding pad is defined as a polygon in a layout of the integrated circuit, the polygon of the second copper clad is a polygon defined in the layout, other parts of the copper clad are converted into a polygon of a third copper clad, when other parts of the copper clad are defined as circles, the polygon of the third copper clad is a regular polygon, when other parts of the copper clad are defined as ellipses, discrete points are taken according to equal radians of the ellipses under polar coordinates, the polygon of the third copper clad is a polygon formed by sequentially connecting the discrete points, and when other parts of the copper clad are defined as polygons, the polygon of the third copper clad is a polygon defined in the layout;
s13, performing Boolean operation on the first copper-clad polygon and the third copper-clad polygon to form a third new copper-clad polygon;
s14, performing Boolean difference operation on the third new copper-clad polygon, the first hollowed-out polygon and the second hollowed-out polygon respectively to form a first new copper-clad polygon;
and S15, performing Boolean operation on the first new copper-clad polygon and the second copper-clad polygon to form a uniform layout polygon.
And S2, based on the unified layout polygons and the edges thereof, carrying out mesh subdivision on the unified layout polygons and carrying out edge exchange, and generating a constraint triangular mesh with the edges of the unified layout polygons as constraints.
The method comprises the steps that triangle meshes of unified layout polygons are subdivided through Delaunay, constraint triangle meshes with the sides of the unified layout polygons as constraints are generated based on the triangle meshes divided through Delaunay, namely constraint triangle meshes are formed on the boundaries of two regions in the unified layout polygons, one of the two regions is a copper-clad region in the unified layout polygons, the copper-clad region comprises a copper-clad part defined in an integrated circuit layout, the copper-clad part is newly formed after Boolean operation, the other region is a non-copper-clad region, namely a hollowed region, the hollowed region comprises a hole part defined in the integrated circuit layout, and the hole newly formed after Boolean operation is also included.
In some embodiments, as shown in fig. 4, the mesh generation and edge exchange for the uniform layout polygon, and generating a constrained triangular mesh with the edge of the uniform layout polygon as a constraint includes: s21, mesh division is carried out on the vertexes of the unified layout polygons according to a Delaunay division rule to form mesh division; s22, collecting all sides of polygons which are not common sides of the two triangles in the mesh generation, and sequencing according to the side lengths to form a set Lost; s23, taking out the side with the longest side from the set Lost and removing the side from the set Lost, such as the side in FIG. 4
Figure DEST_PATH_IMAGE001
(ii) a S24, starting from one vertex of the side with the longest side length, searching a triangle which comprises the vertex and is provided with other two vertexes at two sides of the side, and exchanging the common side of the triangle and a neighbor triangle to obtain two new triangles, wherein the side with the longest side length is the side taken out and removed in the step S23, and the neighbor triangle is the triangle which has the common side with the triangle; from the edge, as in fig. 4
Figure 166851DEST_PATH_IMAGE001
Is sent, searches for the vertex A included and vertex C, D located on the edge
Figure 666709DEST_PATH_IMAGE001
Exchanging the common edges of the triangle ACD and the adjacent triangle DCE by the triangle ACD at two sides to obtain the triangle ACE and the triangle EDA, wherein the adjacent triangle has the common edge with the triangleExchanging the common edges of the triangle and the adjacent triangles to obtain two new triangles, wherein the adjacent triangles are triangles having common edges with the triangle; s25, repeating the step S24 until the side with the longest side length is a common side of the two adjacent triangles; s26, judging whether the set Lost is an empty set, if not, turning to the step S23, and if so, generating a constraint triangular mesh in the unified layout polygon by taking the edge of the unified layout polygon as constraint.
The polygon edges are collected without different treatment, and whether the closed hole (polygon) is formed by the copper-clad polygon edges or the edges of the hole-digging polygon is determined by input, so that an end-to-end closed line segment set is formed. And S3, searching the triangular grids in the copper-clad area based on the constrained triangular grids and numbering the triangular grids according to a neighbor searching method.
As shown in fig. 5, in some embodiments, the finding the triangular mesh in the copper-clad region based on the constrained triangular mesh and numbering the triangular mesh according to the neighbor search method includes: s31, initially setting the numbers of all triangles as unnumbered numbers; the triangle filling number of the current copper-clad area is set asfp=1; setting the copper-clad polygon to be processed currently as the secondq=1 copper-clad polygons; setting a current peripheral copper-clad grid cell setFront p Is empty; s32, to the firstqA plurality of copper-clad polygons formed from any sides of the polygonseStarting from, find the left triangle with this edge associationt1If said left triangle ist1Is unnumbered, and is provided with a trianglet1Is numbered asfpAdding it to the collectionFront p In, any side of the polygoneIs a left triangle including the sideeAnd the triangle sideeDirection and polygonal side ofeTriangles with the same direction; s33, from the setFront p Take out a triangletAnd from the collectionFront p If the triangle is removedtIs unnumbered, and the common edge is not an edge of any polygon, then the triangle is numberedShape oftThe one or more neighbor triangles of (a) join the setFront p And adding a new one to said collectionFront p The triangle of (a) is numbered asfpWherein the common edge refers to the triangletAdjacent triangles and said triangletA common edge of (a); s34, judging the setFront p If not, go to step S33, if yes, set it to be emptyfp=fp+1,q=q+1, executing step S32 until the processing is completed for the copper-clad polygons in all the uniform layout polygons, and ending.
And S4, judging the island based on the area and the size of the triangular meshes with the same number. As shown in fig. 5, the numbers 1, 2, 3, 4 and 4 correspond to different copper-clad regions, and the unnumbered portions correspond to the hollow regions. And respectively calculating the area sum of all the triangular meshes with the number 1, the area sum of all the triangular meshes with the number 2, the area sum of all the triangular meshes with the number 3, the area sum of all the triangular meshes with the number 4 and the area sum of all the triangular meshes with the number 5, and judging the island according to the sizes of the area sums with different numbers.
In some embodiments, the determining islanding based on the areas and sizes of the same-numbered triangular meshes comprises: calculating the areas of all triangular meshes with positive serial numbers, adding the triangular surface accumulations with the same serial numbers into the area sum set classified by the serial numbers, forming one-to-one correspondence relationship between the area sums and the serial numbers, and finding out the serial numbers corresponding to the triangular surface accumulations and smaller than a given threshold value, wherein the areas corresponding to the serial numbers are detected islands.
Converting an integrated circuit layout into a gridding form, then carrying out gridding on the integrated circuit layout, carrying out conversion processing on the divided grids to generate a constraint triangular grid of a unified layout which takes the boundary of a layout polygon as constraint, extracting the triangular grid in a copper-clad area, numbering the triangular grid according to a neighbor search method, and judging whether a hole is an island or not based on the area sum of the grids in the copper-clad area; not only avoid if not detecting the reliability that island direct production influences the board, can also avoid the island quantity of integrated circuit territory many, intensive difficult discernment, it is wasted time and energy to lean on the manual work to seek the island.
As shown in fig. 6, as a second aspect of this embodiment, there is provided a system for detecting an island in an integrated circuit layout, including a layout conversion module 1, a constrained triangle generation module 2, a copper-clad region identification module 3, and an island judgment module 4; the layout conversion module 1 is used for converting a part defined as a hole and a part coated with copper in an integrated circuit layout into layout polygons and performing Boolean operation to form uniform layout polygons; the constraint triangle generation module 2 is used for carrying out mesh subdivision and edge exchange on the unified layout polygon based on the unified layout polygon and the edge thereof, and generating a constraint triangle mesh with the edge of the unified layout polygon as constraint; the copper-clad area identification module 3 is used for searching the triangular grids in the copper-clad area based on the constrained triangular grids and numbering the triangular grids according to a neighbor searching method; the island judgment module 4 is used for judging an island based on the area and the size of the triangular meshes with the same number.
The layout conversion module 1 comprises a hole conversion unit, a copper-clad conversion unit, a third new copper-clad polygonal Boolean operation unit, a first new copper-clad polygonal Boolean operation unit and a uniform layout polygonal Boolean operation unit; the hole conversion unit is used for converting a part defined as a hole in the integrated circuit layout into a hollowed polygon; the method comprises the steps that a spacer caused by a via hole in a hole part is converted into a first hollowed polygon, when the shape of the spacer caused by the via hole is defined as a circle in a layout of an integrated circuit, the first hollowed polygon is a regular polygon, when the shape of the spacer caused by the via hole is defined as an ellipse in the layout of the integrated circuit, discrete points are taken according to the ellipse under polar coordinates with equal radian, the first hollowed polygon is a polygon formed by sequentially connecting the discrete points, and when the shape of the spacer caused by the via hole is defined as a polygon in the layout of the integrated circuit, the first hollowed polygon is a polygon defined in the layout; converting a hollowed circle, a hollowed ellipse and a hollowed polygon in a part, defined as a copper-clad part, of an integrated circuit layout in a hole into a second hollowed polygon, wherein the second hollowed polygon is a regular polygon when the hollowed circle, the hollowed ellipse and the hollowed polygon are hollowed in the part, defined as the hollowed circle, defined as the copper-clad part, discrete points are taken according to the ellipse at equal radian under polar coordinates when the hollowed polygon is defined as the hollowed ellipse, the second hollowed polygon is a polygon formed by sequentially connecting the discrete points, and the second hollowed polygon is a polygon defined in the layout when the hollowed polygon is defined as the copper-clad part; the copper-clad conversion unit is used for converting a part defined as copper-clad in the integrated circuit layout into a polygon coated with copper; wherein, the routing in the copper-clad part is converted into a first copper-clad polygon according to a starting point, an end point and a width, the first copper-clad polygon is a rectangle, a pad caused by a via hole in the copper-clad part is converted into a second copper-clad polygon, the second copper-clad polygon is in a hollowed-out polygon converted by the isolation gasket, when the shape of the pad is defined as a circle in a layout of the integrated circuit, the second copper-clad polygon is a regular polygon, when the shape of the pad is defined as an ellipse in the layout of the integrated circuit, discrete points are taken according to an equal radian of the ellipse under a polar coordinate, and the second copper-clad polygon is a polygon formed by sequentially connecting the discrete points, when the shape of the bonding pad is defined as a polygon in a layout of the integrated circuit, the polygon of the second copper clad is a polygon defined in the layout, other parts of the copper clad are converted into a polygon of a third copper clad, when other parts of the copper clad are defined as circles, the polygon of the third copper clad is a regular polygon, when other parts of the copper clad are defined as ellipses, discrete points are taken according to equal radians of the ellipses under polar coordinates, the polygon of the third copper clad is a polygon formed by sequentially connecting the discrete points, and when other parts of the copper clad are defined as polygons, the polygon of the third copper clad is a polygon defined in the layout;
the third new copper-clad polygon Boolean operation unit is used for performing Boolean operation on the first copper-clad polygon and the third copper-clad polygon to form a third new copper-clad polygon; the first new copper-clad polygon Boolean operation unit is used for performing Boolean difference operation on the third new copper-clad polygon and the first hollowed-out polygon and the second hollowed-out polygon respectively to form a first new copper-clad polygon; the uniform layout polygon Boolean operation unit is used for performing Boolean operation on the first new copper-clad polygon and the second copper-clad polygon to form a uniform layout polygon.
The constrained triangle generation module 2 comprises a first unit, a second unit, a third unit, a fourth unit, a fifth unit and a sixth unit; the first unit is used for mesh division of the vertexes of the unified layout polygons according to a Delaunay division rule to form mesh division; the second unit is used for collecting all the sides of the polygon which are not the common side of the two triangles in the mesh generation, and forming a set Lost according to the side length sorting; the third unit is used for taking out the side with the longest side from the set Lost and removing the side from the set Lost; the fourth unit starts from one vertex of the side with the longest side length, searches for a triangle which comprises the vertex and is positioned at two sides of the side, and exchanges the common side of the triangle and a neighbor triangle thereof to obtain two new triangles, wherein the neighbor triangle is a triangle which has a common side with the triangle; the fifth unit is configured to repeat the content executed by the third unit until the side with the longest side is a common side of two neighboring triangles; and the sixth unit is used for judging whether the set Lost is an empty set, if not, returning to the third unit, and if so, generating a constraint triangular mesh in the unified layout polygon with the edges of the unified layout polygon as constraints.
The copper-clad area identification module 3 comprises a first identification unit, a second identification unit, a third identification unit and a fourth identification unit; the first identification unit is used for initially setting the serial numbers of all the triangles to be unnumbered; the triangle filling number of the current copper-clad area is set asfp=1; setting the copper-clad polygon to be processed currently as the secondq=1 copper-clad polygons; setting the current peripheral copper-clad grid unit setFront p Is empty; the second identification unit is used for pairingFirst, theqA plurality of copper-clad polygons formed from any sides of the polygonseStarting from, find the left triangle with this edge associationt1If said left triangle ist1Is unnumbered, and is provided with a trianglet1Is numbered asfpAdd it to the collectionFront p In (2), any side of the polygoneIs a left triangle ofeAnd the triangle sideeDirection and polygonal side ofeTriangles with the same direction; the third identification unit is used for identifying the collectionFront p Take out a triangletAnd from the collectionFront p If the triangle is removedtIs unnumbered and the common edge is not an edge of any polygon, the triangle is numberedtThe one or more neighbor triangles of (a) join the setFront p And adding a new one to said collectionFront p The triangle of (a) is numbered asfpWherein the common edge refers to the triangletAdjacent triangle and said triangletA common edge of (a); the fourth identification unit is used for judging the setFront p Whether the current collection is an empty collection or not, if not, returning to a third identification unit, and if so, settingfp=fp+1,q=qAnd +1, returning to the second identification unit until the copper-clad polygons in all unified layout polygons are processed.
The island judgment based on the area and the size of the triangular meshes with the same number comprises the following steps: calculating the areas of all triangular meshes with positive serial numbers, adding the accumulation of triangular faces with the same serial numbers to a set of area sums classified by the serial numbers, forming one-to-one correspondence relationship between the area sums and the serial numbers, and finding out the serial numbers corresponding to the triangular areas and smaller than a given threshold value, wherein the areas corresponding to the serial numbers are detected islands.
Finally, the above embodiments are only used for illustrating the technical solutions of the present application and not for limiting, although the present application is described in detail with reference to the preferred embodiments, it should be understood by those skilled in the art that modifications or equivalent substitutions can be made on the technical solutions of the present application without departing from the spirit and scope of the technical solutions of the present application, and all the technical solutions of the present application should be covered by the claims of the present application.

Claims (8)

1. A method for detecting an island in an integrated circuit layout is characterized by comprising the following steps: s1, converting a part defined as a hole and a part coated with copper in an integrated circuit layout into layout polygons and performing Boolean operation to form uniform layout polygons; converting the part defined as the hole and the part coated with copper in the integrated circuit layout into layout polygons and performing Boolean operation to form uniform layout polygons, wherein the step of forming uniform layout polygons comprises the following steps:
s11, converting a part defined as a hole in the integrated circuit layout into a hollowed polygon; the method comprises the steps that a spacer caused by a via hole in a hole part is converted into a first hollowed polygon, when the shape of the spacer caused by the via hole is defined as a circle in a layout of an integrated circuit, the first hollowed polygon is a regular polygon, when the shape of the spacer caused by the via hole is defined as an ellipse in the layout of the integrated circuit, discrete points are taken according to the ellipse under polar coordinates with equal radian, the first hollowed polygon is a polygon formed by sequentially connecting the discrete points, and when the shape of the spacer caused by the via hole is defined as a polygon in the layout of the integrated circuit, the first hollowed polygon is a polygon defined in the layout; converting a hollowed circle, a hollowed ellipse and a hollowed polygon in a part, defined as a copper-clad part, of an integrated circuit layout in a hole into a second hollowed polygon, wherein the second hollowed polygon is a regular polygon when the hollowed circle, the hollowed ellipse and the hollowed polygon are hollowed in the part, defined as the hollowed circle, defined as the copper-clad part, discrete points are taken according to the ellipse at equal radian under polar coordinates when the hollowed polygon is defined as the hollowed ellipse, the second hollowed polygon is a polygon formed by sequentially connecting the discrete points, and the second hollowed polygon is a polygon defined in the layout when the hollowed polygon is defined as the copper-clad part;
s12, converting a part defined as copper-clad in the integrated circuit layout into a polygon coated with copper; wherein, the routing in the copper-clad part is converted into a first copper-clad polygon according to a starting point, an end point and a width, the first copper-clad polygon is a rectangle, a pad caused by a via hole in the copper-clad part is converted into a second copper-clad polygon, the second copper-clad polygon is in a hollowed polygon converted by the isolation gasket, when the shape of the pad is defined as a circle in a layout of the integrated circuit, the second copper-clad polygon is a regular polygon, when the shape of the pad is defined as an ellipse in the layout of the integrated circuit, discrete points are taken according to the equal radian of the ellipse under a polar coordinate, and the second copper-clad polygon is a polygon formed by sequentially connecting the discrete points, when the shape of the bonding pad is defined as a polygon in a layout of the integrated circuit, the polygon of the second copper clad is a polygon defined in the layout, other parts of the copper clad are converted into a polygon of a third copper clad, when other parts of the copper clad are defined as circles, the polygon of the third copper clad is a regular polygon, when other parts of the copper clad are defined as ellipses, discrete points are taken according to equal radians of the ellipses under polar coordinates, the polygon of the third copper clad is a polygon formed by sequentially connecting the discrete points, and when other parts of the copper clad are defined as polygons, the polygon of the third copper clad is a polygon defined in the layout;
s13, performing Boolean operation on the first copper-clad polygon and the third copper-clad polygon to form a third new copper-clad polygon;
s14, performing Boolean difference operation on the third new copper-clad polygon, the first hollowed polygon and the second hollowed polygon respectively to form a first new copper-clad polygon;
s15, performing Boolean operation on the first new copper-clad polygon and the second copper-clad polygon to form a uniform layout polygon; s2, based on the unified layout polygons and the sides thereof, carrying out mesh subdivision on the unified layout polygons and carrying out side exchange to generate a constrained triangular mesh with the sides of the unified layout polygons as constraints; s3, searching the triangular meshes in the copper-clad area based on the constrained triangular meshes and numbering the triangular meshes according to a neighbor searching method;
and S4, judging the island based on the area and the size of the triangular meshes with the same number.
2. The method according to claim 1, wherein the mesh generation and edge exchange of the unified layout polygon are performed to generate a constrained triangular mesh constrained by the edges of the unified layout polygon, and the method comprises: s21, mesh division is carried out on the vertexes of the unified layout polygons according to a Delaunay division rule to form mesh division; s22, collecting all the edges of the polygon which are not the common edge of the two triangles in the mesh generation, and sequencing according to the edge lengths to form a set Lost;
s23, taking out the side with the longest side length from the set Lost and removing the side from the set Lost; s24, starting from one vertex of the side with the longest side length, searching a triangle which comprises the vertex and is positioned at two sides of the side, exchanging the common side of the triangle and a neighbor triangle thereof to obtain two new triangles, wherein the neighbor triangle is a triangle which has a common side with the triangle; s25, repeating the step S24 until the side with the longest side length is a common side of the two adjacent triangles; s26, judging whether the set Lost is an empty set, if not, turning to the step S23, and if so, generating a constraint triangular mesh in the unified layout polygon by taking the edge of the unified layout polygon as constraint.
3. The method for detecting the islanding of the integrated circuit layout according to claim 2, wherein the step of searching the triangular meshes in the copper-clad area based on the constrained triangular meshes and numbering the triangular meshes according to a neighbor searching method comprises the following steps: s31, initially setting the numbers of all triangles as unnumbered numbers; the triangle filling number of the current copper-clad area is set asfp=1; setting the copper-clad polygon to be processed currently as the secondq=1 copper-clad polygons; setting the current peripheral copper-clad grid unit setFront p Is empty; s32, to the firstqA plurality of copper-clad polygons formed from any side of the polygoneStarting from, find the left triangle with this edge associationt1If said left triangle ist1Is unnumbered, and is provided with a trianglet1Is numbered asfpAdding it to the collectionFront p In, any side of the polygoneIs a left triangle including the sideeAnd the triangle sideeDirection and polygonal side ofeTriangles with the same direction; s33, from the setFront p Take out a triangletAnd from the collectionFront p If the triangle is removedtIs unnumbered and the common edge is not an edge of any polygon, the triangle is numbered as unnumberedtThe one or more neighbor triangles of (a) join the setFront p And adding a new one to said collectionFront p The triangle of (a) is numbered asfpWherein the common edge refers to the triangletAdjacent triangle and said triangletA common edge of (a); s34, judging the setFront p If not, go to step S33, if yes, set it to be emptyfp=fp+1,q=q+1, executing step S32 until the processing is completed for the copper-clad polygons in all the uniform layout polygons, and ending.
4. The method according to claim 3, wherein the determining the islanding based on the area and the size of the triangular meshes with the same number comprises: calculating the areas of all triangular meshes with positive serial numbers, adding the accumulation of triangular faces with the same serial numbers to a set of area sums classified by the serial numbers, forming one-to-one correspondence relationship between the area sums and the serial numbers, and finding out the serial numbers corresponding to the triangular areas and smaller than a given threshold value, wherein the areas corresponding to the serial numbers are detected islands.
5. A system for detecting an island in an integrated circuit layout is characterized by comprising a layout conversion module, a constrained triangle generation module, a copper-clad region identification module and an island judgment module; the layout conversion module is used for converting a part defined as a hole and a part coated with copper in the integrated circuit layout into layout polygons and performing Boolean operation to form uniform layout polygons; the constraint triangle generation module is used for carrying out mesh subdivision and edge exchange on the unified layout polygon based on the unified layout polygon and the edge thereof to generate a constraint triangle mesh with the edge of the unified layout polygon as constraint; the copper-clad area identification module is used for searching the triangular grids in the copper-clad area based on the constrained triangular grids and numbering the triangular grids according to a neighbor searching method; the island judgment module is used for judging an island based on the area and the size of the triangular meshes with the same number; the layout conversion module comprises a hole conversion unit, a copper-clad conversion unit, a third new copper-clad polygonal Boolean operation unit, a first new copper-clad polygonal Boolean operation unit and a uniform layout polygonal Boolean operation unit; the hole conversion unit is used for converting a part defined as a hole in the integrated circuit layout into a hollowed polygon; the method comprises the steps that a spacer caused by a via hole in a hole part is converted into a first hollowed polygon, when the shape of the spacer caused by the via hole is defined as a circle in a layout of an integrated circuit, the first hollowed polygon is a regular polygon, when the shape of the spacer caused by the via hole is defined as an ellipse in the layout of the integrated circuit, discrete points are taken according to the ellipse under polar coordinates with equal radian, the first hollowed polygon is a polygon formed by sequentially connecting the discrete points, and when the shape of the spacer caused by the via hole is defined as a polygon in the layout of the integrated circuit, the first hollowed polygon is a polygon defined in the layout; converting a hollowed circle, a hollowed ellipse and a hollowed polygon in a part, defined as a copper-clad part, of an integrated circuit layout in a hole into a second hollowed polygon, wherein the second hollowed polygon is a regular polygon when the hollowed circle, the hollowed ellipse and the hollowed polygon are hollowed in the part, defined as the hollowed circle, defined as the copper-clad part, discrete points are taken according to the ellipse at equal radian under polar coordinates when the hollowed polygon is defined as the hollowed ellipse, the second hollowed polygon is a polygon formed by sequentially connecting the discrete points, and the second hollowed polygon is a polygon defined in the layout when the hollowed polygon is defined as the copper-clad part; the copper-clad conversion unit is used for converting a part defined as copper-clad in the integrated circuit layout into a polygon coated with copper; wherein, the routing in the copper-clad part is converted into a first copper-clad polygon according to a starting point, an end point and a width, the first copper-clad polygon is a rectangle, a pad caused by a via hole in the copper-clad part is converted into a second copper-clad polygon, the second copper-clad polygon is in a hollowed polygon converted by the isolation gasket, when the shape of the pad is defined as a circle in a layout of the integrated circuit, the second copper-clad polygon is a regular polygon, when the shape of the pad is defined as an ellipse in the layout of the integrated circuit, discrete points are taken according to the equal radian of the ellipse under a polar coordinate, and the second copper-clad polygon is a polygon formed by sequentially connecting the discrete points, when the shape of the bonding pad is defined as a polygon in a layout of the integrated circuit, the polygon of the second copper clad is a polygon defined in the layout, other parts of the copper clad are converted into a polygon of a third copper clad, when other parts of the copper clad are defined as circles, the polygon of the third copper clad is a regular polygon, when other parts of the copper clad are defined as ellipses, discrete points are taken according to equal radians of the ellipses under polar coordinates, the polygon of the third copper clad is a polygon formed by sequentially connecting the discrete points, and when other parts of the copper clad are defined as polygons, the polygon of the third copper clad is a polygon defined in the layout;
the third new copper-clad polygon Boolean operation unit is used for performing Boolean operation on the first copper-clad polygon and the third copper-clad polygon to form a third new copper-clad polygon; the first new copper-clad polygon Boolean operation unit is used for performing Boolean difference operation on the third new copper-clad polygon and the first hollowed-out polygon and the second hollowed-out polygon respectively to form a first new copper-clad polygon; the uniform layout polygon Boolean operation unit is used for performing Boolean operation on the first new copper-clad polygon and the second copper-clad polygon to form a uniform layout polygon.
6. The system for integrated circuit layout islanding detection according to claim 5, wherein the constraint triangle generation module comprises a first unit, a second unit, a third unit, a fourth unit, a fifth unit and a sixth unit; the first unit is used for mesh division of the vertexes of the unified layout polygons according to a Delaunay division rule to form mesh division; the second unit is used for collecting all sides of polygons which are not common sides of the two triangles in the mesh generation and forming a set Lost according to the side length sequencing; the third unit is used for taking out the side with the longest side from the set Lost and removing the side from the set Lost; the fourth unit starts from one vertex of the side with the longest side length, searches for a triangle which comprises the vertex and is positioned at two sides of the side, and exchanges the common side of the triangle and a neighbor triangle thereof to obtain two new triangles, wherein the neighbor triangle is a triangle which has a common side with the triangle; the fifth unit is used for repeating the content executed by the third unit until the side with the longest side length is a common side of two adjacent triangles; and the sixth unit is used for judging whether the set Lost is an empty set, if not, returning to the third unit, and if so, generating a constraint triangular mesh in the unified layout polygon with the edges of the unified layout polygon as constraints.
7. The system for detecting the island in the integrated circuit layout according to claim 6, wherein the copper-clad area identification module comprises a first identification unit, a second identification unit, a third identification unit and a fourth identification unit; the first identification unit is used for initially setting the serial numbers of all the triangles to be unnumbered; the triangle filling number of the current copper-clad area is set asfp=1; setting the copper-clad polygon to be processed currently as the secondq=1 copper-clad polygons; setting a current peripheral copper-clad grid cell setFront p Is empty; the second identification unit is used for the second identification unitqA plurality of copper-clad polygons formed from any sides of the polygonseStarting from, find the left triangle with this edge associationt1If said left triangle ist1Is unnumbered, and is provided with a trianglet1Is numbered asfpAdd it to the collectionFront p In, any side of the polygoneIs a left triangle including the sideeAnd the triangle sideeDirection and polygonal side ofeTriangles with the same direction; the third identification unit is used for identifying the collectionFront p Take out a triangletAnd from the collectionFront p If the triangle is removedtIs unnumbered and the common edge is not an edge of any polygon, the triangle is numberedtThe one or more neighbor triangles of (a) join the setFront p And adding a new one to said collectionFront p The triangle of (a) is numbered asfpWherein the common edge refers to the triangletAdjacent triangles and said triangletA common edge of (a); the fourth identification unit is used for judging the setFront p Whether the current collection is an empty collection or not, if not, returning to a third identification unit, and if so, settingfp=fp+1,q=qAnd +1, returning to the second identification unit until the copper-clad polygons in all unified layout polygons are processed.
8. A system for integrated circuit layout islanding detection according to claim 7, wherein: the island judgment based on the area and the size of the triangular meshes with the same number comprises the following steps: calculating the areas of all triangular meshes with positive serial numbers, adding the accumulation of triangular faces with the same serial numbers to a set of area sums classified by the serial numbers, forming one-to-one correspondence relationship between the area sums and the serial numbers, and finding out the serial numbers corresponding to the triangular areas and smaller than a given threshold value, wherein the areas corresponding to the serial numbers are detected islands.
CN202211633422.3A 2022-12-19 2022-12-19 Method and system for detecting island in integrated circuit layout Active CN115618802B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211633422.3A CN115618802B (en) 2022-12-19 2022-12-19 Method and system for detecting island in integrated circuit layout

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211633422.3A CN115618802B (en) 2022-12-19 2022-12-19 Method and system for detecting island in integrated circuit layout

Publications (2)

Publication Number Publication Date
CN115618802A CN115618802A (en) 2023-01-17
CN115618802B true CN115618802B (en) 2023-03-14

Family

ID=84880030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211633422.3A Active CN115618802B (en) 2022-12-19 2022-12-19 Method and system for detecting island in integrated circuit layout

Country Status (1)

Country Link
CN (1) CN115618802B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117034858B (en) * 2023-10-10 2023-12-29 北京智芯仿真科技有限公司 Method and device for rapidly meshing large-area overlapped integrated circuit layout

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523154B2 (en) * 2000-12-14 2003-02-18 International Business Machines Corporation Method for supply voltage drop analysis during placement phase of chip design
CN110689569B (en) * 2019-12-10 2020-06-30 北京唯智佳辰科技发展有限责任公司 Integrated circuit layout field identification and grid subdivision processing method and device
CN112395821B (en) * 2020-10-27 2024-05-14 胜宏科技(惠州)股份有限公司 PCB molding outer line processing method and equipment
CN114859175A (en) * 2022-05-11 2022-08-05 王宇波 Single-phase fault handling and island detection system and method

Also Published As

Publication number Publication date
CN115618802A (en) 2023-01-17

Similar Documents

Publication Publication Date Title
CN115618803B (en) Method and system for detecting micropores in integrated circuit layout
CN101299834B (en) Method for checking base station position
CN115618802B (en) Method and system for detecting island in integrated circuit layout
CN100383797C (en) Layer nettimer extraction method of integrated circuit board layout
CN115600549B (en) Accurate detection method for determining integrated circuit layout design defects based on grid subdivision
CN117034857B (en) Method and device for identifying integrated circuit layout network by polygon large-area overlapping
CN117034858B (en) Method and device for rapidly meshing large-area overlapped integrated circuit layout
CN112288807B (en) Method and device for generating intersection data in high-precision map
CN117057308A (en) Integrated circuit layout fusion and accurate diagnosis method and device for large-area superposition
CN117852481B (en) Method and system for quickly determining integrated circuit layout netlist information
CN104954164B (en) A kind of method that data center network structure is fault-tolerant
CN115272185A (en) Identification method and identification device for unitized mask defects
WO2020215505A1 (en) Multi-dimensional correlation generation method and system for network alarm rules
CN106815380B (en) Method and system for extracting parasitic resistance
CN112215123B (en) Target detection method, device and storage medium
CN101178809A (en) Estimation method for integrate circuit function yield
CN116522854B (en) Integrated circuit simulation model generation and calculation method and system of multi-power supply system
CN117876461A (en) BIN data structure-based distributed key area extraction method
CN115221835B (en) Physical verification method and device for chip design
US8621411B1 (en) Generating and selecting bit-stack candidates from a graph using dynamic programming
CN115618789B (en) Method and system for automatically eliminating isolated island and micropore of integrated circuit layout
CN107977372B (en) Labeling method and device for face element notes
CN114722547A (en) Photovoltaic module serial line arrangement determining method and device, electronic equipment and storage medium
JP2010233097A (en) Program, device, and method for estimating connection state
CN105871714B (en) Based on the fault-tolerant method of crossed cube network struction data center network

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