gpscp a general purpose support circuit preconditioning
play

GPSCP: A General-Purpose Support-Circuit Preconditioning Approach to - PowerPoint PPT Presentation

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


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

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

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

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

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

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

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

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

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

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

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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend