Xyce™ (zīs, rhymes with "spice") is an open-source, SPICE-compatible, high-performance analog circuit simulator. Xyce supports the standard analysis capabilities found in other SPICE-like codes, such as DC, transient, AC, and small-signal noise analyses; it also has less common capabilities, such as harmonic balance, sensitivity analysis, and uncertainty propagation techniques. Xyce supplies industry-standard compact models and can support custom models via its Verilog-A model compiler. Foundry process-development kits (PDKs) in other SPICE syntax can be used via the XDM netlist translator, which is included as part of the Xyce package. In addition to supporting use on all common desktop platforms (Mac, Windows, Linux), Xyce can also be compiled to run in a large-scale parallel mode to provide scalable, numerically accurate analog simulation of circuits containing millions of devices, or more.
If you use Xyce in your work, please cite it using the metadata provided at the DOE CODE entry for Xyce. Citations in various formats, including APA and BibTeX, are provided at the bottom of that page. The DOI entry for Xyce is 10.11578/dc.20171025.1421.
Brief Citation:
Eric R. Keiter, Richard L. Schiek, Heidi K. Thornquist, Ting Mei, Jason C.
Verley, Karthik V. Aadithya, Gary J. Templet, Joshua D. Schickling, Gary L.
Hennigan. "Xyce™ Parallel Electronic Simulator." Computer software.
October 03, 2013. DOI: 10.11578/dc.20171025.1421.
While designed to be SPICE-compatible, Xyce is not a derivative of SPICE. Xyce was designed from scratch to be a parallel simulation code, written in C++ and using a message-passing implementation (MPI). Xyce also leverages Sandia's open-source solver library, Trilinos, which includes a number of circuit-specific solvers, such as the KLU direct solver. With its modular and flexible design, Xyce applies abstract interfaces to enable easy development of different analysis types, solvers and models.
Xyce is compatible with SPICE-based codes, in that it supports a canonical set
of SPICE compact models and standard SPICE analysis methods, such as
steady-state (.DC
), transient (.TRAN
), small-signal frequency domain
(.AC
), and noise (.NOISE
). However, Xyce goes beyond most SPICE-based codes
in a number of ways, including support for a large number of non-traditional
models, such as neuron and reaction network models. Xyce also supports Harmonic
Balance analysis (.HB
), random sampling analysis, sensitivity calculations,
and post processing of the simulation metrics (.FOUR
and .MEASURE
). In
addition to analog electronic simulation, Xyce has also been used to
investigate more general network systems, such as neural networks and power
grids. In providing an Open Source version of Xyce to the external community,
Sandia hopes to contribute a robust and modern electronic simulator to users
and researchers in the field.
Binary installers for Windows, Mac and Red Hat Linux are made available with every release. The installers include proprietary compact models that are not available as open source, so they are slightly more capable than the GPLv3 variant of Xyce available on GitHub. However, they will lag the master branch, which is always considered stable (the master branch is only pushed to when all of the regression tests have passed.)
For the binary installers and other information about Xyce—including documentation, and Autotools build instructions—see the Xyce Homepage at Sandia National Laboratories.
For CMake build instructions, see the INSTALL.md file.
Xyce is also available via the Spack package manager.
Support for members of the Open Source Community is available at our Google Groups web forum, which is actively monitored by the Xyce developers. We are also able to answer questions in the Discussions section of the repository, though the Google Group is the preferred platform. (Do not file an issue to ask a use question.) Other ways to contact the Xyce project team can be found on the Xyce Homepage. See the "CONTRIBUTING" document for more information.
Copyright 2002-2024 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.
Xyce™ is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Xyce™ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
A copy of the GNU General Public License is included in the COPYING file, or see http://www.gnu.org/licenses/.
Xyce has been funded by the NNSA's Advanced Simulation and Computing (ASC) Campaign, the DARPA POSH program, and the Laboratory Directed Research and Development program at Sandia National Laboratories. Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy's National Nuclear Security Administration under contract DE-NA0003525.
SAND2019-5105 O