PiCAP: A Parallel and Incremental Capacitance Extraction Considering Stochastic Process Variation Fang Gong 1, Hao Yu 2, and Lei He 1 1 Electrical Engineering Dept., UCLA 2 Berkeley Design Automation Presented by Fang Gong
Outline Background and Motivation Algorithms Experimental Results Conclusion and Future Work
Outline Background and Motivation Algorithms Experimental Results Conclusion and Future Work
Process Variation and Cap Extraction Process variation leads to capacitance variation OPC lithography and CMP polishing Capacitance variation affects circuit performance Delay variation and analog mismatch From [Kang and Gupta]
Background of BEM Based Cap Extraction Capacitance extraction in FastCap Procedures 1. Discretize metal surface into panels 2. Form linear system by collocation 3. Results in dense potential coeffs 4. Solve by iterative GMRES Fast Multipole method (FMM) to evaluate Matrix Vector Product (MVP) Preconditioned GMRES iteration with guided convergence Difficulties for stochastic capacitance extraction How to consider variations in FMM? How to consider different variations in precondition? Source Panel j Observe Panel i
Motivation of Our Work Existing works Stochastic integral by low-rank approximation Zhu, Z. and White, J. “FastSies: a fast stochastic integral equation solver for modeling the rough surface effect”. In Proceedings of IEEE/ACM ICCAD Pros: Rigorous formulation Cons: Random integral is slow for full-chip extraction Stochastic orthogonal polynomial (SOP) expansion Cui, J., and etc. “Variational capacitance modeling using orthogonal polynomial method”. In Proceedings of the 18th ACM Great Lakes Symposium on VLSI Pros: An efficient non-Monte-Carlo approach Cons: SOP expansion results in an augmented and dense linear system Objective of our work early parallel improvement. Fast multi-pole method (FMM) with nearly O(n) performance with a further parallel improvement. Pre-conditioner should be updated incrementally for different variation.
Outline Background and Motivation Algorithms Experimental Results Conclusion and Future Work
Flow of piCAP 1.Represent P ij with stochastic geometric moments 2.Use parallel FMM to evaluate MVP of Pxq 3.Obtain capacitance (mean and variance) with incrementally preconditioned GMRES Potential Coefficient Solve with GMRES Build Spectrum preconditioner Evaluate the MVP ( P x q ) with FMM in parallel Calculate C ij with the charge distribution. Geometric Moments Incrementally update preconditioner Geometry Info Process Variation
Stochastic Geometric Moment Consider two independent variation sources: panel distance (d) and panel width (w) Multipole expansion along x-y-z coordinates: multipole moments and local moments M i and L i show an explicit dependence on geometry parameters, and are called geometric moments. source-cube observer cube source-panel d0d0 r0r0
Stochastic Potential Coefficient Expansion Stochastic Potential Coefficient Relate geometric parameters to random variables Let be random variable for panel width w, and be random variable for panel distance d. Geometric moments M p and L p are: Now, the potential coefficient is
Stochastic Potential Coefficient Expansion Stochastic Potential Coefficient Relate geometric parameters to random variables Let be random variable for panel width w, and be random variable for panel distance d. Geometric moments M p and L p are: Now, the potential coefficient is n -order stochastic orthogonal polynomial expansion of P Accordingly, m -th order ( m = 2n + n(n − 1) ) expansion of charge is :
Potential Coefficient Solve with GMRES Build Spectrum preconditioner Evaluate the MVP ( P x q ) with FMM in parallel Calculate C ij with the charge distribution. Geometric Moments Incrementally update preconditioner Geometry Info Process Variation Augmented System Recap: SOP expansion leads to a large and dense system equation
Parallel Fast Multipole Method--upward Overview of Parallel fast-multipole method (FMM) group panels in cubes, and build hierarchical tree for cubes We use 8-degree trees in implementation, but use 2-degree trees for illustration here. A parallel FMM distributes cubes to different processors Upward Pass Level 0 Level 1 Level 2 Level 3 starting from bottom level, it calculates stochastic geometric moments Update parent’s moments by summing the moments of its children— called M2M operation M2M M2M operations can be performed in parallel at different nodes
Parallel Fast Multipole Method--Downwards Downward Pass Level 0 Level 1 Level 2 Level 3 Sum L2L results with near-field potential for all panels at bottom level and return P x q At the top level, calculation of potential between two cubes—called M2L operation. potential is further distributed down to children from their parent in parallel—called L2L operation. M2L L2L Calculate near-field potential directly in parallel M2M M2M, L2L are local operations, while M2L is global operation. How to reduce communication traffic due to global operation?
Reduction of traffic between processors Global data dependence exists in M2L operation at the top level Pre-fetch moments: distributes its moments to all cubes on its dependency list before the calculations. As such, it can hide communication time. Cube 1 Cube under calculation Cube 0 Dependency List Cube 0 Cube 1 … Cube k … Cube k
Flow of piCAP 1.Use spectrum pre-conditioner to accelerate convergence 2.Incrementally update the pre-conditioner for different variation. Potential Coefficient Solve with GMRES Build Spectrum preconditioner Evaluate the MVP ( P x q ) with FMM in parallel Calculate C ij with the charge distribution. Geometric Moments Incrementally update preconditioner Geometry Info Process Variation
Deflated Spectral Iteration Why need spectral preconditioner GMRES needs too many iterations to achieve convergence. Spectral preconditioner shifts the spectrum of system matrix to improve the iteration convergence Deflated spectral iteration k (k=1 power iteration) partial eigen-pairs Spectrum preconditioner Why need incremental precondition Variation can significantly change spectral distribution Building each pre-conditioner for different variations is expensive Simultaneously considering all variations increases the complexity of our model.
Incremental Precondition For updated system, the update for the i- th eigen vector is: is the subspace composed of is the updated spectrum Updated pre-conditioner W’ is Inverse operation only involves diagonal matrix D K Consider different variations by updating the nominal preconditioner partially.
Outline Background and Motivation Algorithm Experimental Results Conclusion and Future Work
Accuracy Comparison Setup : two panels with random variation for distance d and width w Result : Stochastic Geometric Moments have high accuracy with average error of 1.8%, and can be up to ~1000X faster than MC 2 panels, d 0 = 7.07μm, w 0 = 1μm, d 1 = 20%d 0 MC (3000)piCAP Cij (fF) Time(s) panels, d 0 = 11.31μm, w 0 = 1μm, d 1 = 10%d 0 MC (3000)piCAP Cij (fF) Time(s) panels, d 0 = 4.24μm, w 0 = 1μm, d 1 = 20%d 0, w 1 = 20%h 0 MC (3000)piCAP Cij (fF) Time(s)
Runtime for parallel FMM Setup Two-layer example with 20 conductors. Other: 40, 80, 160 conductors Evaluate P x q (MVP) with 10% perturbation on panel distance Result All examples can have about 3X speedup with 4 processors #wire #panels proc / / / /1.0 2 proc /1.7X /1.4X /1.7X /1.7X 3 proc /2.0X /2.0X /2.0X /2.0X 4 proc /2.7X /2.9X /3.0X /2.8X
Efficiency of spectral preconditioner Setup : Three test structures: single plate, 2x2 bus, cubic Result Compare diagonal precondition with spectrum precondition Spectrum precondition accelerates convergence of GMRES (3X). # panel# variablediagonal prec.spectral prec. # iterTime(s)# iterTime(s) plate cubic bus
Speedup by Incremental Precondition Setup Test on two-layer 20 conductor example Incremental update of nominal pre-conditioner for different variation sources Compare with non-incremental one discretization w-t-l #panel#variableTotal Runtime (s) Non-incrementalincremental 3x3x x3x x3x x3x Result : Up to 15X speedup over non-incremental results, and only incremental one can finish all large examples.
Conclusion and Future Work Introduce stochastic geometric moments Develop a parallel FMM to evaluate the matrix- vector product with process variation Develop a spectral pre-conditioner incrementally to consider different variations Future Work: extend our parallel and incremental solver to solve other IC-variation related stochastic analysis
Thanks PiCAP: A Parallel and Incremental Capacitance Extraction Considering Stochastic Process Variation Fang Gong, Hao Yu and Lei He