METHOD FOR EXTRACTING PARASITIC CAPACITANCE OF INTERCONNECTION LINES OF INTEGRATED CIRCUIT BASED ON DISCONTINUOUS GALERKIN FINITE ELEMENT METHOD

Information

  • Patent Application
  • 20240289531
  • Publication Number
    20240289531
  • Date Filed
    May 27, 2022
    2 years ago
  • Date Published
    August 29, 2024
    4 months ago
Abstract
The present disclosure discloses a method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous Galerkin finite element method. The method includes: dividing non-uniform rectangular grids according to the distribution situation of conductors; determining whether the rectangular grids are boundary cell grids, and marking global numbers and numbers to be solved in sequence; initializing degree of freedom values of all rectangular grids; traversing all rectangular grids, obtaining a linear system of equations, and computing potential function degrees of freedom of all rectangular grids; obtaining an electric field strength function degree of freedom of each cell according to the potential function degree of freedom of each rectangular grid; and dividing a Gaussian surface of each conductor, performing integration of the determined electric field strength function on the Gaussian surface to obtain electric charge, and finally, obtaining main conductor capacitance and coupling capacitance.
Description
TECHNICAL FIELD

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.


RELATED ART

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.


SUMMARY OF INVENTION

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*ucustom-character=b custom-character, 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.

    • (1) The discontinuous Galerkin finite element method provided by the present disclosure inherits all the advantages of the finite element method and provides a near-dense and far-sparse non-uniform grid division way. The solution accuracy is increased by densifying the grids near conductor cell boundaries to solve the problem of singularity of numerical solutions near boundary regions in solving problems, and local grid adaption is realized by modifying grid division parameters. During computation, a set of primary functions are respectively taken for discontinuous grid cells to avoid the problem of continuous occurrence of suspension points in a certain range due to primary functions when accuracy adaption is realized by the traditional finite element method. When the discontinuous Galerkin finite element method provided by the present disclosure is used for extracting parasitic capacitance of integrated circuits in different scales, the extraction accuracy required by the industry standards can be obtained with less running time. Compared with the traditional finite element method, the present disclosure has the technical advantages of increasing the extraction accuracy of parasitic capacitance of interconnection lines of an integrated circuit, shortening the running time, reducing the running memory, and being easy to realize adaptive adjustment of the accuracy.
    • (2) The discontinuous Galerkin finite element method provided by the present disclosure has high accuracy, the desired accuracy can be obtained conveniently only by modifying one accuracy parameter in a program, and grid division parameters can be modified slightly to well deal with various complex boundary situations and grid divisions. Compared with a finite difference method, the present disclosure has the technical advantages of flexible grid division, adaptive adjustment of extraction accuracy, and short running time.





BRIEF DESCRIPTION OF DRAWINGS


FIG. 1 is an equivalent circuit diagram of an electromagnetic coupling effect of an integrated circuit.



FIG. 2 is a flow diagram of a method for extracting parasitic capacitance of interconnection lines provided by the present disclosure.



FIG. 3(a) is a schematic diagram of grid division between two adjacent conductor boundaries. FIG. 3(b) is a schematic diagram of grid division of a local region to be solved.



FIG. 4(a) is a schematic diagram of boundaries of a grid cell k. FIG. 4(b) is a schematic diagram of potential and electric field strength fluxes on the boundaries of the grid cell k.





DESCRIPTION OF EMBODIMENTS

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 FIG. 1 includes: a main conductor 1, a second conductor 2 adjacent to the main conductor, and a third conductor 3 adjacent to the main conductor. The potential on the main conductor 1, the second conductor 2 and the third conductor 3 is φ1, φ2 and φ3 respectively, the capacitance of the main conductor 1, the second conductor 2 and the third conductor 3 is C20, C10 and C30 respectively, the parasitic capacitance of an interconnection line between the main conductor 1 and the second conductor 2 is C12, the parasitic capacitance of an interconnection line between the main conductor 1 and the third conductor 3 is C13, and the parasitic capacitance of an interconnection line between the second conductor 2 and the third conductor 3 is C23.


