Brussels / 30 & 31 January 2016


Gnucap and related work

development status

Gnucap, the GNU circuit analysis package, is a flexible mixed-signal circuit simulator with significant technical advantages over SPICE derivatives. This talk is about development and usability status of the core and several derived works of the last years.

Gnucap consists of a core library and plugins. The core library is primarily the work of Albert Davis, who has started his project well over 30 years ago. This talk will outline the meaning of an experimental fork, Gnucap-uf, which has evolved from work at the university of Frankfurt. Gnucap-uf mostly adds research specific features, relying on ad-hoc changes to the kernel and interfaces. For example, state space inspection and ageing simulation functionality has been added without sticking to the intended data structures. Beyond that, several extensions written for this fork still (could (easily made to)) work with the original project. This talk will address three of them.

"gnucap-adms" is a verilog model compiler based on admsXml, which has been written with focus and intent on simple academic proof-of-concept examples. After some extra work and cleanup, it is now possible to (partly) translate bsim6 compact models into functional plugins.

"gnucap-geda" (formerly lang_gschem) was meant to turn Gnucap into the intended schematic translation and exchange platform. Specifically, as a GSoC project (2012), a language plugin targetting the gEDA schematic format has been implemented, demonstrating the conversion from schematics first into the internal data format and second into another language such as verilog.

"gnucap-qucs" is a project that implements a Gnucap based replacement for "qucsator", the simulator used by QUCS, a graphical user frontend to circuit simulation. Qucsator implements several component models and commands, which must be provided by extensions for Gnucap. Some of these do now exist. The corresponding language plugin enables the processing of qucsator input files.


Felix Salfelder