Design Automation Group GPSCP: A General-Purpose Support-Circuit Preconditioning Approach to Large Scale SPICE Accurate Preconditioning Approach to Large-Scale SPICE-Accurate Nonlinear Circuit Simulations Authors: Xueqian Zhao Xueqian Zhao Zhuo Feng Department of Electrical & Computer Engineering Michigan Technological University Michigan Technological University 1
Large-Scale SPICE-Accurate Nonlinear Circuit Simulation Motivations – Modern ICs that integrate billions of transistors and interconnect components need to be accurately modeled and analyzed need to be accurately modeled and analyzed – Fast SPICE simulators may introduce errors due to various approximations Challenges in large-scale SPICE-accurate circuit simulations – Direct methods may not be runtime and memory efficient Direct methods may not be runtime and memory efficient – Iterative solvers (GMRES) require reliable and efficient preconditioners – The same accuracy as SPICE simulator Analog Circuit Blocks V out I out M p V in I f V G Cur. LDO LDO Amp Amp. C out C C f C R f1 I C + LDO LDO - R f2 V ref Error Amp Original Circuit with Digital Circuit Blocks Analog and Digital Blocks 2
Circuit Simulation Background Problem formulation – Nonlinear differential equations – f(.) and q(.) denote the static and dynamic nonlinearities, respectively d ( ) ( ( )) ( ( )) ( ) 0 F x f x t q x t u t dt dt Standard SPICE simulators rely on Newton-Raphson (NR) method – Linearize the nonlinear devices (transistors, etc) ( , ) f q k k ( ) , ( ) G x C x k k x x x x – Obtain the final solution through NR iterations Obt i th fi l l ti th h NR it ti 1 x k 1 x k F F ( x k ) x Jacobian matrix 3
Prior Works and Our Previous Approaches Existing direct and iterative solvers – Direct solver: LU decomposition (KLU [1]) – Expensive for large-scale and non-sparse problems due to E i f l l d bl d t the exponentially increased memory and runtime cost – Krylov-subspace iterative methods: GMRES [2] – Achieve better memory efficiency – Convergence rate depends on the effectiveness and efficiency of preconditioners y p Our previous approaches: support-graph (circuit) preconditioned iterative methods – Support-graph preconditioner for large-scale power grid network Support graph preconditioner for large scale power grid network simulations – Support-circuit preconditioner for large-scale interconnect-dominant nonlinear circuit nonlinear circuit [1] T. Davis and E. Palamadai Natarajan. Algorithm 907: KLU, a direct sparse solver for circuit simulation problems. ACM Trans. Math. Softw., 2010. [2] Y. Saad and M. Schultz. GMRES: a generalized minimal residual algorithm for solving nonsymmetric linear systems. SIAM J. Sci. Stat. Comput., 1986. 4
Support-Graph Preconditioner [1] Support-graph preconditioner (SG) for linear networks – Find maximum weighted (or low stretch) spanning tree in the original graph – Matrix factors for the spanning tree can be computed in linear time and space Matrix factors for the spanning tree can be computed in linear time and space – Highly efficient and effective preconditioner for large circuit simulations G P 2 4 2 4 1 2 3 1 ' 2 0 0 0 0 0 0 0 2 0 1 0 0 0 0 0 d d 1 2 3 1 2 ' 4 0 0 0 0 0 0 2 4 0 3 0 0 0 0 d d 2 2 1 3 8 1 3 8 0 4 ' 0 0 8 0 0 0 0 4 0 0 8 0 0 0 d d 3 3 1 0 0 6 0 4 0 0 0 0 0 d ' 6 0 4 0 0 d 6 5 6 5 4 4 4 5 6 4 5 6 0 3 0 6 5 0 1 0 0 0 0 6 ' 5 0 0 0 d d 5 5 0 0 8 0 5 0 0 3 0 0 8 0 5 ' 0 0 0 d d 1 3 6 4 6 1 3 4 0 0 0 0 0 0 4 4 0 0 0 0 9 9 0 0 d d 0 0 0 0 0 0 4 4 0 0 0 0 d d ' 9 9 0 0 7 7 9 4 9 4 0 0 0 0 1 0 9 4 d 0 0 0 0 0 0 9 d ' 4 7 8 9 8 7 8 9 8 0 0 0 0 0 3 0 4 d 0 0 0 0 0 0 0 4 ' d 9 9 The condition number of P -1 G can be greatly reduced Matrix Matrix 1 st 1 st 2 nd 2 nd 3 rd 3 rd 4 th 4 th 5 th 5 th 6 th 6 th cond cond G 26.170 23.182 17.572 11.514 9.373 6.673 135.948 P 25.239 23.540 17.579 10.909 9.865 6.822 16.752 P -1 G 1.431 1.204 1.062 1.000 1.000 1.000 17.442 [1] X. Zhao, J. Wang, Z. Feng and S. Hu. Power grid analysis with hierarchical support graphs. In Proc. ICCAD, 2011 5
Support-Circuit Preconditioner [1] Support-circuit preconditioners (SCP) for interconnect-dominant circuits – Sparsify the linear networks of the original circuit network p y g – Take advantage of existing sparse matrix solution techniques (e.g. KLU) – Limitations : only efficient for interconnect-dominant circuits with near-linear complexity complexity Support Graph of the Original Network LDO LDO LDO LDO LDO LDO LDO LDO LDO LDO Digital Circuit Blocks Support-Circuit Preconditioner [1] X. Zhao and Z. Feng, Towards Efficient SPICE-Accurate Nonlinear Circuit Simulation with On-the-Fly Support-Circuit Preconditioners. In Proc. DAC, 2012 6
Our Proposed GPSCP Method Our proposed method: general-purpose support-circuit preconditioned (GPSCP) iterative solver: – Effective for solving general large-scale nonlinear circuits – Scalable linearized circuit sparsification – Based on support graph and graph sparsification research [1-2] – Based on support graph and graph sparsification research [1-2] – Energy-based preconditioner improving – Dynamic preconditioner updating [1] D. A. Spielman and S. Teng. Nearly-linear time algorithms for graph partitioning, graph sparsification, and solving linear systems. In Proc. ACM STOC, 2004. [2] M. Bern, J. R. Gilbert, B. Hendrickson, N. Nguyen, and S. Toledo. Support-graph preconditioners. SIAM J. Matrix Anal. Appl., 2006. 7
General-Purpose Support-Circuit Preconditioner General-purpose support-circuit preconditioners – Allow for general large-scale nonlinear circuit simulations – Parasitics-dominant analog circuits such as amplifiers, PLLs, … – Good scalability of complete circuit sparsification – Solve large transistor-dominant circuits with near-linear complexity So e a ge t a s sto do a t c cu ts t ea ea co p e ty – Tree-like support-circuit preconditioner – Near-linear computational and memory cost C R g g g d gd d g C 2 g 2 d 3 g gd 2 3 R g 3 g g g V g V g V g V g g C C C C R R m gs C C ds d ds m gs ds gs 1 s ds s s g g g g R R 1 g 5 5 1 4 5 4 Nonlinear Circuit Linearized Circuit Support Circuit 8
Support Circuit Construction (1) Support graph can be obtained through the following steps: – 1. Decompose the original graph into a Laplacian graph and a directed graph – 2. Extract the support graph based for the Laplacian graph 2 Extract the support graph based for the Laplacian graph R C g d g g 2 gd d 2 3 R g g 3 3 g R g V C C ds 1 m gs s gs ds s g g R R g 4 5 5 1 4 Nonlinear Circuit Linearized Circuit C C C g g g gd gd gd 2 2 2 d d d h h h g g g g g g g g g g g g C C C C C C 3 3 3 g V ds ds ds g g g m gs ds h ds h ds h C C gs gs g g 4 s 4 s s h h g g g g g g g g g 1 1 1 5 5 5 Weighted Graph Laplacian Support Graph Laplacian Original Weighted Graph 9
Support Circuit Construction (2) Support-circuit preconditioner is subsequently built by – 1. Combining support graph and active components – 2. Factorizing the support circuit matrix using sparse matrix solvers 2 Factorizing the support circuit matrix using sparse matrix solvers C g C g g d gd g gd 2 d 3 2 h g g V g V g g C C C C m gs d ds ds ds g g C 3 ds h g gd d s 2 g g h 1 g 5 s g g 3 g g C C 1 g 5 ds d g V ds h m gs Support Graph s g g g 5 g g 1 1 m Support Circuit Sub Support Sub Support Circuit V Circuit Active Active Components Support-Circuit Preconditioner 10
Towards A Better Support Graph Convergence of support-graph preconditioners – The convergence is determined by the condition number of matrix pencil ( G , P ) p ( , ) ( , ) G P max ( , ) k G P ( , ) G P min – The support of pencil ( G , P ) ( P -1 G ) is defined as: Th t f il ( G P ) ( P 1 G ) i d fi d T n ( , ) min{ | ( ) 0, all } G P x P G x x – Eigenvalues of pencil ( G , P ) ( P -1 G ) are bounded by Spanning-tree support graph as a preconditioner – May not efficient for ill-conditioned system – Reduced overall conductivities of the resistive network Reduced overall conductivities of the resistive network – Miss-matched power dissipation between the original graph and the spanning-tree graph T T T T x Px x Gx Power dissipated by G : Power dissipated by P : 11
Recommend
More recommend