720 likes | 1.1k Vues
Fast Parasitic Extraction. Weiping Shi. Outline. Introduction Capacitance extraction Inductance extraction Resistance and substrate extraction Fast multipole method. Introduction. Interconnect delay dominates. delay (ps). technology. Application. Delay estimation
E N D
Fast Parasitic Extraction Weiping Shi ELEN 689
Outline • Introduction • Capacitance extraction • Inductance extraction • Resistance and substrate extraction • Fast multipole method ELEN 689
Introduction • Interconnect delay dominates delay (ps) technology ELEN 689
Application • Delay estimation • Signal integrity analysis • IC, package, MCM and PCB ELEN 689
Capacitance Extraction • 2D/2.5D algorithms • 3D algorithms • Finite difference method • Boundary element methods • Monte Carlo method • Fast multipole method • Wavelet method • Other methods ELEN 689
Math and Physics Review • A vector field: F: RnRn that assigns each x a vector f(x) • A scalar field: f: RnRthat assigns each x a scalar f(x) ELEN 689
Example Vector Fields ELEN 689
Example Scalar Field 1 = G ( x , y ) + 2 2 x y G=1/7 G=1/6 G=1/5 G=1/4 ELEN 689
Gradient • The gradient of a scalar field f, denoted grad(f), is where is called del or nabla • The gradient of a scalar field f is a vector field F=(Fx, Fy, Fz) • The direction of grad(f) is the orientation in which the directional derivative has the largest value and |grad(f)| is the value. ELEN 689
Divergence • The divergence of a vector field F, denoted div(F), is • The divergence of a vector field is a scalar field • It gives the rate at which "density" exits a given region of space ELEN 689
Electric Field • For a point charge q at position r, the electric field at r’ ELEN 689
Potential field • For static electric field E, the potential (or voltage) (x,y,z) is defined as E=–, or where q ò ò × = + + E ds E dx E dy E dz x y z ELEN 689
MKS Measurement • Measures • Length in meters • Mass in kilograms • Time in seconds • Permittivity 0 and permeability 0 • 0=1/(c20) • For vacuum, 40=111.27 pF/m ELEN 689
Capacitor • A capacitor is a device that can store an electric charge by applying a voltage • The capacitance is measured by the ratio of the charge stored to the applied voltage • Capacitance is measured in Farads ELEN 689
Parasitic Capacitance • Given a set of conductors, compute the capacitance between all pairs of conductors. 1V + - - + + + - C=Q/V - + - - - ELEN 689
Multiple Conductors • Consider conductors 1, 2, …, n, where conductor i is set to potential vi, and the potential of ground is 0 • We have Q1 Qn Q2 ELEN 689
Capacitance Matrix ELEN 689
2D Methods • Area capacitance: area overlap between adjacent layers • Coupling capacitance: between side-walls on the same layer • Fringing capacitance: between side-wall and adjacent layers m3 m2 m2 m2 m1 ELEN 689
2D Method • C = Ca*(overlap area) +Cc*(length of parallel run) +Cf*(perimeter) • Coefficients Ca, Cc and Cf are given by the fab • Cadence Dracula • Fast but inaccurate (100%) ELEN 689
2.5D Method • Consider interaction between layer i and layers i+1, i+2, i–1 and i–2 • Consider distance between conductors on the same layer • Cadence Silicon Ensemble, Mentor graphics x-Caliber, Synopsys Star-RC • Accuracy 50% ELEN 689
Library Based Methods • Build a library of tens of thousands of patterns and compute capacitance for each pattern • Partition layout into blocks, and match with the library • Accuracy 20% ELEN 689
3D Methods • Finite difference/finite element method • Most accurate, slowest • Raphael • Boundary element method • FastCap, Hicap • Monte Carlo random walk • QuickCap ELEN 689
Finite Difference Method • Gauss’ Law • Let Vi be potential at each grid point • Approximate derivative by finite difference • Add boundary conditions • Solve a linear system ELEN 689
FDM (cont’d) • For conductor exterior, solve Laplace differential equation • In 2D: k m l i j ELEN 689
Uniform Grid (2D) i, j+1 i+1, j i–1, j i, j i, j–1 ELEN 689
FDM (cont’d) • Boundary conditions • Potential on conductors are given • To avoid solving an infinite problem, set boundary condition on enclosing box: • Closed box: V=0 on the box • Open box: dV/dn=0 on the box box conductors ELEN 689
FDM (cont’d) • Once we have E, use Gauss law to compute charge where S is any enclosed surface and q is the amount of charge in S ELEN 689
Integral Equation Laplacian integral equation, where (x) is known surface potential, (x’) is charge density, da’ is incremental conductor surface area, x’ is on da’, and 1/(40|x-x’|) is Green’s function ELEN 689
Boundary Element Method • Partition conductor surfaces into panels • Build coefficient matrix P, where and G is Green’s function, such as • Solve linear system Pq=v • Add charges to get capacitance ELEN 689
BEM (cont’d) • Partition conductor surfaces into n small panels A1,…, An. • Assume charge qi is uniform on each panel Ai • We have linear system Pq=v, where q=(q1,…,qn) is the vector of unknown charges, v=(v1,…,vn) is the vector of known panel potential. ELEN 689
BEM (cont’d) • Each entry Pij of potential coefficient matrix P represents the potential at panel Ai due to unit charge on panel Aj • Solution q of linear system Pq=v gives capacitance ELEN 689
BEM Example Conductor 1 Conductor 2 1 2 1 2 ELEN 689
Step 1. Discretization Conductor 1 Conductor 2 A1 A2 A3 A4 ELEN 689
Step 2. Compute P 1 A1 A2 A3 A4 2 1 2 P12 = P34 =1/(40)*(1/1), P13 =P24 =1 /(40)*(1/3) P23 =1/(40)*(1/2), P14 =1/(40)*(1/4) P11 =P22 = P33 =P44 =? ELEN 689
Step 3. Approximate Pii • Compute potential at the center of a disk due to uniform charge distribution 1/2 ELEN 689
Step 4. Linear System Solve it using Matlab: q1=3.0966, q2=3.1664, q3=–0.7201, q4=–0.3532 ELEN 689
Step 5. Compute Capacitance • Compute capacitance • C11=q1+q2=3.0966+3.1664=6.263, • C12=q3+q4=–0.7201–0.3532= –1.0733 • Repeat for other conductors • Final capacitance matrix: ELEN 689
Computational Complexity • Straightforward method • Discretization: O(N) • Compute P: O(N2) • Solve Pq=v: O(N3) ELEN 689
Make It Faster • Discretization: O(n) • Compute P: O(n2) O(n) • Since P is size nn, P can not be constructed explicitly • Solve Pq=v: O(n3) O(n) • Iterative methods ELEN 689
Fast Multipole Methods • N-body problem: Given n particles in 3D space, compute all forces between the particles • Fast multipole algorithms • Appel 85 • Rokhlin 86, Greengard & Rokhlin 87 • O(n) time ELEN 689
Basic Idea of Multipole • A cluster of charges at distance can be approximated by a single charge • Reduce operations from n2 to n • Form all clusters recursively in O(n) time — hard part! potential at n points n charges ELEN 689
Solve Ax=b Iteratively • Approximate Ax–b=0: • Bottleneck: Matrix-vector product Ax • A is not used elsewhere Initial solution x Compute Ax If Ax–b > tolerance, modify x ELEN 689
Example: Jacobi Method ELEN 689
Example: Jacobi Method • Transformation • Ax = b Dx=Dx–Ax+b x = (I–D–1A)x+D–1b • Iterations • x(i+1)= (I–D–1A) x(i)+D–1b • x(0) = 0, x(1) = D–1b, x(2) = (I–D–1A) x(1)+D–1b, … • If diagonally dominate, then Jacobi method converges • Better iterative methods such as CG or GMRES exist that converge much faster ELEN 689
Fast Algorithm HiCap • Conductor surface refinement: • Adaptively partition conductor surfaces into small panels according to a user supplied threshold • Approximate P and store it in a hierarchical data structure of size O(n) • The data structure permits O(n) time matrix-vector product Px for any n-vector x • Solve linear system Pq=v using iterative methods ELEN 689
5 1 2 3 4 Adaptive Panel Partition • If interaction between Ai Aj > , refine Ai and Aj. Otherwise, record Pij in P. C C A E B F G M N L I H J J ELEN 689
Representation of Matrix P • P is stored as links in a hierarchical data structure A H B C I J D E K L N G M F ELEN 689
Example • If area/dist 1, refine the panel A H 2 1/7 1/5 1/5 C B C I J 4 1/3 B 1 I 4 J ELEN 689
Example (cont’d) • If area/dist 1, refine the panel A H 2 1/7 1/5 1/5 C B C I J 4 E F G 1 D E K L M N L 4 N G M F J ELEN 689
A H Full 8x8 matrix P: B I J C K E D L D B E A C 1/4.6 M K N 1/4.6 I 1/5.5 L H J