As shown in FIG. 2, a method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous Galerkin finite element method, provided by the present disclosure, includes the following six steps.

    • Step 1: After the data of each conductor is read, an integrated circuit layout is divided into non-uniform grids.


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 FIG. 3(a).

    • Step 2: The boundedness and numbers of grid cells are set.


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 FIG. 3(b). Each grid cell is traversed, the grid cells which are not boundary cells are assigned with second numbers recorded as “numbers of cells to be solved”, and the mapping relationship between the global numbers and the numbers of the cells to be solved is established.

    • Step 3: The degrees of freedom of all grid cells are initialized, electrostatic field strength formulae in an LDG format are obtained according to whether adjacent grid cells of the grid cells to be solved are boundary cells, and potential function degrees of freedom and electric field strength function degrees of freedom of all grid cells to be solved are solved.


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,











u
x

(

x
,
y

)

=

p

(

x
,
y

)


,



u
y

(

x
,
y

)

=


q

(

x
,
y

)

.







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=1pulll=1ppll, Σl=1pqll, 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:

















k


[



p
x

(

x
,
y

)

+


q
y

(

x
,
y

)


]

*


φ
l

(

x
,
y

)



dk


=





k



0
*


φ
l

(

x
,
y

)



dk




,












k




p

(

x
,
y

)

*


φ
l

(

x
,
y

)



dk



=









k





u
x

(

x
,
y

)

*


φ
l

(

x
,
y

)



dk



,











k




q

(

x
,
y

)

*


φ
l

(

x
,
y

)



dk



=





k





u
y

(

x
,
y

)

*


φ
l

(

x
,
y

)




dk
.








Three formulae in an LDG format, as shown in Formulae (1), (2) and (3), are obtained:















K

x

w



K

x

e





[





q
ˆ


K

y

n


(
x
)




φ

l


K

¯



y

n



(
x
)


-




q
ˆ


K

y

s


(
x
)




φ

l

K

y

s


+

(
x
)



]



dx


-





K



q

(

x
,
y

)

*





φ
l

(

x
,
y

)




y




dk



+





K

y

s



K

y

n





[





p
ˆ


K

x

e



(
y
)




φ

l


K

¯



x

e




(
y
)


-




p
ˆ


K

x

w



(
y
)




φ

l

K

x

w



+

(
y
)



]



dy


-





K



p

(

x
,
y

)

*





φ
l

(

x
,
y

)




x




dk




=
0

,




(
1
)
















K



p

(

x
,
y

)

*


φ
l

(

x
,
y

)



dk


=





K

y

s



K

y

n





[




û

K

x

e



(
y
)

*


φ

l


K

¯



x

e




(
y
)


-



û

K

x

w



(
y
)

*


φ

l

K

x

w



+

(
y
)



]



dy


-



K



u

(

x
,
y

)

*





φ
l

(

x
,
y

)




x




dk




,




(
2
)
















K



q

(

x
,
y

)

*


φ
l

(

x
,
y

)



dk


=





K

x

w



K

x

e





[




û

K

y

n



(
x
)

*


φ

l


K

¯



y

n




(
x
)


-



û

K

y

s



(
x
)

*


φ

l

K

y

s



+

(
x
)



]



dx


-



K



u

(

x
,
y

)

*





φ
l

(

x
,
y

)




y




dk




,




