Skip to content
Update 1 Introduction authored by Christian Gagneraud's avatar Christian Gagneraud
# Status of this document: :no_entry: Work in progress # Status of this document: :no_entry: Work in progress
> :warning: TODO: ontology
# An anlysis of Qucs-GUI code base
## A bit of context
### Simulation backends and other supporting executables
Qucs-gui relies on a few executables to carry it's job, I have identified these ones so far:
- qucsator (simulation engine)
- asco (optimisation engine)
- ngspice (simulation engine)
- xyce (simulation engine)
- spiceopus (simulation engine)
- octave (?)
- admsXml (?model compilation, Verilog-A?)
- qucsconv (?converter?)
- qucsdigi (VHDL, digital simulation)
- qucsdigilib (VHDL, digital simulation, wrapper around freehdl)
- qucsveri (Verilog, digital simulation, wrapper around qucsconv)
> :warning: TODO: Go over the executables and gives some explanation (see the [demistify page](8-dumping-ground/demistify))
### Simulation domains
Alltogether, Qucs and Qucs-S (aka. Spice4Qucs) support the following simulation domains, using different backends (
See, eg. [Qucs-Spice documentation](https://qucs-help.readthedocs.io/en/spice4qucs/BasSim.html#other-forms-of-simulation)
for more details)
Digital:
- Truth table
- Time list
Main analog simulation domains:
- DC
- AC
- TRANsient
Additional analog simulation domains:
- Fourier
- Distortion
- Noise
- Pole/Zero
- Sensitivity
- Harmonic balance
Notes:
- It is possible to run several simulation (domains) at once, but not all combinations are valid and/or supported.
- Different simulation backend support different simulation domains.
- At the time of this writing, i do not know to which extent the backends are (un)compatible when it comes to "component models and properties".
## Other classification:
- language (eg, spice, qucs, vhdl, ...)
- analysis (eg, noice, ac, ...)
- algorithm (eg, analog, digital, mixed-mode, mixed-level)