Skip to content
Component++ authored by Christian Gagneraud's avatar Christian Gagneraud
# 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)
### 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".