(
3
)







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 FIG. 4(a), and (Kx0, Ky0) represents central coordinates of the grid cell k; {circumflex over (q)}, {circumflex over (p)}, û represent numerical fluxes, {circumflex over (q)}Kys(x) represents a numerical flux of an electric field strength q(x, −½) at the lower boundary of the grid cell k, q(x, −½) represents an electric field strength at the lower boundary of the grid cell k, {circumflex over (q)}Kyn(x) represents a numerical flux of an electric field strength q(x, ½) at the upper boundary of the grid cell k, q(x, ½) represents an electric field strength at the upper boundary of the grid cell k, {circumflex over (p)}Kxs(y) represents a numerical flux of an electric field strength p(−½, y) at the left boundary of the grid cell k, p(−½, y) represents an electric field strength at the left boundary of the grid cell k, {circumflex over (p)}Kxe(y) represents a numerical flux of an electric field strength p(½, y) at the right boundary of the grid cell k, p(½, y) represents an electric field strength at the right boundary of the grid cell k, ûKxe(y) represents a numerical flux of a potential u(½, y) at the right boundary of the grid cell k, u(½, y) represents a potential at the right boundary of the grid cell k, ûKxw(y) represents a numerical flux of a potential u(−½, y) at the left boundary of the grid cell k, u(−½, y) represents a potential at the left boundary of the grid cell k, ûKyn(x) represents a numerical flux of a potential u(x, ½) at the upper boundary of the grid cell k, u(x, ½) represents a potential at the upper boundary of the grid cell k, ûKys(x) represents a numerical flux of a potential u(x, −½) at the lower boundary of the grid cell k, and u(x, −½) represents a potential at the lower boundary of the grid cell k; and φlKyn(x) represents a flux (that is, value) of a primary function φl(x, ½) below the upper boundary of the grid cell k, φl(x, ½) represents a value of the lth primary function of the grid cell k at the upper boundary,







φ

l

K

y

s



+

(
x
)




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,







φ

l

K

x

e


-


(
y
)




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,







φ

l

K

x

w



+

(
y
)




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 FIG. 4(b), p, q and u on the upper and right sides of the boundary of the grid cell are assigned with symbols p+, q+, u+, p, q and u on the lower and left sides of the boundary of the grid cell are assigned with symbols p, q, u, and the actual potential of the boundary is recorded as uexact.


When the adjacent grid cell of the grid cell k is not a boundary cell,








u
^

=

u
-


,


p
^

=


p
+

+

u
+

-

u
-



,


q
ˆ

=


q
+

+

u
+

-


u
-

.







When the adjacent grid cell of the grid cell k is a boundary cell,






û
=


u
exact

.





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 custom-character, custom-character, custom-character, custom-character, custom-character. According to the formulae (1), (2) and (3), for each grid cell k to be solved, a formula in the form of Ak*custom-character+Akn*custom-character+Aks*custom-character+Ake*custom-character+Akw*custom-character=0 can be listed. All grid cells to be solved are traversed, and the equations of all grid cells to be solved are combined into a large linear system of equations in the form of Au-b, so as to obtain a potential degree of freedom on each grid cell to be solved, thereby obtaining the potential of each grid cell and further obtaining the electric field strength.


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:












K

x

w



K

x

e





[




q
ˆ


K

y

n



(
x
)

*


φ

l


K

¯



y

n




(
x
)


]




dx
.






Module


I















K

x

w



K

x

e





[


-



q
ˆ


K

y

s



(
x
)


*


φ

l

K

y

s



+

(
x
)


]




dx
.






Module


II












-





k



q

(

x
,
y

)

*





φ
l

(

x
,
y

)




y





dk
.








Module


III















K

y

s



K

y

n





[




p
ˆ


K

x

e



(
y
)

*


φ

l


K

¯



x

e




(
y
)


]




dy
.






Module


IV















K

y

s



K

y

n





[


-



p
ˆ


K

x

w



(
y
)


*


φ

l

K

x

w



+

(
y
)


]




dy
.






Module


V












-





k



p

(

x
,
y

)

*





φ
l

(

x
,
y

)




x





dk
.








Module


VI







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:









C
φφ

:

C

i

j

φφ


=






K

b

a

s

e







φ
˙

i

(

x
,
y

)

*



φ
˙

j

(

x
,
y

)



dx

dy




,











C

φφ
x


:

C

i

j


φφ
x



=






K

b

a

s

e










φ
.

i

(

x
,
y

)




x


*



φ
˙

j

(

x
,
y

)



dxdy




,









C

φφ
y


:

C

i

j


φφ
y



=






K

b

a

s

e










φ
.

i

(

x
,
y

)




y


*



φ
˙

j

(

x
,
y

)



dxdy




,









X

n

n


:

X

n

n


i

j



=





-
1

/
2


1
/
2






φ
˙

j

(

x
,


-
1

/
2


)

*



φ
˙

i

(

x
,


-
1

/
2


)



dx



,









X

n

s


:

X

n

s


i

j



=





-
1

/
2


1
/
2






φ
˙

j

(

x
,

1
/
2


)

*



