Adding primary version of Spice parser/driver documentation.
This commit is contained in:
parent
18aadd65c5
commit
eff3b09d2d
|
@ -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
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<table class="footer2">
|
||||
<tr>
|
||||
<td class="LFooter">VLSI SAPD Documentation</td>
|
||||
<td class="RFooter"><small>Copyright © 2010 <a href="http://www.upmc.fr">UPMC</a> All rights reserved</small></td>
|
||||
<td class="RFooter"><small>Copyright © 2010 - 2011 <a href="http://www.upmc.fr">UPMC</a> All rights reserved</small></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
||||
*/
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue