Most of us have computers on our desk that would have been considered supercomputers not long ago. We always wonder how many of them get any actual workout other than decoding video. If you want to simulate circuits you may very well start chewing up significant CPU time, so you might consider Xyce, an open source high-performance analog circuit simulator from Sandia National Labs. As you’d expect from a giant government lab it is able to support large scale parallel computing, but will also work on common desktop systems. On Linux, it will do what they call “small-scale parallelism.” In addition, it can deal with simulations of things as diverse as neural networks and power grids.
The code is open source, but oddly you do have to register to download it. Xyce has been around for a bit, but version 7.0 just arrived in April. Many of the changes are to improve compatibility with other Spice programs, notably HSpice.
The program is in C++ and not a derivative of Spice even though it tries to be compatible. It does, however, have a variety of features that support more efficient modeling and the use of some powerful solving engines and techniques.
Like traditional Spice, you’ll have to create netlists to use Xyce. Of course, for many circuits, you could probably create your netlist in another Spice tool and export the netlist. Why would you not just use the other tool? Xyce offers the potential to run very large simulations using multiple CPUs or clustered computers.
While it probably isn’t for everyone, Xyce might be just the excuse you need to build that Linux supercomputer you’ve always wanted. We imagine you’d need something more than ESP32s, though. We wonder if it will support CUDA or OpenCL.
There’s an official GitHub since June 2019: https://github.com/Xyce/Xyce. It doesn’t require any registration to download.
^ but only for the raw source. Binaries still require registration for whatever reason though.
Love it. Thanks for the post.
The image does not fit the article. The image seems to be related to Charon, a tool to simulate what the fabrication process is in order to get a single device model used by circuit simulator. Xyce seems like a circuit simulator.
As an analogy, Charon is like a tool that helps you manufacture screwdrivers. Xyce is what you do with the screwdriver.
Thanks, was wondering what the image has to do with circuit simulation :)
Xyce is primarily a circuit simulator, but it does have a limited TCAD capability within it. The figure was produced using it. This TCAD capability was mostly developed prior to the Charon project, and it hasn’t been actively developed since the Charon project started. It is true that Xyce is primarily a circuit simulator, and that particular figure isn’t really representative of what most people use Xyce to do.
Thanks for featuring Xyce, by the way!
Actually, as opposed to a process simulator, Charon is a TCAD simulator in the same vein as Silvaco/Atlas and Sentaurus Device. It models the partial-differential equations associated with the drift-diffusion model of carrier transport in semiconductor devices. It was just released as open source and can be found
Actually, Charon is not a process tool. It’s a TCAD tool. It models carrier transport, recombination, ionization, etc. in semiconductors and potential in dielectrics.