φ
˙

i

(

x
,


-
1

/
2


)



dx



,









X

s

n


:

X

s

n


i

j



=





-
1

/
2


1
/
2







˙


φ

j

(

x
,


-
1

/
2


)

*



φ
˙

i

(

x
,

1
/
2


)



dx



,









X

s

s


:

X

s

s


i

j



=





-
1

/
2


1
/
2






φ
˙

j

(

x
,

1
/
2


)

*



φ
˙

i

(

x
,

1
/
2


)



dx



,









Y

e

e


:

Y

e

e


i

j



=





-
1

/
2


1
/
2






φ
˙

j

(



-
1

/
2

,
y

)

*



φ
˙

i

(



-
1

/
2

,
y

)



dy



,









Y

e

w


:

Y

e

w


i

j



=





-
1

/
2


1
/
2






φ
˙

j

(


1
/
2

,
y

)

*



φ
˙

i

(



-
1

/
2

,
y

)



dy



,









Y

w

e


:

Y

w

e


i

j



=





-
1

/
2


1
/
2






φ
˙

j

(



-
1

/
2

,
y

)

*



φ
˙

i

(


1
/
2

,
y

)



dy



,









Y

w

w


:

Y

w

w


i

j



=





-
1

/
2


1
/
2






φ
˙

j

(


1
/
2

,
y

)

*



φ
˙

i

(


1
/
2

,
y

)



dy



,




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:









(




Δ


x
k




Δ

y


k

n



*

X

n

s


*


(

C
φφ

)


-
1


*

(


X

s

s


-

C

φφ
y



)


+

Δ


x
k

*

X

n

s




)

*


u
kn




+



(




-


Δ


x
k




Δ

y

kn



*

X

n

s


*


(

C
φφ

)


-
1


*

X

s

n



-

Δ


x
k

*

X

s

s




)

*


u
k





,




when Kn is a non-boundary cell, but Knn is a boundary cell, the form of the module I is:









(



Δ


x
k



Δ


y

k

n




*

X

n

s


*


(

C
φφ

)


-
1


*

X

n

s



)

*


u
knn




+


(



-


Δ


x
k



Δ


y

k

n





*

X

n

s


*


(

C
φφ

)


-
1


*

C

φφ
y



+

Δ


x
k

*

X

n

s




)

*


u
kn




+



(



-


Δ


x
k



Δ


y

k

n





*

X

n

s


*


(

C
φφ

)


-
1


*

X

s

n



-

Δ


x
k

*

X

s

s




)

*


u
k





,




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:








(




Δ


x
k



Δ


y
k



*

X

s

s


*


(

C
φφ

)


-
1


*

X

n

s



+

Δ


x
k

*

X

n

s




)

*


u
kn




+


(



-


Δ


x
k



Δ


y
k




*

X

s

s


*


(

C
φφ

)


-
1


*

C

φφ
y



-

Δ


x
k

*

X

s

s




)

*


u
k




+


(


-


Δ


x
k



Δ


y
k




*

X

s

s


*


(

C
φφ

)


-
1


*

X

s

n



)

*



u
ks



.






For the module II, when Kn is not a boundary cell, the form of the module II is:









(



-


Δ


x
k



Δ


y
k




*

X

n

n


*


(

C
φφ

)


-
1


*

(


X

s

s


-

C

φφ
y



)


-

Δ


x
k

*

X

n

n




)

*


u
k




+


(




Δ


x
k



Δ


y
k



*

X

n

n


*


(

C
φφ

)


-
1


*

X

s

n



+

Δ


x
k

*

X

s

n




)

*


u
ks





,




and when Kn is a boundary cell, the form of the module II is:








(


-


Δ


x
k



Δ


y
k




*

X

n

n


*


(

C
φφ

)


-
1


*

X

n

s



)

*


u
kn




+


(




Δ


x
k



Δ


y
k



*

X

n

n


*


(

C
φφ

)


-
1


*

X

s

n



+

Δ


x
k

*

X

s

n




)

*


u
ks




+



(




Δ


x
k



Δ


y
k



*

X

n

n


*


(

C
φφ

)


-
1


*

C

φφ
y



-

Δ


x
k

*

X

n

n




)

