CN117057308B - Integrated circuit layout fusion and accurate diagnosis method and device for large-area superposition - Google Patents

Integrated circuit layout fusion and accurate diagnosis method and device for large-area superposition Download PDF

Info

Publication number
CN117057308B
CN117057308B CN202311303418.5A CN202311303418A CN117057308B CN 117057308 B CN117057308 B CN 117057308B CN 202311303418 A CN202311303418 A CN 202311303418A CN 117057308 B CN117057308 B CN 117057308B
Authority
CN
China
Prior art keywords
layout
polygon
polygons
triangle
network
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
CN202311303418.5A
Other languages
Chinese (zh)
Other versions
CN117057308A (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 CN202311303418.5A priority Critical patent/CN117057308B/en
Publication of CN117057308A publication Critical patent/CN117057308A/en
Application granted granted Critical
Publication of CN117057308B publication Critical patent/CN117057308B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

The invention discloses a large-area overlapped integrated circuit layout fusion and accurate diagnosis method and device, which are used for fusing overlapped layouts by adopting the technology of lost edge recovery and grid unit traversal based on initial grid subdivision, so that the problems that the short circuit and open circuit diagnosis are directly carried out on a given number of copper-clad polygons, so that huge diagnosis time is spent, and a large amount of useless error diagnosis information for design engineers is generated are avoided; the network of the grid unit is marked to form a final non-overlapping integrated circuit layout and network identification thereof, the layout design is diagnosed in the network identification process, the precise diagnosis technology based on the fused layout is added on the basis, and the identification state and the identification network of the neighbor triangle are judged in the traversing and identification process of the triangle unit, so that the corresponding diagnosis conclusion is given. The invention realizes the precise diagnosis of the integrated circuit while integrating the integrated circuit layout overlapped in a large area.

Description

Integrated circuit layout fusion and accurate diagnosis method and device for large-area superposition
Technical Field
The invention belongs to the technical field of integrated circuit layout detection, and particularly relates to a large-area overlapped integrated circuit layout fusion and accurate diagnosis method and device.
Background
The fabrication process of integrated circuits typically involves schematic design, layout design, and fabrication of the integrated circuit based on the layout of the design. Integrated circuit fabrication is accomplished by integrated circuit suppliers, whose processes typically include tens of steps of circuit mask fabrication, polishing, oxidizing, hybridizing, photolithography, diffusing, depositing, metallizing, etc., to ultimately effect transfer of the circuit mask to the wafer, thereby achieving very complex circuit functions through high density electronic circuitry and component distribution of the wafer. Because the integrated circuit manufacturing process is extremely complex, in order to ensure the accuracy of chip manufacturing and the highest possible yield, the integrated circuit suppliers require that the designed integrated circuit layout meet strict design rules, and in order to ensure the process requirements of small manufacturing procedures, engineers may not precisely give layout shapes once but give the layout shapes from coarse to fine in batches, the layout shapes of given coarse sizes consider a wide range of design outlines, errors of the magnitude of the coarse sizes are allowed to exist, and the layout shapes of fine sizes accurately correct the design outlines given under the wide range again at different parts, and the magnitude of the allowed errors is of the magnitude of the fine sizes. Therefore, the layout design file generated by the design engineer through the integrated circuit layout design software actually contains information related to the preparation process, and the layout shape from thick to thin is given for different process sizes, and the finally formed layout is the designed layout shape.
For the layout shapes which are overlapped from thick to thin and are large in area, the traditional integrated circuit layout diagnosis method does not fuse the overlapped layout polygons, directly marks the network of the overlapped layout polygons which are originally input, diagnoses open circuits and short circuits of the marked network, so that incorrect diagnosis is most likely to occur, the integrated circuit design is given out to be in tens of thousands of design errors, however, most of the conclusions are not wanted by design engineers, the engineers need to select only a few or dozens of really useful correct diagnosis conclusions from the tens of thousands of diagnosis conclusions through comparison and judgment, the discrimination of the correct diagnosis conclusions occupies most of time of the engineers instead, and the total time cost can be even compared with the time of manually diagnosing the original design by the engineers, so that the integrated circuit layout diagnosis software loses the use value.
Disclosure of Invention
Aiming at the defects of the prior art, the application provides a large-area overlapped integrated circuit layout fusion and accurate diagnosis method and device.
In a first aspect, the application provides a large-area stacked integrated circuit layout fusion and accurate diagnosis method, which comprises the following steps:
Obtaining layout information in an integrated circuit layout, wherein the layout information comprises layout elements, layout layers corresponding to the layout elements and layout networks corresponding to the layout elements, the layout elements belonging to the same layout layer are classified into the same group, the same group of layout elements form an initial layout of the layer, and the layout elements comprise copper-covered polygons, hollowed circles, bonding pads, anti-bonding pads, wirings and through holes;
dispersing the wiring, the hollowed circle, the bonding pad and the anti-bonding pad in the initial layout into polygons, setting the copper-clad polygons, the wiring and the bonding pad as positive=1 polygons, wherein positive=1 polygons are arranged in a counterclockwise sequence, setting the hollowed polygons, the hollowed circle and the anti-bonding pad as positive= -1 polygons, wherein positive= -1 polygons are arranged in a clockwise sequence, and the negative polygons are arranged in the vertex sequence;
forming an initial Delaunay triangle mesh subdivision based on the vertexes of all polygons, and obtaining an initial mesh subdivision result;
restoring the edges of the lost polygon through an edge exchange method based on the initial mesh subdivision result, and inserting new mesh nodes at the intersection points of the edges of all the different polygons if the edges of the different polygons intersect to obtain a complete mesh subdivision result;
Traversing the units in the complete mesh subdivision result from each side of each positive polygon in all polygons, identifying the units in the traversed complete mesh subdivision result based on layout networks corresponding to all positive polygons, judging the identification state and the layout networks of the units in each complete mesh subdivision result in the identification process, analyzing whether the layout networks identified by the units in the complete mesh subdivision result are consistent with the layout networks corresponding to the positive polygons, and if not, giving a first type of diagnosis conclusion;
starting from each side of each positive polygon, finding a left triangle associated with the side, and according to the identification state of the left triangle, if the state is not identified, giving a second type of diagnosis conclusion, and if the state is identified, but the identified network is inconsistent, giving a third type of diagnosis conclusion;
and comparing the layout network corresponding to the via hole with the layout network of the grid unit electrically connected with the via hole from each via hole connected with different layout layers, if the state of the grid unit is unidentified, giving a fourth type diagnosis conclusion, and if the state is identified, but the identified networks are inconsistent, giving a fifth type diagnosis conclusion.
In some embodiments, the discretizing the trace, the hollowed circle, the pad and the anti-pad in the initial layout into polygons includes:
the step of dispersing the wiring into polygons is as follows:
converting the wiring of the copper-clad part in the initial layout into a copper-clad rectangle according to a starting point, an ending point and a width, adding a first semicircle and a second semicircle, wherein the diameter side of the first semicircle is the wiring broadside where the starting point is located, and the diameter side of the second semicircle is the wiring broadside where the ending point is located;
a preset discrete number, wherein first semicircle discrete points are formed based on the first semicircle and the preset discrete number, the discrete points are arranged anticlockwise to form a first semicircle polygon, second semicircle discrete points are formed based on the second semicircle and the preset discrete number, and the discrete points are arranged anticlockwise to form a second semicircle polygon;
combining the copper-clad rectangle, the first half polygon and the second half polygon to form a composite polygon: and directly splicing the discrete points which form the first half polygon and are arranged anticlockwise with the discrete points which form the second half polygon to form a composite polygon with the discrete points arranged anticlockwise.
In some embodiments, the discretizing the trace, the hollowed circle, the pad and the anti-pad in the initial layout into polygons further includes:
The step of dispersing the hollowed-out circle and the anti-bonding pad into a polygon is as follows:
when the shapes of the hollowed circles and the anti-bonding pads are defined as circles in layout elements of the integrated circuit layout, discretizing the circles into equilateral polygons, wherein the polygons discretized by the hollowed circles and the anti-bonding pads are first equilateral polygons, and the vertexes of the first equilateral polygons are arranged clockwise;
when the shapes of the hollowed circles and the anti-bonding pads are defined as ellipses in layout elements of the integrated circuit layout, taking third discrete points according to equal radians of the ellipses under polar coordinates, wherein the polygons formed by the hollowed circles and the anti-bonding pads by discrete mode are third polygons formed by the third discrete points in sequence, and vertexes of the third polygons are arranged clockwise.
In some embodiments, the discretizing the trace, the hollowed circle, the pad and the anti-pad in the initial layout into polygons further includes:
the step of discretizing the bonding pad into a polygon is:
when the shape of the bonding pad is defined as a circle in layout elements of the integrated circuit layout, discretizing the circle into an equilateral polygon, wherein the polygon into which the bonding pad is discretized is a second equilateral polygon, and the vertexes of the second equilateral polygon are arranged anticlockwise;
when the shape of the bonding pad is defined as an ellipse in layout elements of the integrated circuit layout, taking a fourth discrete point according to the equal radian of the ellipse under the polar coordinate, wherein the polygon which is formed by the discretization of the bonding pad is a fourth polygon which is formed by sequentially connecting the fourth discrete points, and the vertexes of the fourth polygon are arranged anticlockwise.
In some embodiments, the recovering the edges of the missing polygon by an edge exchange method based on the initial mesh subdivision result, if the edges of different polygons intersect, inserting new mesh nodes at the intersection points of the edges of all the different polygons, to obtain a complete mesh subdivision result, including:
step A1: collecting all sides of polygons which are not common sides of two triangles, and sorting according to the side length to form a set Lost;
step A2: extracting the longest edge from the set LostAnd removing it from the collection Lost;
step A3: from the edgeIs sent out by the vertex A, searching for the vertex A and the vertex C, D is located on the side +.>Triangle delta ACD at two sides is exchanged with the public sides of the triangle delta ACD and the neighbor triangle delta DCE to obtain triangle delta ACE and delta EDA, wherein the neighbor triangle represents a triangle with the public sides with the triangle;
step A4: if edge isWithout intersecting any other polygon edge, the search is repeated to include vertex A and two other vertices are located at edge +.>Exchange of triangles on both sides with common edges of their neighbor triangles until edges +.>Is the common edge of two neighbor triangles;
step A5: if find the edgeThe intersected edges are edges of another polygon, a vertex and a grid node are newly added at the intersection point of the two edges, the grid node is inserted into a Delaunay triangle grid of an initial grid subdivision result, the grid node divides two neighbor triangles into four triangles, and the vertex divides the two intersected edges into four edges sharing the vertex;
Step A6: judging whether the set Lost is an empty set, if not, re-taking out the longest side from the set Lost, removing the longest side from the set Lost and continuing the side exchange, if yes, ending the side exchange, and obtaining a complete mesh subdivision result.
In some embodiments, the traversing the units in the complete mesh subdivision result from each side of each positive polygon in all polygons, identifying the units in the complete mesh subdivision result after traversing based on the layout network corresponding to all positive polygons, judging the identification state and the layout network of the units in each complete mesh subdivision result in the identification process, analyzing whether the layout network identified by the units in the complete mesh subdivision result is consistent with the layout network corresponding to the positive polygons, and if not, giving a first type of diagnosis conclusion, including:
step B1: initially setting the identification states of all triangles in the cells in the complete mesh subdivision result as unidentified, and setting a current peripheral copper-clad mesh cell setFront of the product p Setting the q=1th polygon in the current processing for the empty set, and obtaining the network Net corresponding to the q-th polygon q
Step B2: ending when q > the number of polygons; otherwise, if the current processed q-th polygon is a positive polygon, turning to the step B3, and if the current processed q-th polygon is a negative polygon, setting q=q+1, and continuing to turning to the step B2;
step B3: for the q positive polygon, starting from any side e of the polygon, finding a left triangle t1 associated with the side, if the identification state of the left triangle t1 is not identified, setting the identification state of the left triangle t1 as identified, and identifying that the network is Net q Add it to the set Front p In (a) and (b); otherwise, if the identification state of the left triangle t1 is identified, the identification network is Net t1 If Net q Not equal to Net t1 Network Net giving integrated circuit layout q Network Net t1 A first type of diagnostic conclusion of the short circuit; the left triangle of any side e of the polygon is a triangle which comprises the side e and has the same direction as the side e of the polygon; step B4: from the set of peripheral copper-clad grid cells Front p Fetch a triangle t and take the triangle t from the set Front p If the identification status of any one or more of the three neighbor triangles of the triangle t is unidentified and the common edge is not an edge of any polygon, adding the one or more neighbor triangles of the triangle t to the set of peripheral copper-clad grid cells Front p And newly add the peripheral copper-clad grid cell set Front p The identification state of the triangle of (2) is set to be identified, and the network is identified as Net q Wherein the common edge represents the common edge of the triangle adjacent to the triangle t and the triangle t;
step B5: judging the Front of the peripheral copper-clad grid cell set p If the set is empty, turning to the step B4, if yes, turning to the step B6;
step B6: and (3) judging whether the sides of the q-th positive polygon are processed or not, if not, setting e as the next side of the q-th positive polygon, turning to the step (B3), and if so, setting q=q+1, turning to the step (B2).
In some embodiments, the finding a left triangle associated with each side of each positive polygon from each side of the positive polygon, and according to the identified state of the left triangle, if the state is not identified, giving a second type of diagnosis result, if the state is identified, but the identified network is inconsistent, giving a third type of diagnosis result, including:
step C1: starting from each side of each positive polygon, finding the left triangle T1 associated with the side;
step C2: acquiring the identification state of a left triangle T1 of a side E of the Q positive polygon, and if the identification state of the left triangle T1 is not identified, obtaining a second type diagnosis conclusion, wherein the second type diagnosis conclusion is as follows: an open circuit appears in the integrated circuit layout at the Q positive polygon;
Step C3: if the identification state of the left triangle T1 is identified, the identification network is Net T1 If Net Q Not equal to Net T1 Obtaining a third type of diagnosis conclusion, wherein the third type of diagnosis conclusion is as follows: layout network Net of integrated circuit layout Q Net with layout network T1 A short circuit occurs at the Q positive polygon. In some embodiments, starting from each via connected to a different layout layer, comparing the layout network corresponding to the via with the layout network of the grid unit electrically connected to the via, if the state of the grid unit is unidentified, giving a fourth type of diagnosis result, if the state is identified, but the identified networks are inconsistent, giving a fifth type of diagnosis result, including:
step D1: starting from each via hole connected with different layout layers, sequentially obtaining a layout layer L penetrated by a via hole v m ~L n Wherein L is m Represents an mth layer layout layer L n Representing an n-th layout layer;
step D2: if the via v and the penetrating L i The layers being connected by pads, illustrating the vias v with the L passing through i The layers having electrical connections, the mesh being obtained by connectionUnit t i Is a sign state of (2);
step D3: if grid cell t i If the identification state of the (b) is not identified, a fourth type of diagnosis conclusion is obtained, wherein the fourth type of diagnosis conclusion is as follows: integrated circuit layout is arranged between via v and L i An open circuit appears at the joint;
step D4: if grid cell t i The identification state of (a) is identified, and the identification network is Net ti And network Net ti Not equal to the Net of the network where the via v is located v A fifth type of diagnosis is obtained, and the fifth type of diagnosis is: integrated circuit layout is arranged between via v and L i Short circuits occur at the joints.
The application provides a large-area overlapped integrated circuit layout fusion and accurate diagnosis device which comprises a layout information acquisition unit, a polygon processing unit, a grid subdivision unit, a grid node processing unit, a polygon identification diagnosis unit, a second diagnosis unit and a third diagnosis unit.
The layout information acquisition unit is used for acquiring layout information in an integrated circuit layout, the layout information comprises layout elements, a layout layer corresponding to the layout elements and a layout network corresponding to the layout elements, the layout elements belonging to the same layout layer are classified into the same group, the same group of layout elements form an initial layout of the layer, and the layout elements comprise copper covered polygons, hollowed circles, bonding pads, anti-bonding pads, routing lines and through holes;
the polygon processing unit is configured to discretize the trace, the hollowed circle, the bonding pad and the anti-bonding pad in the initial layout into polygons, set the copper-clad polygons, the trace and the bonding pad as polygons with positive=1, wherein positive=1 represents positive polygons, the vertices of the positive polygons are arranged in a counterclockwise order, set the hollowed polygons, the hollowed circle and the anti-bonding pad as polygons with positive= -1, and the positive= -1 represents negative polygons, and the vertices of the negative polygons are arranged in a clockwise order;
The mesh subdivision unit is used for forming an initial Delaunay triangle mesh subdivision based on vertexes of all polygons, and obtaining an initial mesh subdivision result;
the grid node processing unit is used for recovering the edges of the lost polygon through an edge exchange method based on the initial grid subdivision result, and if the edges of different polygons intersect, inserting new grid nodes at the intersection points of the edges of all the different polygons to obtain a complete grid subdivision result;
the polygon identification diagnosis unit is used for traversing the units in the complete mesh subdivision result from each side of each positive polygon in all polygons, identifying the units in the traversed complete mesh subdivision result based on the layout network corresponding to all positive polygons, judging the identification state and the layout network of the units in each complete mesh subdivision result in the identification process, analyzing whether the layout network identified by the units in the complete mesh subdivision result is consistent with the layout network corresponding to the positive polygons, and if not, giving a first type diagnosis conclusion;
the second diagnosis unit is used for finding a left triangle associated with each side of each positive polygon, and according to the identification state of the left triangle, if the state is not identified, a second type diagnosis conclusion is given, and if the state is identified, but the identified network is inconsistent, a third type diagnosis conclusion is given; the third diagnosis unit is used for comparing the layout network corresponding to the via holes with the layout network of the grid unit electrically connected with the via holes from each via hole connected with different layout layers, if the state of the grid unit is unidentified, a fourth type diagnosis conclusion is given, and if the state is identified, but the identified networks are inconsistent, a fifth type diagnosis conclusion is given.
In a third aspect the application proposes a computer readable storage medium storing a computer program which, when executed by a processor, implements the steps of the method described above.
The application has the beneficial effects that:
the overlapping layouts are fused by adopting the technology of lost edge recovery and grid unit traversal based on initial grid subdivision, so that the problems that a great amount of diagnosis time is spent and a great amount of useless error diagnosis information for design engineers can be generated due to direct short circuit and open circuit diagnosis on a given number of copper-clad polygons are avoided; and finally, marking the network of the grid unit to form a final non-overlapping integrated circuit layout and network marks thereof, adding a precise diagnosis technology based on the fused layout again, and judging the marking state and the marking network of the neighbor triangle in the traversing and marking process of the triangle unit, thereby giving a corresponding diagnosis conclusion, reducing the diagnosis time of the integrated circuit layout and improving the diagnosis efficiency.
Drawings
Fig. 1 is a general flow chart of the present application.
Fig. 2 is a schematic diagram of forming a specific-shape copper-clad area by overlapping wires with different lengths.
Fig. 3 is an effect diagram of forming a copper-clad region with a specific shape after the traces are overlapped.
Fig. 4 is a schematic diagram of a semicircular discrete manner corresponding to a trace start point.
Fig. 5 is a schematic diagram of a composite polygon formed by final discrete routing.
Fig. 6 is a schematic block diagram of the apparatus of the present application.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
FIGS. 2-3 are diagrams showing the layout design engineer utilizing overlapping short traces to form copper-clad areas of a specific shape, which would give diagnostic information of design errors of different traces with shorts if the design is diagnosed by a conventional diagnostic method;
in the method, 8 wires with different lengths are overlapped to form a copper-clad area with a specific shape in fig. 2, and the effect of forming the copper-clad area with the specific shape after the wires are overlapped in fig. 3, if the short circuit and open circuit diagnosis is directly carried out on the copper-clad polygons formed by the wires according to the traditional method, the error conclusion of the mutually overlapped wire short circuits can be obtained, and based on the problems, the method and the device for fusing and accurately diagnosing the integrated circuit layout with large-area superposition are provided to solve the problems.
In a first aspect, the application provides a large-area stacked integrated circuit layout fusion and accurate diagnosis method, which comprises the following steps:
s100: obtaining layout information in an integrated circuit layout, wherein the layout information comprises layout elements, layout layers corresponding to the layout elements and layout networks corresponding to the layout elements, the layout elements belonging to the same layout layer are classified into the same group, the same group of layout elements form an initial layout of the layer, and the layout elements comprise copper-covered polygons, hollowed circles, bonding pads, anti-bonding pads, wirings and through holes;
s200: dispersing the wiring, the hollowed circle, the bonding pad and the anti-bonding pad in the initial layout into polygons, setting the copper-clad polygons, the wiring and the bonding pad as positive=1 polygons, wherein positive=1 polygons are arranged in a counterclockwise sequence, setting the hollowed polygons, the hollowed circle and the anti-bonding pad as positive= -1 polygons, wherein positive= -1 polygons are arranged in a clockwise sequence, and the negative polygons are arranged in the vertex sequence;
in some embodiments, the discretizing the trace, the hollowed circle, the pad and the anti-pad in the initial layout into polygons includes:
The step of dispersing the wiring into polygons is as follows:
converting the wiring of the copper-clad part in the initial layout into a copper-clad rectangle according to a starting point, an ending point and a width, adding a first semicircle and a second semicircle, wherein the diameter side of the first semicircle is the wiring broadside where the starting point is located, and the diameter side of the second semicircle is the wiring broadside where the ending point is located;
a preset discrete number, wherein first semicircle discrete points are formed based on the first semicircle and the preset discrete number, the discrete points are arranged anticlockwise to form a first semicircle polygon, second semicircle discrete points are formed based on the second semicircle and the preset discrete number, and the discrete points are arranged anticlockwise to form a second semicircle polygon;
combining the copper-clad rectangle, the first half polygon and the second half polygon to form a composite polygon: and directly splicing the discrete points which form the first half polygon and are arranged anticlockwise with the discrete points which form the second half polygon to form a composite polygon with the discrete points arranged anticlockwise.
As shown in fig. 4 to 5, the specific forming steps of the composite polygon include:
starting from a wiring starting point, forming semicircular discrete points according to discrete numbers based on the diameters corresponding to the widths of the wiring starting points; assuming a discrete number of semicircle is 6, the discrete points of semicircle of 1,2,3,4,5,6 shown in fig. 4 are formed, and the points 1 to 6 are arranged counterclockwise;
Similarly, the semicircle corresponding to the termination point of the discrete wiring is a discrete point of 7-12;
further, as shown in fig. 5, the semicircular discrete points corresponding to the first semicircle of the trace and the semicircular discrete points corresponding to the second semicircle of the trace are directly spliced to form a composite polygon with the discrete points 1,2, … and 12 arranged in sequence.
In some embodiments, the discretizing the trace, the hollowed circle, the pad and the anti-pad in the initial layout into polygons further includes:
the step of dispersing the hollowed-out circle and the anti-bonding pad into a polygon is as follows:
when the shapes of the hollowed circles and the anti-bonding pads are defined as circles in layout elements of the integrated circuit layout, discretizing the circles into equilateral polygons, wherein the polygons discretized by the hollowed circles and the anti-bonding pads are first equilateral polygons, and the vertexes of the first equilateral polygons are arranged clockwise;
when the shapes of the hollowed circles and the anti-bonding pads are defined as ellipses in layout elements of the integrated circuit layout, taking third discrete points according to equal radians of the ellipses under polar coordinates, wherein the polygons formed by the hollowed circles and the anti-bonding pads by discrete mode are third polygons formed by the third discrete points in sequence, and vertexes of the third polygons are arranged clockwise.
In some embodiments, the discretizing the trace, the hollowed circle, the pad and the anti-pad in the initial layout into polygons further includes:
the step of discretizing the bonding pad into a polygon is:
when the shape of the bonding pad is defined as a circle in layout elements of the integrated circuit layout, discretizing the circle into an equilateral polygon, wherein the polygon into which the bonding pad is discretized is a second equilateral polygon, and the vertexes of the second equilateral polygon are arranged anticlockwise;
when the shape of the bonding pad is defined as an ellipse in layout elements of the integrated circuit layout, taking a fourth discrete point according to the equal radian of the ellipse under the polar coordinate, wherein the polygon which is formed by the discretization of the bonding pad is a fourth polygon which is formed by sequentially connecting the fourth discrete points, and the vertexes of the fourth polygon are arranged anticlockwise.
S300: forming an initial Delaunay triangle mesh subdivision based on the vertexes of all polygons, and obtaining an initial mesh subdivision result;
the method adopted when the initial Delaunay triangle mesh is formed is a Lawson algorithm in the Delaunay triangulation algorithm.
S400: restoring the edges of the lost polygon through an edge exchange method based on the initial mesh subdivision result, and inserting new mesh nodes at the intersection points of the edges of all the different polygons if the edges of the different polygons intersect to obtain a complete mesh subdivision result;
In some embodiments, the recovering the edges of the missing polygon by an edge exchange method based on the initial mesh subdivision result, if the edges of different polygons intersect, inserting new mesh nodes at the intersection points of the edges of all the different polygons, to obtain a complete mesh subdivision result, including:
step A1: collecting all sides of polygons which are not common sides of two triangles, and sorting according to the side length to form a set Lost;
step A2: extracting the longest edge from the set LostAnd removing it from the collection Lost;
step A3: from the edgeIs sent out by the vertex A, searching for the vertex A and the vertex C, D is located on the side +.>Triangle delta ACD at two sides is exchanged with the public sides of the triangle delta ACD and the neighbor triangle delta DCE to obtain triangle delta ACE and delta EDA, wherein the neighbor triangle represents a triangle with the public sides with the triangle;
step A4: if edge isWithout intersecting any other polygon edge, the search is repeated to include vertex A and two other vertices are located at edge +.>Exchange of triangles on both sides with common edges of their neighbor triangles until edges +.>Is the common edge of two neighbor triangles;
step A5: if find the edgeThe intersected edges are edges of another polygon, a vertex and a grid node are newly added at the intersection point of the two edges, the grid node is inserted into a Delaunay triangle grid of an initial grid subdivision result, the grid node divides two neighbor triangles into four triangles, and the vertex divides the two intersected edges into four edges sharing the vertex;
Step A6: judging whether the set Lost is an empty set, if not, re-taking out the longest side from the set Lost, removing the longest side from the set Lost and continuing the side exchange, if yes, ending the side exchange, and obtaining a complete mesh subdivision result.
S500: traversing the units in the complete mesh subdivision result from each side of each positive polygon in all polygons, identifying the units in the traversed complete mesh subdivision result based on layout networks corresponding to all positive polygons, judging the identification state and the layout networks of the units in each complete mesh subdivision result in the identification process, analyzing whether the layout networks identified by the units in the complete mesh subdivision result are consistent with the layout networks corresponding to the positive polygons, and if not, giving a first type of diagnosis conclusion;
in some embodiments, the Delaunay triangle mesh in step A5 is dynamically changed with newly inserted mesh nodes.
In some embodiments, traversing the units in the complete mesh subdivision result from each side of each positive polygon in all polygons, identifying the units in the traversed complete mesh subdivision result based on layout networks corresponding to all positive polygons, judging the identification state and the layout networks of the units in each complete mesh subdivision result in the identification process, analyzing whether the layout networks identified by the units in the complete mesh subdivision result are consistent with the layout networks corresponding to the positive polygons, and if not, giving a first type of diagnosis conclusion; comprising the following steps:
Step B1: initially setting the identification states of all triangles in the cells in the complete mesh subdivision result as unidentified, and setting a current peripheral copper-clad mesh cell set Front p Setting the q=1th polygon in the current processing for the empty set, and obtaining the network Net corresponding to the q-th polygon q
Step B2: ending when q > the number of polygons; otherwise, if the current processed q-th polygon is a positive polygon, turning to the step B3, and if the current processed q-th polygon is a negative polygon, setting q=q+1, and continuing to turning to the step B2;
step B3: for the q positive polygon, starting from any side e of the polygon, finding the left triangle t1 associated with the side, if the left triangle t1 is markedIf the state is unidentified, the identification state of the left triangle t1 is set to be identified, and the network is identified as Net q Add it to the set Front p In (a) and (b); otherwise, if the identification state of the left triangle t1 is identified, the identification network is Net t1 If Net q Not equal to Net t1 Network Net giving integrated circuit layout q Network Net t1 A first type of diagnostic conclusion of the short circuit; the left triangle of any side e of the polygon is a triangle which comprises the side e and has the same direction as the side e of the polygon; step B4: from the set of peripheral copper-clad grid cells Front p Fetch a triangle t and take the triangle t from the set Front p If the identification status of any one or more of the three neighbor triangles of the triangle t is unidentified and the common edge is not an edge of any polygon, adding the one or more neighbor triangles of the triangle t to the set of peripheral copper-clad grid cells Front p And newly add the peripheral copper-clad grid cell set Front p The identification state of the triangle of (2) is set to be identified, and the network is identified as Net q Wherein the common edge represents the common edge of the triangle adjacent to the triangle t and the triangle t;
step B5: judging the Front of the peripheral copper-clad grid cell set p If the set is empty, turning to the step B4, if yes, turning to the step B6;
step B6: and (3) judging whether the sides of the q-th positive polygon are processed or not, if not, setting e as the next side of the q-th positive polygon, turning to the step (B3), and if so, setting q=q+1, turning to the step (B2).
S600: starting from each side of each positive polygon, finding a left triangle associated with the side, and according to the identification state of the left triangle, if the state is not identified, giving a second type of diagnosis conclusion, and if the state is identified, but the identified network is inconsistent, giving a third type of diagnosis conclusion;
In some embodiments, starting from each side of each positive polygon, finding a left triangle associated with the side, and according to the identification state of the left triangle, obtaining a second type of diagnosis conclusion and a third type of diagnosis conclusion, including:
step C1: starting from each side of each positive polygon, finding the left triangle T1 associated with the side;
step C2: acquiring the identification state of a left triangle T1 of a side E of the Q positive polygon, and if the identification state of the left triangle T1 is not identified, obtaining a second type diagnosis conclusion, wherein the second type diagnosis conclusion is as follows: an open circuit appears in the integrated circuit layout at the Q positive polygon;
step C3: if the identification state of the left triangle T1 is identified, the identification network is Net T1 If Net Q Not equal to Net T1 Obtaining a third type of diagnosis conclusion, wherein the third type of diagnosis conclusion is as follows: layout network Net of integrated circuit layout Q Net with layout network T1 A short circuit occurs at the Q positive polygon.
S700: and comparing the layout network corresponding to the via hole with the layout network of the grid unit electrically connected with the via hole from each via hole connected with different layout layers, if the state of the grid unit is unidentified, giving a fourth type diagnosis conclusion, and if the state is identified, but the identified networks are inconsistent, giving a fifth type diagnosis conclusion.
In some embodiments, starting from each via connected to a different layout layer, comparing the layout network corresponding to the via with the layout network of the grid unit electrically connected to the via to give a fourth type and a fifth type of diagnosis conclusion, including:
step D1: starting from each via hole connected with different layout layers, sequentially obtaining a layout layer L penetrated by a via hole v m ~L n Wherein L is m Represents an mth layer layout layer L n Representing an n-th layout layer;
step D2: if the via v and the penetrating L i The layers being connected by pads, illustrating the vias v with the L passing through i The layers have electrical connections, the connected grid cells t being obtained i Is a sign state of (2);
step D3:if grid cell t i If the identification state of the (b) is not identified, a fourth type of diagnosis conclusion is obtained, wherein the fourth type of diagnosis conclusion is as follows: integrated circuit layout is arranged between via v and L i An open circuit appears at the joint;
step D4: if grid cell t i The identification state of (a) is identified, and the identification network is Net ti And network Net ti Not equal to the Net of the network where the via v is located v A fifth type of diagnosis is obtained, and the fifth type of diagnosis is: integrated circuit layout is arranged between via v and L i Short circuits occur at the joints.
The application provides a large-area overlapped integrated circuit layout fusion and accurate diagnosis device which comprises a layout information acquisition unit, a polygon processing unit, a grid subdivision unit, a grid node processing unit, a polygon identification diagnosis unit, a second diagnosis unit and a third diagnosis unit.
The layout information acquisition unit is used for acquiring layout information in an integrated circuit layout, the layout information comprises layout elements, a layout layer corresponding to the layout elements and a layout network corresponding to the layout elements, the layout elements belonging to the same layout layer are classified into the same group, the same group of layout elements form an initial layout of the layer, and the layout elements comprise copper covered polygons, hollowed circles, bonding pads, anti-bonding pads, routing lines and through holes;
the polygon processing unit is configured to discretize the trace, the hollowed circle, the bonding pad and the anti-bonding pad in the initial layout into polygons, set the copper-clad polygons, the trace and the bonding pad as polygons with positive=1, wherein positive=1 represents positive polygons, the vertices of the positive polygons are arranged in a counterclockwise order, set the hollowed polygons, the hollowed circle and the anti-bonding pad as polygons with positive= -1, and the positive= -1 represents negative polygons, and the vertices of the negative polygons are arranged in a clockwise order;
the mesh subdivision unit is used for forming an initial Delaunay triangle mesh subdivision based on vertexes of all polygons, and obtaining an initial mesh subdivision result;
the grid node processing unit is used for recovering the edges of the lost polygon through an edge exchange method based on the initial grid subdivision result, and if the edges of different polygons intersect, inserting new grid nodes at the intersection points of the edges of all the different polygons to obtain a complete grid subdivision result;
The polygon identification diagnosis unit is used for traversing the units in the complete mesh subdivision result from each side of each positive polygon in all polygons, identifying the units in the traversed complete mesh subdivision result based on the layout network corresponding to all positive polygons, judging the identification state and the layout network of the units in each complete mesh subdivision result in the identification process, analyzing whether the layout network identified by the units in the complete mesh subdivision result is consistent with the layout network corresponding to the positive polygons, and if not, giving a first type diagnosis conclusion;
the second diagnosis unit is used for finding a left triangle associated with each side of each positive polygon, and according to the identification state of the left triangle, if the state is not identified, a second type diagnosis conclusion is given, and if the state is identified, but the identified network is inconsistent, a third type diagnosis conclusion is given; the third diagnosis unit is used for comparing the layout network corresponding to the via holes with the layout network of the grid unit electrically connected with the via holes from each via hole connected with different layout layers, if the state of the grid unit is unidentified, a fourth type diagnosis conclusion is given, and if the state is identified, but the identified networks are inconsistent, a fifth type diagnosis conclusion is given.
In a third aspect the application proposes a computer readable storage medium storing a computer program which, when executed by a processor, implements the steps of the method described above.
The foregoing is merely a preferred embodiment of the present application, and it should be noted that modifications and improvements made by those skilled in the art without departing from the present technical solution shall be considered as falling within the scope of the claims.

Claims (8)

1. The integrated circuit layout fusion and accurate diagnosis method for large-area superposition is characterized in that: the method comprises the following steps:
obtaining layout information in an integrated circuit layout, wherein the layout information comprises layout elements, layout layers corresponding to the layout elements and layout networks corresponding to the layout elements, the layout elements belonging to the same layout layer are classified into the same group, the same group of layout elements form an initial layout of the layer, and the layout elements comprise copper-covered polygons, hollowed circles, bonding pads, anti-bonding pads, wirings and through holes;
dispersing the wiring, the hollowed circle, the bonding pad and the anti-bonding pad in the initial layout into polygons, setting the copper-clad polygons, the wiring and the bonding pad as positive=1 polygons, wherein positive=1 polygons are arranged in a counterclockwise sequence, setting the hollowed polygons, the hollowed circle and the anti-bonding pad as positive= -1 polygons, wherein positive= -1 polygons are arranged in a clockwise sequence, and the negative polygons are arranged in the vertex sequence;
Forming an initial Delaunay triangle mesh subdivision based on the vertexes of all polygons, and obtaining an initial mesh subdivision result;
restoring the edges of the lost polygon through an edge exchange method based on the initial mesh subdivision result, and inserting new mesh nodes at the intersection points of the edges of all the different polygons if the edges of the different polygons intersect to obtain a complete mesh subdivision result;
traversing the units in the complete mesh subdivision result from each side of each positive polygon in all polygons, identifying the units in the traversed complete mesh subdivision result based on layout networks corresponding to all positive polygons, judging the identification state and the layout networks of the units in each complete mesh subdivision result in the identification process, analyzing whether the layout networks identified by the units in the complete mesh subdivision result are consistent with the layout networks corresponding to the positive polygons, and if not, giving a first type of diagnosis conclusion, wherein the first type of diagnosis conclusion comprises:
step B1: initially setting up in cells in the complete mesh generation resultThe identification state of all triangles is unidentified, and the current peripheral copper-clad grid cell set Front is set p Setting the q=1th polygon in the current processing for the empty set, and obtaining the network Net corresponding to the q-th polygon q
Step B2: ending when q > the number of polygons; otherwise, if the current processed q-th polygon is a positive polygon, turning to the step B3, and if the current processed q-th polygon is a negative polygon, setting q=q+1, and continuing to turning to the step B2;
step B3: for the q positive polygon, starting from any side e of the polygon, finding a left triangle t1 associated with the side, if the identification state of the left triangle t1 is not identified, setting the identification state of the left triangle t1 as identified, and identifying that the network is Net q Add it to the set Front p In (a) and (b); otherwise, if the identification state of the left triangle t1 is identified, the identification network is Net t1 If Net q Not equal to Net t1 Network Net giving integrated circuit layout q Network Net t1 A first type of diagnostic conclusion of the short circuit; the left triangle of any side e of the polygon is a triangle which comprises the side e and has the same direction as the side e of the polygon;
step B4: from the set of peripheral copper-clad grid cells Front p Fetch a triangle t and take the triangle t from the set Front p If the identification status of any one or more of the three neighbor triangles of the triangle t is unidentified and the common edge is not an edge of any polygon, adding the one or more neighbor triangles of the triangle t to the set of peripheral copper-clad grid cells Front p And newly add the peripheral copper-clad grid cell set Front p The identification state of the triangle of (2) is set to be identified, and the network is identified as Net q Wherein the common edge represents the common edge of the triangle adjacent to the triangle t and the triangle t;
step B5: judging the Front of the peripheral copper-clad grid cell set p If the set is empty, the step B4 is carried out if the set is empty, and if the set is empty, the step B is carried outTurning to step B6;
step B6: judging whether the sides of the q-th positive polygon are processed or not, if not, setting e as the next side of the q-th positive polygon, turning to the step B3, if so, setting q=q+1, and turning to the step B2;
starting from each side of each positive polygon, finding a left triangle associated with the side, and according to the identification state of the left triangle, if the state is unidentified, giving a second type of diagnosis conclusion, if the state is identified, but the identified network is inconsistent, giving a third type of diagnosis conclusion, including:
step C1: starting from each side of each positive polygon, finding the left triangle T1 associated with the side;
step C2: acquiring the identification state of a left triangle T1 of a side E of the Q positive polygon, and if the identification state of the left triangle T1 is not identified, obtaining a second type diagnosis conclusion, wherein the second type diagnosis conclusion is as follows: an open circuit appears in the integrated circuit layout at the Q positive polygon;
Step C3: if the identification state of the left triangle T1 is identified, the identification network is Net T1 If Net Q Not equal to Net T1 Obtaining a third type of diagnosis conclusion, wherein the third type of diagnosis conclusion is as follows: layout network Net of integrated circuit layout Q Net with layout network T1 Short-circuiting occurs at the Q-th positive polygon;
starting from each via connected with different layout layers, comparing a layout network corresponding to the via with a layout network of a grid unit electrically connected with the via, if the state of the grid unit is unidentified, giving a fourth type of diagnosis conclusion, and if the state is identified but the identified network is inconsistent, giving a fifth type of diagnosis conclusion, including:
step D1: starting from each via hole connected with different layout layers, sequentially obtaining a layout layer L penetrated by a via hole v m ~L n Wherein L is m Represents an mth layer layout layer L n Representing an n-th layout layer;
step D2: if the via v and the penetrating L i The layers being connected by pads to define viasv and pass through L i The layers have electrical connections, the connected grid cells t being obtained i Is a sign state of (2);
step D3: if grid cell t i If the identification state of the (b) is not identified, a fourth type of diagnosis conclusion is obtained, wherein the fourth type of diagnosis conclusion is as follows: integrated circuit layout is arranged between via v and L i An open circuit appears at the joint;
step D4: if grid cell t i The identification state of (a) is identified, and the identification network is Net ti And network Net ti Not equal to the Net of the network where the via v is located v A fifth type of diagnosis is obtained, and the fifth type of diagnosis is: integrated circuit layout is arranged between via v and L i Short circuits occur at the joints.
2. The method according to claim 1, characterized in that: the dispersing the routing, hollowing out circle, bonding pad and anti-bonding pad in the initial layout into polygons comprises the following steps:
the step of dispersing the wiring into polygons is as follows:
converting the wiring of the copper-clad part in the initial layout into a copper-clad rectangle according to a starting point, an ending point and a width, adding a first semicircle and a second semicircle, wherein the diameter side of the first semicircle is the wiring broadside where the starting point is located, and the diameter side of the second semicircle is the wiring broadside where the ending point is located;
a preset discrete number, wherein first semicircle discrete points are formed based on the first semicircle and the preset discrete number, the discrete points are arranged anticlockwise to form a first semicircle polygon, second semicircle discrete points are formed based on the second semicircle and the preset discrete number, and the discrete points are arranged anticlockwise to form a second semicircle polygon;
Combining the copper-clad rectangle, the first half polygon and the second half polygon to form a composite polygon: and directly splicing the discrete points which form the first half polygon and are arranged anticlockwise with the discrete points which form the second half polygon to form a composite polygon with the discrete points arranged anticlockwise.
3. The method according to claim 2, characterized in that: the dispersing the wiring, the hollowed circle, the bonding pad and the anti-bonding pad in the initial layout into polygons further comprises:
the step of dispersing the hollowed-out circle and the anti-bonding pad into a polygon is as follows:
when the shapes of the hollowed circles and the anti-bonding pads are defined as circles in layout elements of the integrated circuit layout, discretizing the circles into equilateral polygons, wherein the polygons discretized by the hollowed circles and the anti-bonding pads are first equilateral polygons, and the vertexes of the first equilateral polygons are arranged clockwise;
when the shapes of the hollowed circles and the anti-bonding pads are defined as ellipses in layout elements of the integrated circuit layout, taking third discrete points according to equal radians of the ellipses under polar coordinates, wherein the polygons formed by the hollowed circles and the anti-bonding pads by discrete mode are third polygons formed by the third discrete points in sequence, and vertexes of the third polygons are arranged clockwise.
4. A method according to claim 3, characterized in that: the dispersing the wiring, the hollowed circle, the bonding pad and the anti-bonding pad in the initial layout into polygons further comprises:
the step of discretizing the bonding pad into a polygon is:
when the shape of the bonding pad is defined as a circle in layout elements of the integrated circuit layout, discretizing the circle into an equilateral polygon, wherein the polygon into which the bonding pad is discretized is a second equilateral polygon, and the vertexes of the second equilateral polygon are arranged anticlockwise;
when the shape of the bonding pad is defined as an ellipse in layout elements of the integrated circuit layout, taking a fourth discrete point according to the equal radian of the ellipse under the polar coordinate, wherein the polygon which is formed by the discretization of the bonding pad is a fourth polygon which is formed by sequentially connecting the fourth discrete points, and the vertexes of the fourth polygon are arranged anticlockwise.
5. The method according to claim 4, wherein: and restoring the edges of the lost polygon through an edge exchange method based on the initial mesh subdivision result, if the edges of different polygons intersect, inserting new mesh nodes at the intersection points of the edges of all the different polygons to obtain a complete mesh subdivision result, wherein the method comprises the following steps:
step A1: collecting all sides of polygons which are not common sides of two triangles, and sorting according to the side length to form a set Lost;
Step A2: taking out the side with the longest side length from the set Lost and removing the side with the longest side length from the set Lost;
step A3: starting from one vertex A of the edge, searching for a vertex containingAAnd the vertexCDTriangle delta ACD at two sides of the side, exchanging the triangle delta ACD and the public side of the neighbor triangle delta DCE to obtain triangle delta ACE and delta EDA, wherein the neighbor triangle represents the triangle with the public side;
step A4: if the edge does not intersect any other polygon edge, repeatedly searching the triangle which contains the vertex A and the other two vertexes are positioned at the two sides of the edge and exchanging the common edge of the triangle adjacent to the triangle until the edge is the common edge of the two adjacent triangles;
step A5: if the edge intersected with the edge is searched to be the edge of another polygon, adding a vertex and a grid node at the intersection point of the two edges, and inserting the grid node into a Delaunay triangle grid of the initial grid subdivision result, wherein the grid node divides two neighbor triangles into four triangles, and the vertex divides the two intersected edges into four edges sharing the vertex;
step A6: judging whether the set Lost is an empty set, if not, re-taking out the longest side from the set Lost, removing the longest side from the set Lost and continuing the side exchange, if yes, ending the side exchange, and obtaining a complete mesh subdivision result.
6. The integrated circuit layout fusion and accurate diagnosis device for large-area superposition is characterized in that: the system comprises a layout information acquisition unit, a polygon processing unit, a grid subdivision unit, a grid node processing unit, a polygon identification diagnosis unit, a second diagnosis unit and a third diagnosis unit;
the layout information acquisition unit is used for acquiring layout information in an integrated circuit layout, the layout information comprises layout elements, a layout layer corresponding to the layout elements and a layout network corresponding to the layout elements, the layout elements belonging to the same layout layer are classified into the same group, the same group of layout elements form an initial layout of the layer, and the layout elements comprise copper covered polygons, hollowed circles, bonding pads, anti-bonding pads, routing lines and through holes;
the polygon processing unit is configured to discretize the trace, the hollowed circle, the bonding pad and the anti-bonding pad in the initial layout into polygons, set the copper-clad polygons, the trace and the bonding pad as polygons with positive=1, wherein positive=1 represents positive polygons, the vertices of the positive polygons are arranged in a counterclockwise order, set the hollowed polygons, the hollowed circle and the anti-bonding pad as polygons with positive= -1, and the positive= -1 represents negative polygons, and the vertices of the negative polygons are arranged in a clockwise order;
The mesh subdivision unit is used for forming an initial Delaunay triangle mesh subdivision based on vertexes of all polygons, and obtaining an initial mesh subdivision result;
the grid node processing unit is used for recovering the edges of the lost polygon through an edge exchange method based on the initial grid subdivision result, and if the edges of different polygons intersect, inserting new grid nodes at the intersection points of the edges of all the different polygons to obtain a complete grid subdivision result;
the polygon identification diagnosis unit is configured to traverse the units in the complete mesh subdivision result from each side of each positive polygon in all polygons, identify the units in the complete mesh subdivision result after traversing based on layout networks corresponding to all positive polygons, determine an identification state and a layout network of the units in each complete mesh subdivision result in an identification process, analyze whether the layout network identified by the units in the complete mesh subdivision result is consistent with the layout network corresponding to the positive polygons, and if not, give a first type of diagnosis conclusion, including:
step B1: initially setting all triangles in cells in the complete mesh result The identification state of the shape is not identified, and the current peripheral copper-clad grid cell set Front is set p Setting the q=1th polygon in the current processing for the empty set, and obtaining the network Net corresponding to the q-th polygon q
Step B2: ending when q > the number of polygons; otherwise, if the current processed q-th polygon is a positive polygon, turning to the step B3, and if the current processed q-th polygon is a negative polygon, setting q=q+1, and continuing to turning to the step B2;
step B3: for the q positive polygon, starting from any side e of the polygon, finding a left triangle t1 associated with the side, if the identification state of the left triangle t1 is not identified, setting the identification state of the left triangle t1 as identified, and identifying that the network is Net q Add it to the set Front p In (a) and (b); otherwise, if the identification state of the left triangle t1 is identified, the identification network is Net t1 If Net q Not equal to Net t1 Network Net giving integrated circuit layout q Network Net t1 A first type of diagnostic conclusion of the short circuit; the left triangle of any side e of the polygon is a triangle which comprises the side e and has the same direction as the side e of the polygon;
step B4: from the set of peripheral copper-clad grid cells Front p Fetch a triangle t and take the triangle t from the set Front p If the identification status of any one or more of the three neighbor triangles of the triangle t is unidentified and the common edge is not an edge of any polygon, adding the one or more neighbor triangles of the triangle t to the set of peripheral copper-clad grid cells Front p And newly add the peripheral copper-clad grid cell set Front p The identification state of the triangle of (2) is set to be identified, and the network is identified as Net q Wherein the common edge represents the common edge of the triangle adjacent to the triangle t and the triangle t;
step B5: judging the Front of the peripheral copper-clad grid cell set p If the set is empty, turning to step B4, if yes, turning to stepStep B6;
step B6: judging whether the sides of the q-th positive polygon are processed or not, if not, setting e as the next side of the q-th positive polygon, turning to the step B3, if so, setting q=q+1, and turning to the step B2;
the second diagnosis unit is configured to, starting from each side of each positive polygon, find a left triangle associated with the side, and according to the identified state of the left triangle, if the state is not identified, give a second type of diagnosis conclusion, and if the state is identified, but the identified network is inconsistent, give a third type of diagnosis conclusion, including:
Step C1: starting from each side of each positive polygon, finding the left triangle T1 associated with the side;
step C2: acquiring the identification state of a left triangle T1 of a side E of the Q positive polygon, and if the identification state of the left triangle T1 is not identified, obtaining a second type diagnosis conclusion, wherein the second type diagnosis conclusion is as follows: an open circuit appears in the integrated circuit layout at the Q positive polygon;
step C3: if the identification state of the left triangle T1 is identified, the identification network is Net T1 If Net Q Not equal to Net T1 Obtaining a third type of diagnosis conclusion, wherein the third type of diagnosis conclusion is as follows: layout network Net of integrated circuit layout Q Net with layout network T1 Short-circuiting occurs at the Q-th positive polygon; the said
The third diagnosis unit is configured to compare, from each via connected to a different layout layer, a layout network corresponding to the via with a layout network of a grid unit electrically connected to the via, and if the state of the grid unit is unidentified, give a fourth type of diagnosis conclusion, and if the state is identified, but the identified networks are inconsistent, give a fifth type of diagnosis conclusion, including:
step D1: starting from each via hole connected with different layout layers, sequentially obtaining a layout layer L penetrated by a via hole v m ~L n Wherein L is m Represents an mth layer layout layer L n Representing an n-th layout layer;
step D2: if the via hole v is penetratedL of the past i The layers being connected by pads, illustrating the vias v with the L passing through i The layers have electrical connections, the connected grid cells t being obtained i Is a sign state of (2);
step D3: if grid cell t i If the identification state of the (b) is not identified, a fourth type of diagnosis conclusion is obtained, wherein the fourth type of diagnosis conclusion is as follows: integrated circuit layout is arranged between via v and L i An open circuit appears at the joint;
step D4: if grid cell t i The identification state of (a) is identified, and the identification network is Net ti And network Net ti Not equal to the Net of the network where the via v is located v A fifth type of diagnosis is obtained, and the fifth type of diagnosis is: integrated circuit layout is arranged between via v and L i Short circuits occur at the joints.
7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized by: the processor, when executing the computer program, implements the steps of the method according to any one of claims 1 to 5.
8. A computer-readable storage medium storing a computer program, characterized in that: the computer program implementing the steps of the method according to any one of claims 1 to 5 when executed by a processor.
CN202311303418.5A 2023-10-10 2023-10-10 Integrated circuit layout fusion and accurate diagnosis method and device for large-area superposition Active CN117057308B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311303418.5A CN117057308B (en) 2023-10-10 2023-10-10 Integrated circuit layout fusion and accurate diagnosis method and device for large-area superposition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311303418.5A CN117057308B (en) 2023-10-10 2023-10-10 Integrated circuit layout fusion and accurate diagnosis method and device for large-area superposition

Publications (2)

Publication Number Publication Date
CN117057308A CN117057308A (en) 2023-11-14
CN117057308B true CN117057308B (en) 2023-12-15

Family

ID=88662999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311303418.5A Active CN117057308B (en) 2023-10-10 2023-10-10 Integrated circuit layout fusion and accurate diagnosis method and device for large-area superposition

Country Status (1)

Country Link
CN (1) CN117057308B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117574839B (en) * 2024-01-15 2024-04-12 北京智芯仿真科技有限公司 Parallel determination method and device for multilayer integrated circuit layout netlist information
CN117574838B (en) * 2024-01-15 2024-04-12 北京智芯仿真科技有限公司 Layout diagnosis method and device based on determined integrated circuit layout netlist information

Citations (2)

* 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
CN112287629A (en) * 2020-12-21 2021-01-29 北京智芯仿真科技有限公司 Impedance network model extraction method and system for very large scale integrated circuit

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6787271B2 (en) * 2000-07-05 2004-09-07 Numerical Technologies, Inc. Design and layout of phase shifting photolithographic masks
US7089511B2 (en) * 2003-12-10 2006-08-08 International Business Machines Corporation Framework for hierarchical VLSI design

Patent Citations (2)

* 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
CN112287629A (en) * 2020-12-21 2021-01-29 北京智芯仿真科技有限公司 Impedance network model extraction method and system for very large scale integrated circuit

Also Published As

Publication number Publication date
CN117057308A (en) 2023-11-14

Similar Documents

Publication Publication Date Title
CN117057308B (en) Integrated circuit layout fusion and accurate diagnosis method and device for large-area superposition
CN110689569B (en) Integrated circuit layout field identification and grid subdivision processing method and device
US6275971B1 (en) Methods and apparatus for design rule checking
CN117034857B (en) Method and device for identifying integrated circuit layout network by polygon large-area overlapping
CN115544958A (en) Method for diagnosing and automatically repairing integrated circuit layout design defect
CN104903896B (en) Design rule check
CN117034858B (en) Method and device for rapidly meshing large-area overlapped integrated circuit layout
CN115600550A (en) Accurate detection method for determining layout design defects of integrated circuit based on port resistance
CN112800716B (en) Method for detecting open circuit of wire net in wiring of integrated circuit layout
JP2005202928A (en) Layout processor, layout processing method and program
JP3762866B2 (en) Method and apparatus for verifying the layout of an integrated circuit by a computer and use of the method for manufacturing an integrated circuit
CN115618802B (en) Method and system for detecting island in integrated circuit layout
CN117574839B (en) Parallel determination method and device for multilayer integrated circuit layout netlist information
CN117574838B (en) Layout diagnosis method and device based on determined integrated circuit layout netlist information
WO2013058117A1 (en) Electronic-substrate electrical design device using three-dimensional space, electrical design method, program, and computer-readable recording medium
US8019561B1 (en) Electrical short locator method
CN113868997A (en) Segmenting defects based on computer-aided design identifiers associated with the defects
JPS63129466A (en) Line connection inspecting device
JP2858551B2 (en) Wiring inspection data creation method
CN117852482A (en) Method and system for rapidly diagnosing integrated circuit layout netlist information aiming at wiring
JP3148180B2 (en) Layout verification method and layout verification apparatus for semiconductor integrated circuit
JPH10269267A (en) Method for extracting mask layout parameter
CN117151021B (en) Method for diagnosing integrated circuit layout design defects based on copper-clad shape topological structure
JP3514892B2 (en) Layout verification method for semiconductor integrated circuit
CN116822440B (en) Pin batch distribution method and system

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