Fast Parasitic Extraction
720 likes | 1.13k 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
Fast Parasitic Extraction
E N D
Presentation Transcript
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