*



u
k



.






For the module III, when Kn is not a boundary cell, the form of the module III is:











(


-


Δ


x
k



Δ


y
k




*

C






φ



φ
y



*


(

C






φ


φ


)


-
1


*

(


X
ss

-

C






φ



φ
y




)


)

*


u
k




+


(



Δ


x
k



Δ


y
k



*

C






φ



φ
y



*


(

C






φ


φ


)


-
1


*

X
sn


)

*


u
ks





,





and when Kn is a boundary cell, the form of the module III is:










(


-


Δ


x
k



Δ


y
k




*

C






φ



φ
y



*


(

C






φ


φ


)


-
1


*

X
ns


)

*


u
kn




+


(



Δ


x
k



Δ


y
k



*

C






φ



φ
y



*


(

C






φ


φ


)


-
1


*

X
sn


)

*


u
ks




+


(



Δ


x
k



Δ


y
k



*

C






φ



φ
y



*


(

C






φ


φ


)


-
1


*

C






φ



φ
y




)

*



u
k



.







For the module IV, when Ke and Kee are both not boundary cells, the form of the module IV is:











(




Δ


y
k



Δ


x
ke



*

Y
ew

*


(

C






φ


φ


)


-
1


*

(


Y
ww

-

C






φ



φ
x




)


+

Δ


y
k

*

Y
ew



)

*


u
ke




+


(



-


Δ


y
k



Δ


x
ke




*

Y
ew

*


(

C






φ


φ


)


-
1


*

Y
we


-

Δ


y
k

*

Y
ww



)

*


u
k





,





when Ke is not a boundary cell, but Kee is a boundary cell, the form of the module IV is:











(



Δ


y
k



Δ


x
ke



*

Y
ew

*


(

C






φ


φ


)


-
1


*

Y
ew


)

*


u

k
ee





+


(



-


Δ


y
k



Δ


x
ke




*

Y
ew

*


(

C






φ


φ


)


-
1


*

C






φ



φ
x




+

Δ


y
k

*

Y
ew



)

*


u
ke




+


(



-


Δ


y
k



Δ


x
ke




*

Y
ew

*


(

C






φ


φ


)


-
1


*

Y
we


-

Δ


y
k

*

Y
ww



)

*


u
k





,





and when Ke is a boundary cell, the form of the module IV is:










(




Δ


y
k



Δ


x
k



*

Y
ww

*


(

C






φ


φ


)


-
1


*

Y
ew


+

Δ


y
k

*

Y
ew



)

*


u
ke




+


(



-


Δ


y
k



Δ


x
k




*

Y
ww

*


(

C






φ


φ


)


-
1


*

C






φ



φ
x




-

Δ


y
k

*

Y
ww



)

*


u
k




+


(


-


Δ


y
k



Δ


x
k




*

Y
ww

*


(

C






φ


φ


)


-
1


*

Y
we


)

*



u
kw



.







For the module V, when Ke is not a boundary cell, the form of the module V is:











(



-


Δ


y
k



Δ


x
k




*

Y
ee

*


(

C






φ


φ


)


-
1


*

(


Y
ww

-

C






φ



φ
x




)


-

Δ


y
k

*

Y
ee



)

*


u
k




+


(




Δ


y
k



Δ


x
k



*

Y
ee

*


(

C






φ


φ


)


-
1


*

Y
we


+

Δ


y
k

*

Y
we



)

*


u
kw





,





and when Ke is a boundary cell, the form of the module V is:










(


-


Δ


y
k



Δ


x
k




*

Y
ee

*


(

C






φ


φ


)


-
1


*

Y
ew


)

*


u
ke




+


(




Δ


y
k



Δ


x
k



*

Y
ee

*


(

C






φ


φ


)


-
1


*

Y
we


+

Δ


y
k

*

Y
we



)

*


u
kw




+


(




Δ


y
k



Δ


x
k



*

Y
ee

*


(

C






φ


φ


)


-
1


*

C






φ



φ
x




-

Δ


y
k

*

Y
ee



)

*



u
k



.







For the module VI, when Ke is not a boundary cell, the form of the module VI is:











