Adding primary version of Spice parser/driver documentation.

This commit is contained in:
Damien Dupuis 2011-05-20 09:33:10 +00:00
parent 18aadd65c5
commit eff3b09d2d
6 changed files with 74 additions and 5 deletions

View File

@ -568,7 +568,7 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = "." "../src/cif" "../src/agds" "../src/dtr" "../src/openChams"
INPUT = "." "../src/cif" "../src/agds" "../src/dtr" "../src/openChams ../src/spice"
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is

View File

@ -9,7 +9,7 @@
<table class="footer2">
<tr>
<td class="LFooter">VLSI SAPD Documentation</td>
<td class="RFooter"><small>Copyright &#169; 2010 <a href="http://www.upmc.fr">UPMC</a> All rights reserved</small></td>
<td class="RFooter"><small>Copyright &#169; 2010 - 2011 <a href="http://www.upmc.fr">UPMC</a> All rights reserved</small></td>
</tr>
</table>
</body>

View File

@ -14,6 +14,7 @@
<td><a href="cif.html">CIF</a></td>
<td><a href="dtr.html">DTR</a></td>
<td><a href="openchams.html">OPENCHAMS</a></td>
<td><a href="spice.html">SPICE</a></td>
<td><a href="contact.html">Links & Contact</a></td>
</tr>
</table>

View File

@ -1,6 +1,6 @@
/*! \mainpage Presentation
This is the documentation of VLSI SAPD project. This project aims at providing a set of open-source \b Stand Alone Parser & Drivers for VLSI. APIs for these parser & drivers are provided as C++ libraries and Python modules.
This is the documentation of VLSI SAPD project. This project aims at providing a set of open-source <b>S</b>tand <b>A</b>lone <b>P</b>arser & <b>D</b>rivers for <b>VLSI</b>. APIs for these parser & drivers are provided as C++ libraries and Python modules.
The list of supported parser & drivers is shown in next table :
<center>
@ -25,6 +25,10 @@
<td>OPENCHAMS</td>
<td><center>x</center></td>
<td><center>x</center></td>
</tr><tr>
<td>SPICE</td>
<td><center>x</center></td>
<td><center>x</center></td>
</tr>
</table>
</center>
@ -35,5 +39,6 @@
- \subpage cif
- \subpage dtr
- \subpage openchams
- \subpage spice
*/

View File

@ -40,8 +40,8 @@
Simply load an OPENCHAMS file using the static function OpenChams::Circuit::readFromFile() and then get the netlist object (OpenChams::Circuit::getNetlist()) or the sizing procedure (OpenChams::Circuit::getSizing(), might be NULL) or any other useful information (see OpenChams::Circuit).
\subsection openChamsDriver Using the driver
Using the driver is very simple, user has to create a DTR::Techno object and simply add DTR::Rule or DTR::ARule to it.
The adding methods return the newly created Rule so user can set the rule type (DTR::Rule::setType()) if necessary. Finally use the DTR::Techno::writeToFile() method to dump the database to file.
Using the driver is very simple, user has to create an OpenChams::Circuit object and simply add OpenChams::Netlist (mandatory) and OpenChams::Sizing (optionnal) or OpenChams::Schematic (optionnal) or OpenChams::Layout (optinnal) to it.
Finally use the OpenChams::Circuit::writeToFile() method to dump the database to file.
\section openChamsExamples Examples
As said is the global presentation, VLSI SAPD project provides C++ libraries and Python modules for each supported format. In this section we present simple code examples to parse and drive a OPENCHAMS file using C++ or Python. The OPENCHAMS files considered are the same for all examples: \c inverter.xml and \c buffer.xml

View File

@ -0,0 +1,63 @@
/*! \page spice SPICE Format
\section spicePres Presentation
The <b>Spice</b> format was developped at the University of California, Berkeley.
This parser/driver consists in a subset of SPICE3 netlist format. (see http://en.wikipedia.org/wiki/SPICE for more informations).\n
\subsection spiceAutrhos Author
Damien Dupuis: damien.dupuis(at)lip6(.)fr
\section spiceDB Stand alone database structure
The database consists in several objects:
- SPICE::Circuit
- SPICE::SpiceException
- SPICE::Subckt
- SPICE::Instance
- SPICE::Mosfet
- SPICE::Capacitor
- SPICE::Resistor
- SPICE::Source
- SPICE::Voltage
- SPICE::Current
\subsection spiceParser Using the parser
Simply load an Spice netlist file using the static function SPICE::Circuit::readFromFile().
\subsection spiceDriver Using the driver
Using the driver is very simple, user has to create a SPICE::Circuit object and simply add others Spice objects like SPICE::Subckt or SPICE::Instance to it.
Includes, libraries and parameters can also be added to SPICE::Circuit. Finally use the SPICE::Circuit::writeToFile() method to dump the database to file.
\section spiceExamples Examples
As said is the global presentation, VLSI SAPD project provides C++ libraries and Python modules for each supported format. In this section we present simple code examples to parse and drive a SPICE file using C++ or Python. The SPICE file considered describes a simple Miller OTA: \c OTA_miller.spi
\include OTA_miller.spi
All source codes are available in the \c examples directory.
\subsection spiceC C++
\subsubsection spiceParseC Parser
The following code (\c parseSpice.cpp) is an example of how to parse a SPICE file using C++ library.
\include parseSpice.cpp
\subsubsection spiceDriveC Driver
This C++ code (\c driveSpice.cpp) generates an myOTA.spi file equivalent to the included one.
\include driveSpice.cpp
\note In order to compile these codes, a CMakeLists.txt file is provided. User must set the $VLSISAPD_TOP variable before running these commands in the directory containing the CMakeLists.txt file:
\code
%> mkdir build; cd build
%> cmake ..
%> make
\endcode
\subsection spicePython Python
\subsubsection spiceParsePython Parser
The following python script (\c parseSpice.py) is an example of how to parse a SPICE file using python module.
\include parseSpice.py
\subsubsection spiceDrivePython Driver
This python script (\c driveSpice.py) generates an myOTA.spi file equivalent to the included one.
\include driveSpice.py
\note In order to run these two scripts (\c parseSpice.py & driveSpice.py), user must ensure that $PYTHONPATH variable points to the directory containing SPICE.so module.
*/