The present disclosure relates to integrated circuit design, and specifically discloses a method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous Galerkin finite element method, belonging to the technical field of computation, calculation or counting.
With the development of the science and technology, circuit optimization design has become an important stage in the integrated circuit design process. The purpose of circuit optimization is to improve the electrical properties of a circuit. The final actual electrical properties of the circuit not only depend on the parameter values of devices of the circuit, but also depend on the parasitic effect of the devices, the parasitic effect between the devices, the parasitic effect of connection lines, the parasitic effect between the connection lines, and the parasitic effect between the connection lines and the devices. Moreover, the parasitic effect between adjacent connection lines is particularly critical. In terms of circuit optimization theory, in order to obtain accurate circuit optimization results, it is necessary to accurately consider the parasitic effect between connection lines of various devices on the designed circuit, especially the parasitic effect generated between capacitance, that is, parasitic capacitance.
With the development of the semiconductor process, how to accurately and quickly extract parasitic capacitance is critical to ensure the chip design quality, meet strict PPA index requirements, and shorten the design cycle. The computation of capacitance of interconnection lines is a classic problem and mainstream demand in the field of electronic design automation (EDA) of integrated circuits. The innovation and optimization of algorithms are endless, which is a continuous research hotspot.
Early analysis methods for extracting parasitic parameters are only suitable for some very simple interconnection structures. With the increasing complexity of interconnection structures and the gradual improvement of solution accuracy requirements, direct field solution has become an effective method for extracting parasitic capacitance of interconnection lines. However, for huge interconnection structures, the complete direct field solution takes a lot of time and requires a large running memory, which cannot meet the requirements of EDA of large-scale integrated circuits. Region discretization methods such as a finite difference method and finite element method can solve the problem of high time cost of a direct field solution method for processing huge interconnection structures. However, the finite difference method has relatively strict requirements for grid division, and the accuracy needs to be improved. Moreover, when the adaptive adjustment of accuracy is realized by finite element method, the processing of suspension points is relatively difficult. Therefore, it is urgent to develop a method for extracting parasitic capacitance between interconnection lines of an integrated circuit, which has high accuracy, short running time and small running memory. The present disclosure aims to provide a method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous Galerkin finite element method.
In view of the defects of the above background art, the present disclosure provides a method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous Galerkin finite element method. By non-uniform division of grids based on finite element method, the accuracy required by industry standards is met, while the running time is shortened, thereby solving the technical problem that the existing method for extracting parasitic capacitance of interconnection lines needs to sacrifice one index of extraction accuracy and running time to meet the performance improvement requirements of another index.
The present disclosure adopts the following technical solution to realize the above invention objective.
Disclosed is a method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous Galerkin finite element method, including steps S1 to S6.
S1: For any given distribution situation of conductors, first, reading the coordinates of a lower left point and an upper right point of an integrated circuit layout region; for each conductor, approximatively fitting the shape of the conductor by a plurality of cuboids, reading the coordinates of a lower left point and an upper right point of each cuboid and recording numbers, reading all point coordinates, and classifying the point coordinates into row and column coordinates; and performing interval division of the gap between the row (or column) coordinates of every two adjacent conductors: first, uniformly extending an interval of a minimum mingap for several times outward at positions close to boundary rows (or columns) of two conductors, after several times of equidistant division, gradually extending the interval with a gaptime multiple, and then, performing non-equidistant division until the distance between the boundary rows (or columns) of two adjacent conductors after extension is less than the interval after re-extension, thereby forming the grid division which is uniform and dense close to conductor boundaries and is non-uniform and sparse away from conductor boundaries.
S2: After obtaining a region to be solved divided into small rectangular cells, computing the information of each grid cell, determining whether each grid cell is a boundary cell (marked with a flag), obtaining a horizontal dx length and a longitudinal dy length of each grid cell, and marking each grid cell with a global number; and traversing all grid cells, assigning the grid cells which are not boundary cells with second numbers recorded as “numbers of cells to be solved”, and establishing the mapping relationship between the global numbers and the numbers of the cells to be solved.
S3: Traversing all global cells from zero, and if the flag of the cell indicates that the cell is a boundary cell, assigning a potential degree of freedom of the cell in advance; generally, for the boundaries of the region to be solved and the boundaries of non-main conductors, assigning all potential degrees of freedom as 0; and if the boundary cell is a main conductor boundary cell, setting the constant term of the potential degree of freedom of the boundary cell as 1, and setting the constant terms of the potential degrees of freedom of other boundary cells as 0.
S4: Traversing all grid cells to be solved from zero until all numbers of cells to be solved are traversed: for each grid cell, first, analyzing whether an adjacent cell of the grid cell is a boundary cell, and obtaining different electrostatic field strength equations according to whether the adjacent cell of the grid cell is a boundary cell, a specific algorithm using an LDG format of discontinuous Galerkin finite element method. Taking a specific grid cell k as an example, analyzing six adjacent grid cells kn, Knn, Ks, Ke, Kee and Kw, and assigning electrostatic field strength equations in an LDG format according to whether the 6 grid cells are boundary cells.
S5: Combining the electrostatic field strength equations derived by analyzing the boundaries of all grid cells to be solved into a linear system of equations in the form of A*u=b , and solving the linear system of equations to obtain a potential degree of freedom of each cell to be solved.
S6: Since an electric field strength degree of freedom of each grid cell can be derived from the potential degree of freedom, after the potential degree of freedom is obtained, computing the electric field strength degree of freedom, and obtaining an electric field strength in the x-axis direction and an electric field strength in the y-axis direction of each grid cell; since each cuboid is numbered in S1, traversing all cuboids from zero: taking all cuboids with the same number as the same conductor, taking the leftmost, rightmost, uppermost and lowermost edges of all cuboids in each conductor as four edges of the conductor, and extending a grid from the four edges outward as a Gaussian surface for integration; and specifically, multiplying the upper and lower edges by the electric field strength in the y direction to obtain a product, multiplying the left and right edges by the electric field strength in the x direction to obtain a product, adding all values to obtain the quantity of electric charge of a specific conductor, and resolving the capacitance of the main conductor and the coupling capacitance of other conductors according to the relationship between the quantity of electric charge and the capacitance.
The present disclosure adopting the above technical solution has the following beneficial effects.
In order to enable persons skilled in the art to better understand the solutions in the embodiments of the present disclosure, the following describes the embodiments of the present disclosure in more detail with reference to accompanying drawings and implementations.
An integrated circuit shown in
As shown in
For any given distribution situation of conductors, first, the coordinates of a lower left point and an upper right point of a layout region occupied by each conductor are read. For each conductor, the shape of the conductor is approximatively fit by a plurality of cuboids, the coordinates of a lower left point and an upper right point of each cuboid are read and numbers are recorded, and all read point coordinates are classified into row and column coordinates. Interval division of the gap between the row (or column) coordinates of every two adjacent conductors is performed: first, an interval of a minimum mingap is uniformly extended for several times outward at positions close to boundary rows (or columns) of two conductors, after several times of equidistant division, the interval is gradually extended with a gaptime multiple, and then, non-equidistant division is performed until the distance between the boundary rows (or columns) of two adjacent conductors after extension is less than the interval after re-extension, thereby forming the grid division which is uniform and dense close to conductor boundaries and is non-uniform and sparse away from conductor boundaries. Boundary grids between two adjacent conductors are shown in
The above non-uniform division is performed on the interval between the conductors in the integrated circuit layout to obtain a region to be solved composed of small rectangular grid cells, whether the grid cells are boundary cells are determined, a horizontal dx length and a longitudinal dy length of each grid cell are obtained, and each grid cell is marked with a global number. The present disclosure defines the grid cells outside the boundaries of the region to be solved and the grid cells in a region where the conductors are located as boundary cells. The grid division of a local region to be solved is shown in
The potential of each point in the grid cell to be solved is recorded as u(x, y), the electric field strength in the x direction of each point is recorded as p(x, y), and the electric field strength in the y direction of each point is recorded as q(x, y), that is,
Therefore, the original electrostatic field strength formula Δu(x, y)=0 can be written in the form of px+qy=0, and then, a set of primary functions φ1(x, y), . . . , φp(x, y) are taken on each grid cell k. In this way, a potential function and an electric field strength function on each grid cell can be approximately expressed in the form of Σl=1pul*φl,Σl=1ppl*φl, Σl=1pql*φl, wherein ul, pl, ql represent degrees of freedom of the potential function and the electric field strength function on each grid cell. For each grid cell to be solved, the potential function u(x, y) and the electric field strength function p(x, y), q(x, y) on each grid cell to be solved are respectively multiplied by the primary function of each grid cell to be solved (equivalent to solving the projections of the potential function and the electric field strength function on the primary function of each grid cell to be solved), and integration is performed on the grid cell to be solved. The electrostatic field strength formulae are expressed by the following formulae:
Three formulae in an LDG format, as shown in Formulae (1), (2) and (3), are obtained:
wherein Kxw, Kxe represent a left boundary and a right boundary of a grid cell k, Kys, Kyn represent a lower boundary and an upper boundary of the grid cell k, the four boundaries of the grid cell k are shown in
represents a flux or a primary function φl(x, −½) above the lower boundary of the grid cell k, φl(x, −½) represents a value of the lth primary function of the grid cell k at the lower boundary,
represents a flux or a primary function φl(½, y) on the left of the right boundary of the grid cell k, φl(½, y) represents a value of the lth primary function of the grid cell k at the right boundary,
represents a flux of a primary function φl(−½, y) on the right of the left boundary of the grid cell k, and φl(−½, y) represents a value of the lth primary function of the grid cell k at the left boundary.
As shown in
When the adjacent grid cell of the grid cell k is not a boundary cell,
When the adjacent grid cell of the grid cell k is a boundary cell,
For p at the left boundary of the grid cell k, {circumflex over (p)}=p++u+−uexact.
For p at the right boundary of the grid cell k, {circumflex over (p)}=p−+uexact−u−.
For q at the lower boundary of the grid cell k, {circumflex over (q)}=q++u+−uexact.
For q at the upper boundary of the grid cell k, {circumflex over (q)}=q−+uexact−u−.
The potential degrees of freedom of each grid cell k and adjacent grid cells Kn, Ks, Ke, Kw thereof together produce a set of vectors , , , , . According to the formulae (1), (2) and (3), for each grid cell k to be solved, a formula in the form of Ak*+Ak
However, since each grid cell needs to consider the boundedness of the adjacent grid cell, Formula (1) is divided into 6 modules, and processing conditions at the boundaries of each module are considered respectively. The 6 modules are:
Since it is found that the finally written coefficient matrix in the form of multiplication of matrix vectors of each module can be obtained by addition, subtraction and multiplication of the following 11 matrices, first, the concepts of a reference grid cell and a primary function on the reference grid cell are introduced. The significance of the primary function of the reference grid cell is that the form of the primary function of each grid cell can be changed into the form of the primary function on the reference grid cell through some transformations, so that for the subsequent processing and operation of the primary function of each grid cell, it is only necessary to perform processing and operation on the reference grid cell.
First, the symbols of the primary function on the reference grid cell are defined as: {dot over (φ)}0, {dot over (φ)}1, {dot over (φ)}2, . . . , {dot over (φ)}p, and the region of the reference grid cell is [−½, ½]>[−½, ½].
Subsequently, the following symbols Cφφ, Cφφx, Cφφy, Xnn, Xns, Xsn, Xss, Yee, Yew, Ywe and Yww are introduced to indicate that 11 matrices of a coefficient matrix in the form of multiplication of matrices of each module can be obtained by operations:
wherein Cijφφ represents a projection of the ith primary function {dot over (φ)}i(x, y) of a reference grid cell Kbase on the jth primary function {dot over (φ)}j(x, y), Cijφφx represents a projection of a derivative in the x direction of the ith primary function of the reference grid cell Kbase on the jth primary function (x, y), {dot over (φ)}j(x,y), Cijφφy represents a projection of a derivative in the y direction of the ith primary function of the reference grid cell Kbase on the jth primary function {dot over (φ)}j(x, y), Xnnij represents a product of the value {dot over (φ)}j(x, −½) of the jth primary function of the reference grid cell Kbase at the lower boundary and the value {dot over (φ)}i(x, −½) of the ith primary function at the lower boundary, Xnsij represents a product of the value {dot over (φ)}j(x, ½) of the jth primary function of the reference grid cell Kbase at the upper boundary and the value {dot over (φ)}i(x, −½) of the ith primary function at the lower boundary, Xsnij represents a product of the value {dot over (φ)}j(x, −½) of the jth primary function of the reference grid cell Kbase at the lower boundary and the value {dot over (φ)}j{right arrow over (()}x, ½) of the ith primary function at the upper boundary, Xssij represents a product of the value {dot over (φ)}j(x, ½) of the jth primary function of the reference grid cell Kbase at the upper boundary and the value {dot over (φ)}i(x, ½) of the ith primary function at the upper boundary, Yeeij represents a product of the value {dot over (φ)}j(−½, y) of the jth primary function of the reference grid cell Kbase at the left boundary and the value {dot over (φ)}i(−½, y) of the ith primary function at the left boundary, Yewij represents a product of the value {dot over (φ)}j(½, y) of the jth primary function of the reference grid cell Kbase at the right boundary and the value {dot over (φ)}i(−½, y) of the ith primary function at the left boundary, Yweij represents a product of the value {dot over (φ)}j(−½, y) of the jth primary function of the reference grid cell Kbase at the left boundary and the value {dot over (φ)}i(½,y) of the ith primary function at the right boundary, and Ywwij represents a product of the value {dot over (φ)}j(½, y) of the jth primary function of the reference grid cell Kbase at the right boundary and the value {dot over (φ)}i(½, y) of the ith primary function at the right boundary.
Now, the grid cells to be solved are traversed in sequence. For the module I, when Kn, Knn (that is, an upper boundary cell and a boundary cell above the upper boundary cell of the grid cell k) are both not boundary cells, the form of the module I is:
when Kn is a non-boundary cell, but Knn is a boundary cell, the form of the module I is:
and when Kn is a boundary cell, the boundedness of Knn no longer has an impact (after that, only when Knn and Kee are mentioned, the boundedness of Knn is considered), and then, the form of the module I is:
For the module II, when Kn is not a boundary cell, the form of the module II is:
and when Kn is a boundary cell, the form of the module II is:
For the module III, when Kn is not a boundary cell, the form of the module III is:
and when Kn is a boundary cell, the form of the module III is:
For the module IV, when Ke and Kee are both not boundary cells, the form of the module IV is:
when Ke is not a boundary cell, but Kee is a boundary cell, the form of the module IV is:
and when Ke is a boundary cell, the form of the module IV is:
For the module V, when Ke is not a boundary cell, the form of the module V is:
and when Ke is a boundary cell, the form of the module V is:
For the module VI, when Ke is not a boundary cell, the form of the module VI is:
and when Ke is a boundary cell, the form of the module VI is:
Δxk represents a length of the grid cell k in the x direction, Δyk represents a length of the grid cell k in the y direction, Δykn represents a length of an adjacent grid cell above the grid cell k in the y direction, represents a potential function degree of freedom vector of the grid cell k, represents a potential function degree of freedom vector of a grid cell adjacent to the upper boundary of the grid cell k, represents a potential function degree of freedom vector of a grid cell adjacent to the lower boundary of the grid cell k, represents a potential function degree of freedom vector of a grid cell adjacent to the upper boundary of the upper boundary grid cell of the grid cell k, Δxke represents a length of an adjacent grid cell on the right of the grid cell k in the x direction, represents a potential function degree of freedom vector of a grid cell adjacent to the right boundary of the grid cell k, represents a potential function degree of freedom vector of a grid cell adjacent to the right boundary of the right boundary grid cell of the grid cell k, represents a potential function degree of freedom vector of a grid cell adjacent to the left boundary of the grid cell k, and represents a potential function degree of freedom vector of a grid cell adjacent to the right boundary of the grid cell k.
Specific operations for solving potential degrees of freedom are as follows: Step 1: the potential degree of freedom of a boundary cell is assigned with a value, wherein if the boundary cell is not a main conductor boundary cell, the potential degrees of freedom on the boundary cell are all 0, and if the boundary cell is a main conductor boundary cell, the constant value of the potential degree of freedom of the boundary cell is assigned as 1, and the values of the potential degrees of freedom of other boundary cells are assigned as 0. Step 2: all right end terms of the linear system of equations to be solved are set as 0. Step 3: the numbers of cells to be solved are traversed from zero, the boundary of each grid cell k to be solved is determined to sequentially determine whether Kn, Knn, Ks, Ke, Kee and Kw cells are boundary cells, the modules I, II, III, IV, V and VI in the electrostatic field strength formulae are respectively processed in different ways according to the obtained boundary conditions (that is, whether the Kn, Knn, Ks, Ke, Kee and Kw cells are boundary cells), and equations obtained after processing are substituted into the linear system of equations shown in Formulae (1), (2) and (3) to finally obtain a linear system of equations in the form of A*=, that is, the present disclosure is based on discontinuous Galerkin finite element method, wherein A represents a sparse matrix with a huge order, and represents a potential function degree of freedom vector composed of the potential degrees of freedom of all grid cells to be solved.
After is solved, and can be obtained sequentially according to Formulae (2) and (3), so as to obtain the degree of freedom of the electric field strength function of each grid cell. However, due to the existence of boundary cells, it is still necessary to consider boundary conditions. After and are obtained, electric field intensities in the x direction and y direction of each grid cell are obtained.
After the electric field strength of each grid cell is obtained, Gaussian integral of each conductor can be computed to obtain the electric charge of each conductor, thereby obtaining the capacitance of the main conductor and the coupling capacitance of each conductor. A specific solving method is as follows: since each rectangular grid cell is numbered before, all rectangular grid cells are traversed, all rectangular grid cells with the same number are regarded as the same conductor, the leftmost, rightmost, uppermost and lowermost boundaries of all rectangular grid cells are taken as four boundaries of the conductor, a grid cell set consisting of the grid cells enclosed by the four boundaries and the grid cells extending a grid from the four boundaries is taken as a Gaussian surface for solving the capacitance of the conductor, integration of the electric field strength function in the x-axis direction and integration of the electric field strength function in the y-axis direction are performed respectively on each grid cell in the grid cell set, integration of the electric field strength function in the x-axis direction is performed on each grid cell k on the Gaussian surface, and an integral form is as follows:
wherein Kx0 represents an x coordinate of a midpoint of a grid cell k, Ky0 represents a y coordinate of the midpoint of the grid cell k, Δxk represents a length of the grid cell k in the x direction, Δyk represents a length of the grid cell k in the y direction, Kxw, Kxe represent a left boundary and a right boundary of the grid cell k, and ql represents a degree of freedom of an electric field strength function in the y direction on the grid cell k.
Integration of the electric field strength function in the y-axis direction is performed on each grid cell k on the Gaussian surface, and an integral form is as follows:
wherein Kys, Kyn represent a lower boundary and an upper boundary of a grid cell k, and pl represents a degree of freedom of an electric field strength function in the y direction on the grid cell k.
The integral value of the electric field strength function in the x-axis direction and the integral value of the electric field strength function in the y-axis direction of each grid cell k on the Gaussian surface are accumulated to obtain the quantity of electric charge of the conductor, and the capacitance of each conductor and the parasitic capacitance of interconnection lines between conductors are obtained according to the relationship between the quantity of electric charge and capacitance of the conductor.
The present disclosure tests the exact solution of the proposed algorithm and examples of error orders, and an example u=sin (x+y) is selected to test the accuracy of the first-order error and the second-order error with and without conductors. Finally, it is found that the errors of the results obtained by testing meet error requirements for theoretical computation. The test results of the accuracy of the second-order error with conductors are shown in Table 1. The test results of the accuracy of the second-order error without conductors are shown in Table 2. It can be seen that the discontinuous finite element algorithm of the present disclosure is reliable, and codes are correct.
The verification results of the discontinuous finite element algorithm of the present disclosure on the extraction accuracy of parasitic capacitance between different numbers of conductors and the running time are as follows: for an example with 3 conductors, the error between the value of the parasitic capacitance extracted by the present disclosure and the standard reference value is 0.65%, and the running time is 0.16 s; for an example with 8 conductors, the error between the value of the parasitic capacitance extracted by the present disclosure and the standard reference value is 0.52%, and the running time is 0.52 s; for an example with 71 conductors, the error between the value of the parasitic capacitance extracted by the present disclosure and the standard reference value is 1.63%, and the running time is 2.3 s; and for an example with 97 conductors, the error between the value of the parasitic capacitance extracted by the present disclosure and the standard reference value is 2.40%, and the running time is 3.1 s. It can be seen that the smaller the number of conductors is, the smaller the error of the parasitic capacitance extracted by the present disclosure is. However, for a large number of conductors, the error of the parasitic capacitance extracted by the present disclosure is still small, which is controlled within 2.5%, and the running is very fast.
Number | Date | Country | Kind |
---|---|---|---|
202210263251.3 | Mar 2022 | CN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2022/095540 | 5/27/2022 | WO |