(


-


Δ


y
k



Δ


x
k




*

C






φ



φ
x



*


(

C






φ


φ


)


-
1


*

(


Y
ww

-

C






φ



φ
x




)


)

*


u
k




+


(



Δ


y
k



Δ


x
k



*

C






φ



φ
x



*


(

C






φ


φ


)


-
1


*

Y
we


)

*


u
kw





,





and when Ke is a boundary cell, the form of the module VI is:










(


-


Δ


y
k



Δ


x
k




*

C






φ



φ
x



*


(

C






φ


φ


)


-
1


*

Y
ew


)

*


u
ke




+


(



Δ


y
k



Δ


x
k



*

C






φ



φ
x



*


(

C






φ


φ


)


-
1


*

Y
we


)

*


u
kw




+


(



Δ


y
k



Δ


x
k



*

C






φ



φ
x



*


(

C






φ


φ


)


-
1


*

C






φ



φ
x




)

*



u
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, Δykn represents a length of an adjacent grid cell above the grid cell k in the y direction, custom-character represents a potential function degree of freedom vector of the grid cell k, custom-character represents a potential function degree of freedom vector of a grid cell adjacent to the upper boundary of the grid cell k, custom-character represents a potential function degree of freedom vector of a grid cell adjacent to the lower boundary of the grid cell k, custom-character 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, custom-character represents a potential function degree of freedom vector of a grid cell adjacent to the right boundary of the grid cell k, custom-character 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, custom-character represents a potential function degree of freedom vector of a grid cell adjacent to the left boundary of the grid cell k, and custom-character 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*custom-character=custom-character, that is, the present disclosure is based on discontinuous Galerkin finite element method, wherein A represents a sparse matrix with a huge order, and custom-character represents a potential function degree of freedom vector composed of the potential degrees of freedom of all grid cells to be solved.


After custom-character is solved, custom-character and custom-character 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 custom-character and custom-character are obtained, electric field intensities in the x direction and y direction of each grid cell are obtained.

    • Step 4: The electric charge of each conductor and the coupling capacitance of each conductor are solved according to the electric field strength of each grid cell.


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:









±




K
xw




K
xe





[







l
=
1

p



q
l

*


φ
l

(



x
-

K

x

0




Δ


x
k



,
0

)


]


dx



,





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:












K
ys




K
yn





[







l
=
1

p



p
l

*


φ
l

(

0
,


y
-

K

y

0




Δ


y
k




)


]


dy


,





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.











TABLE 1





Grid
Infinite order error
Convergence order

















4*4
0.690632



8*8
0.0493025
3.8082


16*16
0.00686255
2.8448


32*32
0.000934307
2.8768





with conductor, accuracy = 2















TABLE 2





Grid
Infinite order error
Convergence order

















4*4
0.329522



8*8
0.048871
2.7533


16*16
0.0065491
2.8996


32*32
0.000924688
2.82424





without conductor, accuracy = 2






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.

