Parallel Transistor-Level Circuit Simulation

  • Eric R. Keiter
  • Heidi K. Thornquist
  • Robert J. Hoekstra
  • Thomas V. Russo
  • Richard L. Schiek
  • Eric L. Rankin


With the advent of multi-core technology, inexpensive large-scale parallel platforms are now widely available. While this presents new opportunities for the EDA community, traditional transistor-level, SPICE-style circuit simulation has unique parallel simulation challenges. Here the Xyce Parallel Circuit Simulator is described, which has been designed from the “from-the-ground-up” to be distributed memory-parallel. Xyce has demonstrated scalable circuit simulation on hundreds of processors, but doing so required a comprehensive parallel strategy. This included the development of new solver technologies, including novel preconditioned iterative solvers, as well as attention to other aspects of the simulation such as parallel file I/O, and efficient load balancing of device evaluations and linear systems. Xyce relies primarily upon a message-passing (MPI-based) implementation, but optimal scalability on multi-core platforms can require a combination of message-passing and threading. To accommodate future parallel platforms, software abstractions allowing adaptation to other parallel paradigms are part of the Xyce design.


Load Balance Domain Decomposition Linear Solver Iterative Solver Circuit Simulation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    NVIDIA CUDA programming guide.
  3. 3.
  4. 4.
    Xyce Parallel Circuit Simulator.
  5. 5.
    Intel Threading Building Blocks 2.0., March 2008.
  6. 6.
    P. Amestoy, T. Davis, and I. Duff. An approximate minimum degree ordering algorithm. SIAM J. Matrix Anal. Appl., 17(4):886–905, 1996. zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    J. Barby and R. Guindi. Circuitsim93: A circuit simulator benchmarking methodology case study. In Proceedings Sixth Annual IEEE International ASIC Conference and Exhibit, Rochester NY, 1993. Google Scholar
  8. 8.
    A. Basermann, U. Jaekel, M. Nordhausen, and K. Hachiya. Parallel iterative solvers for sparse linear systems in circuit simulation, January 2005. Google Scholar
  9. 9.
    C. Bomhof and H. van der Vorst. A parallel linear system solver for circuit simulation problems. Num. Lin. Alg. Appl., 7(7-8):649–665, 2000. zbMATHCrossRefGoogle Scholar
  10. 10.
    T. A. Davis. Direct Methods for Sparse Linear System. SIAM, 2006. Google Scholar
  11. 11.
    D. M. Day, M. K. Bhardwaj, G. M. Reese, and J. S. Peery. Mechanism free domain decomposition. Comput. Meth. Appl. Mech. Engrg., 182(7):763–776, 2005. Google Scholar
  12. 12.
    K. Devine, E. Boman, R. Heaphy, R. Bisseling, and U. Catalyurek. Parallel hypergraph partitioning for scientific computing. In Proceedings of 20th International Parallel and Distributed Processing Symposium (IPDPS’06). IEEE, 2006. Google Scholar
  13. 13.
    N. Fröhlich, B. Riess, U. Wever, and Q. Zheng. A new approach for parallel simulation of vlsi-circuits on a transistor level. IEEE Transactions on Circuits and Systems Part I, 45(6):601–613, 1998. CrossRefGoogle Scholar
  14. 14.
    W. Gropp, E. Lusk, N. Doss, and A. Skjellum. A high-performance, portable implementation of the MPI message passing interface standard. Parallel Computing, 22(6):789–828, September 1996. zbMATHCrossRefGoogle Scholar
  15. 15.
    K. Gulati, J. F. Croix, S. P. Khatr, and R. Shastry. Fast circuit simulation on graphics processing units. In Proceedings of the 2009 Conference on Asia and South Pacific Design Automation, pages 403–408. IEEE Press, 2009. CrossRefGoogle Scholar
  16. 16.
    H. K. Thornquist et al. A parallel preconditioning strategy for efficient transistor-level circuit simulation. In Proceedings of the 2009 International Conference on Computer-Aided Design. ACM, 2009. Google Scholar
  17. 17.
    B. Hendrickson and R. Leland. A multilevel algorithm for partitioning graphs. In Proceedings of Supercomputing ’95. ACM, December 1995. Google Scholar
  18. 18.
    G. Karypis, R. Aggarwal, V. Kumar, and S. Shekhar. Multilevel hypergraph partitioning: Applications in VLSI domain. IEEE Trans. VLSI Systems, 20(1), 1999. Google Scholar
  19. 19.
    G. Karypis and V. Kumar. ParMETIS: Parallel graph partitioning and sparse matrix ordering library. Technical Report 97-060, CS Dept., Univ. Minn., 1997. Google Scholar
  20. 20.
    B. W. Kernighan and S. Lin. An efficient heuristic procedure for partitioning graphs. The Bell System Technical Journal, 49(2):291–307, 1970. Google Scholar
  21. 21.
    K. Kundert. Sparse matrix techniques. In A. Ruehli, editor, Circuit Analysis, Simulation and Design. North-Holland, 1987. Google Scholar
  22. 22.
    X. S. Li and J. W. Demmel. SuperLU_DIST: A scalable distributed-memory sparse direct solver for unsymmetric linear systems. ACM Trans. Math. Softw., 29(2):110–140, 2003. zbMATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    M. Heroux, et al. An overview of the Trilinos project. ACM TOMS, 31(3):397–423, 2005. zbMATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    F. Manne and R. H. Bisseling. A parallel approximation algorithm for the weighted maximum matching problem. In Proceedings of PMAA’08, LNCS 4967, pages 708–717. Springer, Berlin, 2008. Google Scholar
  25. 25.
    W. McLendon, B. Hendrickson, S. Plimpton, and L. Rauchwerger. Finding strongly connected components in distributed graphs. J. of Parallel and Distributed Computing, 65:901–910, 2005. zbMATHCrossRefGoogle Scholar
  26. 26.
    L. W. Nagel. Spice 2, a computer program to simulate semiconductor circuits. Technical Report Memorandum ERL-M250, 1975. Google Scholar
  27. 27.
    A. R. Newton and A. L. Sangiovanni-Vincentelli. Relaxation based electrical simulation. IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., CAD-3(4):308–330, October 1984. CrossRefGoogle Scholar
  28. 28.
    H. Peng and C.-K. Cheng. Parallel transistor level circuit simulation using domain decomposition methods. ASP-DAC ’09: Proceedings of the 2009 Conference on Asia and South Pacific Design Automation, pages 397–402, Jan 2009. Google Scholar
  29. 29.
    N. B. G. Rabbat, A. L. Sangiovanni-Vincentelli, and H. Y. Hsieh. A multilevel Newton algorithm with macromodeling and latency for the analysis of large-scale nonlinear circuits in the time domain. IEEE Trans. Circuits Syst., CAS-26(9):733–741, 1979. CrossRefMathSciNetGoogle Scholar
  30. 30.
    Y. Saad. Iterative Methods for Sparse Linear Systems. SIAM, Philadelphia, PA, second edition, 2003. zbMATHGoogle Scholar
  31. 31.
    K. Stanley and T. Davis. KLU: a ‘Clark Kent’ sparse LU factorization algorithm for circuit matrices. In SIAM Conference on Parallel Processing for Scientific Computing (PP04), 2004. Google Scholar
  32. 32.
    K. Sun, Q. Zhou, K. Mohanram, and D. C. Sorensen. Parallel domain decomposition for simulation of large-scale power grids. IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pages 54–59, November 2007. Google Scholar
  33. 33.
    B. Ucar and C. Aykanat. Partitioning sparse matrices for parallel preconditioned iterative methods. SIAM J. Sci. Comput., 29(4):1683–1709, 2007. zbMATHCrossRefMathSciNetGoogle Scholar
  34. 34.
    J. White and A. L. Sangiovanni-Vincentelli. Relax2: A new waveform relaxation approach for the analysis of lsi mos circuits. In Proc. Int. Symp. Circuits Syst., 2:756–759, May 1983. Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2011

Authors and Affiliations

  • Eric R. Keiter
    • 1
  • Heidi K. Thornquist
    • 1
  • Robert J. Hoekstra
    • 2
  • Thomas V. Russo
    • 1
  • Richard L. Schiek
    • 1
  • Eric L. Rankin
    • 1
  1. 1.Electrical and Microsystems Modeling DepartmentSandia National LaboratoriesAlbuquerqueUSA
  2. 2.Applied Mathematics & Applications DepartmentSandia National LaboratoriesAlbuquerqueUSA

Personalised recommendations