VLSI SAPD Documentation

Presentation AGDS CIF DTR OPENCHAMS SPICE Links & Contact


OPENCHAMS Format

Presentation

The OpenCHAMS format was developped as a part of the Chams Project (http://www-soc.lip6.fr/recherche/cian/chams/). It aims at offering a convenient way to describe analogic circuits' netlists and is based on XML. Some CHAMS specific informations, such as schematic properties, layout properties or sizing procedure, can be described in this format.

Author

Damien Dupuis: damien.dupuis(at)lip6(.)fr

Stand alone database structure

The database has many objects that can be arranged in five categories:

Using the parser

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).

Using the driver

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.

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: inverter.xml and buffer.xml

All source codes are available in the examples directory.

C++

Parser

The following code (parseOpenChams.cpp) is an example of how to parse a OPENCHAMS file using C++ library.

Driver

This C++ code (driveOpenChams.cpp) generates an inverter.xml file equivalent to the included one.

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:
%> mkdir build; cd build
%> cmake ..
%> make

Python

Parser

The following python script (parseOpenChams.py) is an example of how to parse a OPENCHAMS file using python module.

Driver

This python script (driveOpenChams.py) generates an inverter.xml file equivalent to the included one.

Note
In order to run these two scripts (parseOpenChams.py & driveOpenChams.py), user must ensure that $PYTHONPATH variable points to the directory containing OPENCHAMS.so module.


Generated by doxygen 1.8.14 on Thu Nov 12 2020 Return to top of page
VLSI SAPD Documentation Copyright © 2010 - 2020 UPMC All rights reserved