1 / 59

Fast Parasitic Extraction

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

mildred
Download Presentation

Fast Parasitic Extraction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fast Parasitic Extraction Weiping Shi ELEN 689

  2. Outline • Introduction • Capacitance extraction • Inductance extraction • Resistance and substrate extraction • Fast multipole method ELEN 689

  3. Introduction • Interconnect delay dominates delay (ps) technology ELEN 689

  4. Application • Delay estimation • Signal integrity analysis • IC, package, MCM and PCB ELEN 689

  5. 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

  6. Math and Physics Review • A vector field: F: RnRn that assigns each x a vector f(x) • A scalar field: f: RnRthat assigns each x a scalar f(x) ELEN 689

  7. Example Vector Fields ELEN 689

  8. 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

  9. 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

  10. 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

  11. Electric Field • For a point charge q at position r, the electric field at r’ ELEN 689

  12. 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

  13. MKS Measurement • Measures • Length in meters • Mass in kilograms • Time in seconds • Permittivity 0 and permeability 0 • 0=1/(c20) • For vacuum, 40=111.27 pF/m ELEN 689

  14. 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

  15. Parasitic Capacitance • Given a set of conductors, compute the capacitance between all pairs of conductors. 1V + - - + + + - C=Q/V - + - - - ELEN 689

  16. 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

  17. Capacitance Matrix ELEN 689

  18. 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

  19. 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

  20. 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

  21. 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

  22. 3D Methods • Finite difference/finite element method • Most accurate, slowest • Raphael • Boundary element method • FastCap, Hicap • Monte Carlo random walk • QuickCap ELEN 689

  23. 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

  24. FDM (cont’d) • For conductor exterior, solve Laplace differential equation • In 2D: k m l i j ELEN 689

  25. Uniform Grid (2D) i, j+1 i+1, j i–1, j i, j i, j–1 ELEN 689

  26. 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

  27. 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

  28. 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/(40|x-x’|) is Green’s function ELEN 689

  29. 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

  30. 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

  31. 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

  32. BEM Example Conductor 1 Conductor 2 1 2 1 2 ELEN 689

  33. Step 1. Discretization Conductor 1 Conductor 2 A1 A2 A3 A4 ELEN 689

  34. Step 2. Compute P 1 A1 A2 A3 A4 2 1 2 P12 = P34 =1/(40)*(1/1), P13 =P24 =1 /(40)*(1/3) P23 =1/(40)*(1/2), P14 =1/(40)*(1/4) P11 =P22 = P33 =P44 =? ELEN 689

  35. Step 3. Approximate Pii • Compute potential at the center of a disk due to uniform charge distribution 1/2 ELEN 689

  36. Step 4. Linear System Solve it using Matlab: q1=3.0966, q2=3.1664, q3=–0.7201, q4=–0.3532 ELEN 689

  37. 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

  38. Computational Complexity • Straightforward method • Discretization: O(N) • Compute P: O(N2) • Solve Pq=v: O(N3) ELEN 689

  39. Make It Faster • Discretization: O(n) • Compute P: O(n2) O(n) • Since P is size nn, P can not be constructed explicitly • Solve Pq=v: O(n3) O(n) • Iterative methods ELEN 689

  40. 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

  41. 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

  42. 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

  43. Example: Jacobi Method ELEN 689

  44. 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

  45. 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

  46. 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

  47. 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

  48. 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

  49. 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

  50. 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

More Related