SVATS logo

SVATS Features

Required External Packages

First of all, SVATS will run under Linux and probabily under other versions of UNIX (not tested - testers welcome ..)
SVATS is a series of Python scripts and support configuration files; so you need a working Python interpreter, release 1.52 or higher.
SVATS needs also a Python extension named Gadfly to create and manage relational Databases used for storing circuit data.
Links for both packages are provided here.

Then a Spice 3F5 syntax compatible electronic circuit simulator (see here again) is also needed.


Basically, SVATS takes a file that contains an electronic circuit description in Berkeley Spice 3F5 syntax, and generates a series of similar files: each file simulates a failure in one of the discrete electronic components (resistors, capacitors, transistors, etc.). The implemented failure can be chosen among those indicated in two european railway safety standard, ORE 155.A3 and prEN50129, in detail:

* interruption of one of the pins of the component;

* short circuit of two or three pins of the component;

* increase or decrease of the basic value of the component (resistance for resistors, capacitance for capacitors, etc.);

* increase of the leakage current through the component;

* increase of the series resistance of the component

The original Spice file should have been written to perform batch simulation, i.e. shall contain a ".control .... .endc" block with instructions for the analysis (tran, ac, dc, etc.).

The specified analysis is written in each of the generated files. It is possible to add to each file, into the control block, a line for saving the variables to be observed in a Spice raw file, and also to generate a PostScript File with the desidered variables plotted.

SVATS can also perform a simple Stress Analysis of the components:
if this analysis is specified, SVATS will write in the simulation files some instructions to save, in a ``stress'' file, the maximum voltage applied to capacitors and semiconductors and the maximum average power dissipated in resistors.
The files can then be analyzed to look for overstressed components, either in the normal use or in failure condition; the latter is important to see if a single failure can eventually propagate to other components.

The idea behind using different self-contained scripts (other than following the UNIX philosophy ...) is to have the possibility to launch the "simulation running" step, which can be very time, memory and disk space consuming, when you don't worry about having an unusable PC, for example by night. You can also define FMEA analysis for more circuits/subcircuits, all to be performed by a series of ``cron'' commands.

License and Disclaimer

SVATS is released under GPL license (see: FSF)

This is alpha stage software and it is provided as is, without any warranty. No warranties are provided that the result you obtain are acccurate, nor that the software won't damage your data. USE AT YOUR OWN RISK! Furthermore, you can't use by themselves the results that you can obtain running this software to prove anything, expecially the safety of a system or of a circuit; it is assumed that you know what you're doing and that you understand that the software is only a tool to help you in the analysis of your circuits.

ToDo and Help Required!

Developers are warmly welcomed to help me in completing SVATS by:

1) adding support to run under M$ WindBlows (yes, there are also free Spice binaries, see under Links.

2) adding a GUI interface to be used as a single frontend to the scripts and for modifying the analysis parameters of each single components, stored in the Gadfly databse (up to now is possible only by using the Python interpreter directly with Gadfly). The idea is to use Glade, LibGlade and the like for Pyhton, avoiding low level graphics programming ...

3) it would also be nice to find a way to distribute all of the simulations between some network connected computers ...

4) improving the code, since I'm not a programmer, my job being (analog) HW design ...

If you want to help or have any comments, flames, patches, suggestions, or whatever else, just send me an email:

Francesco Campedelli

Last update: September 26th, 2001