Jump to content

Quite Universal Circuit Simulator

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 162.38.178.101 (talk) at 13:19, 15 April 2014 (Add the useful description of mathematical functions). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Developer(s)Michael Margraf
Stable release
0.0.17 / 23 June 2013; 11 years ago (2013-06-23)
Repository
Written inC++
Operating systemMac OS, Windows, GNU/Linux, Solaris, FreeBSD
TypeEDA
LicenseGPL
Websitequcs.sourceforge.net

Quite Universal Circuit Simulator (Qucs) is an open source electronics circuit simulator software released under GPL. It gives you the ability to set up a circuit with a graphical user interface and simulate the large-signal, small-signal and noise behaviour of the circuit. Pure digital simulations are also supported using VHDL and/or Verilog.

Qucs supports a growing list of analog and digital components as well as SPICE sub-circuits. It is intended to be much simpler to use and handle than other circuit simulators like gEDA or PSPICE.

Analysis types

Analysis types include S-parameter (including noise), AC (including noise), DC, Transient Analysis, Harmonic Balance (not yet finished), Digital simulation (VHDL and Verilog-HDL) and Parameter sweeps.

Features at a glance

QUCS has a graphical interface for schematic capture. Simulation data can be represented in various types of diagrams, including Smith-Chart, Cartesian, Tabular, Polar, Smith-Polar combination, 3D-Cartesian, Locus Curve, Timing Diagram and Truth Table.

The documentation offers many useful tutorials (WorkBook), reports (ReportBook) and a technical description of the simulator.

Other features include the transmission line calculator, Filter synthesis, Smith-Chart tool for power and noise matching, Attenuator design synthesis, Device model and subcircuit library manager, Optimizer for analog designs, the Verilog-A interface, Support for multiple languages (GUI and internal help system), Subcircuit (including parameters) hierarchy, Powerful data post-processing possible using equations and symbolically defined nonlinear and linear devices.

Tool suite

Qucs consists of several standalone programs interacting with each other through the GUCS.

The GUI is used to create schematics, setup simulations, display simulation results, writing VHDL code, etc.

The analog simulator is a command line program which is run by the GUI in order to simulate the schematic which you previously setup. It takes a netlist, checks it for errors, performs the required simulation actions, and finally produces a dataset.

The text editor is used to display netlists and simulation logging information, and to edit files included by certain components (e.g. SPICE netlists, or Touchstone files).

The filter synthesis application can be used to design various types of filters.

The transmission line calculator can be used to design and analyze different types of transmission lines (e.g. microstrips, coaxial cables).

The component library manager holds models for real life devices (e.g. transistors, diodes, bridges, opamps). It can be extended by the user.

The attenuator synthesis application can be used to design various types of passive attenuators.

The command line conversion program tool is used by the GUI to import and export datasets, netlists and schematics from and to other CAD/EDA software. The supported file formats as well as usage information can be found on the manpage of qucsconv.

Additionally, the GUI steers other EDA tools. For digital simulations (via VHDL) the program FreeHDL [1] is used. For circuit optimization (minimization of a cost function), ASCO [2] is configured and run.

Components

The following categories of components are provided:

  • Lumped components (R, L, C, amplifier, phase shifter, etc.)
  • Sources
  • Probes
  • Transmission lines
  • Nonlinear components (diodes, transistors, etc.)
  • Digital components
  • File containers (S-parameter datasets, SPICE netlists)
  • Paintings

There is also a Component library that includes various standard components available in the market (bridges, diodes, varistors, LEDs, JFETs, MOSFETS, and so on).

Transistor models

QUCS provides many transistor models. These include FBH-HBT, HICUM L0 v1.12, HICUM L0 v1.2, HICUM L2 v2.1, HICUM L2 v2.22, HICUM L2 v2.23, MESFET (Curtice, Statz, TOM-1 and TOM-2), SGP (SPICE Gummel-Poon), MOSFET, JFET and EPFL-EKV MOSFET v2.6.

The following operations and functions can be applied in QUCS equations [3]:

max(x,y) returns the greater of the values x and y
min(x,y) returns the lesser of the values x and y
rms(x) root mean square of a vector
sum(x) sum of values in vector
prod(x) product of values in vector
diff(y,x) differentiates vector y with respect to x
diff(y,x,n) differentiates vector y with respect to x n-times
integrate(x,h) integrates vector x numerically assuming a constant step-size h
real(x) real part of complex number
imag(x) imaginary part of complex number
abs(x) absolute value, magnitude of complex number
mag(x) same as abs(x)
norm(x) square of mag(x)
conj(x) conjugate complex
phase(x) phase in degree
angle(x) phase in radians
arg(x) same as angle(x)
deg2rad(x) converts degrees to radians
rad2deg(x) converts radians to degrees
dB(x) voltage decibel
dbm(x) convert voltage to power in dB
dbm2w(x) convert power in dBm to power in Watts
w2dbm(x) convert power in Watts to power in dBm
sqr(x) square (x to the power of two)
sqrt(x) square root
exp(x) exponential function to basis e
ln(x) natural logarithm
log10(x) decimal logarithm
log2(x) binary logarithm
sin(x) sine
cos(x) cosine
tan(x) tangent
sinh(x) sine hyperbolicus
cosh(x) cosine hyperbolicus
tanh(x) tangent hyperbolicus
arcsin(x) arcus sine
arccos(x) arcus cosine
arctan(x[,y]) arcus tangent
arccot(x) arcus cotangent
coth(x) cotangent hyperbolicus
ceil(x) rounds to the next higher integer
fix(x) truncates decimal places from real number
floor(x) rounds to the next lower integer
round(x) rounds to nearest integer
sign(x) computes the signum function
sinc(x) returns sin(x)/x and one at x=0
fft(x) computes the fast fourier transformation (FFT) of the vector x
ifft(x) computes the inverse fast fourier transformation (IFFT) of the vector x
dft(x) computes the discrete fourier transformation (DFT) of the vector x
idft(x) computes the inverse discrete fourier transformation (IDFT) of the vector x

References

  1. ^ "FreeHDL index Page". Freehdl.seul.org. Retrieved 2012-03-01.
  2. ^ "ASCO project :: homepage". Asco.sourceforge.net. Retrieved 2012-03-01.
  3. ^ "Mathematical functions for QUCS". Retrieved 2014-04-15. {{cite web}}: Check |url= value (help)