Required External Packages
First of all, SVATS will run under Linux and probabily under
other versions of UNIX (not tested - testers welcome ..)
Then a Spice 3F5 syntax compatible electronic circuit simulator
(see here again) is also needed.
Guidelines
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:
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
campedel@email.com
Last update:
September 26th, 2001
SVATS Features
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.
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.