Claims
  • 1. A method for extracting parasitic capacitance of interconnection lines of integrated circuits based on discontinuous finite element method, comprising: dividing an integrated circuit layout into non-uniform grids according to a distribution situation of conductors to obtain a grid form that is uniform and dense close to boundaries of the conductors and is non-uniform and sparse away from the boundaries of the conductors;determining whether each grid cell is a boundary cell, marking each grid cell with a global number, assigning grid cells which are non-boundary cells with numbers of cells to be solved, and establishing a mapping relationship between global numbers and the numbers of the cells to be solved, the grid cells which are non-boundary cells forming a region to be solved, and the boundary cells being grid cells outside the boundaries of the region to be solved and grid cells in a region where the conductors are located;initializing freedom degrees of potentials of boundary cells, simplifying an electrostatic field strength formulae in a local discontinuous finite element format according to whether an adjacent grid cell of each grid cell in the region to be solved is a boundary cell to obtain a linear system of equations in the form of A*=, and solving the linear system of equations to obtain a freedom degree vector of a potential function composed of the freedom degrees of potentials of all grid cells to be solved, A representing a sparse matrix, and representing a constant vector generated in the process of simplifying the electrostatic field strength formulae in the local discontinuous finite element format;solving a freedom degree vector of an electric field strength function composed of the freedom degrees of potentials of all grid cells to be solved according to the electrostatic field strength formulae in the local discontinuous finite element format and the freedom degree vector of potential function composed of the freedom degrees of potentials of all grid cells to be solved; andselecting a Gaussian surface according to the distribution situation of conductors, performing integration of an electric field strength function on the Gaussian surface to obtain the quantity of electric charge of the conductors, and obtaining capacitance of the conductors and the parasitic capacitance between interconnection lines of the conductors according to the relationship between the quantity of electric charge and capacitance of the conductors.
  • 2. The method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous finite element method according to claim 1, wherein a specific method for dividing an integrated circuit layout into non-uniform grids according to the distribution situation of conductors comprises: dividing each conductor into at least one cuboid, reading row and column coordinates of each cuboid, uniformly extending an interval of a minimum mingap for a set number of times outward based on boundary rows of two adjacent conductors, gradually extending the interval with a gaptime multiple of mingap, and continuing to extend outward until the interval between the boundary rows of two adjacent conductors after extension is less than the interval after re-extension.
  • 3. The method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous finite element method according to claim 1, wherein a specific method for initializing freedom degrees of potentials of boundary cells comprises: when a boundary cell is not a main conductor boundary cell, assigning a constant value of the freedom degree of the potential of the boundary cell as 0; andwhen a boundary cell is a main conductor boundary cell, assigning a constant value of the freedom degree of the potential of the boundary cell as 1, and assigning constant values of the freedom degrees of potentials of other boundary cells as 0.
  • 4. The method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous finite element method according to claim 1, wherein a specific method for simplifying an electrostatic field strength formulae in an local discontinuous finite element format according to whether an adjacent grid cell of each grid cell in the region to be solved is a boundary cell comprises: dividing an electrostatic field formulae in the local discontinuous finite element format into six modules:
  • 5. The method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous finite element method according to claim 4, wherein a specific method for simplifying the module I according to whether a grid cell adjacent to the upper boundary of the current grid cell and a grid cell adjacent to the upper boundary of an upper boundary grid cell are boundary cells comprises: when the grid cell adjacent to the upper boundary of the current grid cell and the grid cell adjacent to the upper boundary of the upper boundary grid cell are both non-boundary cells, simplifying the module I as:
  • 6. The method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous finite element method according to claim 5, wherein a specific method for simplifying the module II according to whether a grid cell adjacent to the upper boundary of the current grid cell is a boundary cell comprises: when the grid cell adjacent to the upper boundary of the current grid cell is a non-boundary cell, simplifying the module II as:
  • 7. The method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous finite element method according to claim 6, wherein a specific method for simplifying the module III according to whether a grid cell adjacent to the upper boundary of the current grid cell is a boundary cell comprises: when the grid cell adjacent to the upper boundary of the current grid cell is a non-boundary cell, simplifying the module III as:
  • 8. The method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous finite element method according to claim 7, wherein a specific method for simplifying the module IV according to whether a grid cell adjacent to the right boundary of the current grid cell and a grid cell adjacent to the right boundary of a right boundary grid cell are boundary cells comprises: when the grid cell adjacent to the right boundary of the current grid cell and the grid cell adjacent to the right boundary of the right boundary grid cell are both non-boundary cells, simplifying the module IV as:
  • 9. The method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous finite element method according to claim 8, wherein a specific method for simplifying the module V according to whether a grid cell adjacent to the right boundary of the current grid cell is a boundary cell comprises: when the grid cell adjacent to the right boundary of the current grid cell is a non-boundary cell, simplifying the module V as:
  • 10. The method for extracting parasitic capacitance of interconnection lines of an integrated circuit based on discontinuous finite element method according to claim 9, wherein a specific method for simplifying the module VI according to whether a grid cell adjacent to the right boundary of the current grid cell is a boundary cell comprises: when the grid cell adjacent to the right boundary of the current grid cell is a non-boundary cell, simplifying the module VI as:
Priority Claims (1)
Number Date Country Kind
202210263251.3 Mar 2022 CN national
PCT Information
Filing Document Filing Date Country Kind
PCT/CN2022/095540 5/27/2022 WO