diff --git a/vlsisapd/examples/CMakeLists.txt b/vlsisapd/examples/CMakeLists.txt
index 4d1996a5..c0754817 100644
--- a/vlsisapd/examples/CMakeLists.txt
+++ b/vlsisapd/examples/CMakeLists.txt
@@ -1,10 +1,5 @@
ADD_SUBDIRECTORY(cif)
ADD_SUBDIRECTORY(agds)
-if( IS_DIRECTORY dtr )
- ADD_SUBDIRECTORY(dtr)
-endif( IS_DIRECTORY dtr )
-if( IS_DIRECTORY openChams )
- ADD_SUBDIRECTORY(openChams)
-endif( IS_DIRECTORY openChams )
+ADD_SUBDIRECTORY(dtr)
ADD_SUBDIRECTORY(liberty)
ADD_SUBDIRECTORY(spice)
diff --git a/vlsisapd/examples/openChams/CMakeLists.txt b/vlsisapd/examples/openChams/CMakeLists.txt
deleted file mode 100644
index 8e866eba..00000000
--- a/vlsisapd/examples/openChams/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-ADD_SUBDIRECTORY(cplusplus)
-ADD_SUBDIRECTORY(python)
-
-SET ( XML_FILES inverter.xml
- buffer.xml
- )
-
-INSTALL ( FILES ${XML_FILES} DESTINATION share/doc/coriolis2/examples/vlsisapd/openChams )
diff --git a/vlsisapd/examples/openChams/buffer.xml b/vlsisapd/examples/openChams/buffer.xml
deleted file mode 100644
index 6cf15eb0..00000000
--- a/vlsisapd/examples/openChams/buffer.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vlsisapd/examples/openChams/cplusplus/CMakeLists.txt b/vlsisapd/examples/openChams/cplusplus/CMakeLists.txt
deleted file mode 100644
index 446fd8d3..00000000
--- a/vlsisapd/examples/openChams/cplusplus/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-INCLUDE_DIRECTORIES ( ${VLSISAPD_SOURCE_DIR}/src/openChams/src ${LIBXML2_INCLUDE_DIR})
-ADD_EXECUTABLE ( driveOpenChams driveOpenChams.cpp )
-ADD_EXECUTABLE ( parseOpenChams parseOpenChams.cpp )
-TARGET_LINK_LIBRARIES ( driveOpenChams openChams ${LIBXML_LIBRARIES}) # 'driveOpenChams' is the name of the executable and 'openChams' the name of the target library in openChams/src/CMakeLists.txt
-TARGET_LINK_LIBRARIES ( parseOpenChams openChams ${LIBXML_LIBRARIES})
-INSTALL ( TARGETS driveOpenChams parseOpenChams DESTINATION share/doc/coriolis2/examples/vlsisapd/openChams )
-INSTALL ( FILES driveOpenChams.cpp parseOpenChams.cpp DESTINATION share/doc/coriolis2/examples/vlsisapd/openChams )
-INSTALL ( FILES cmake.ex DESTINATION share/doc/coriolis2/examples/vlsisapd/openChams RENAME CMakeLists.txt )
diff --git a/vlsisapd/examples/openChams/cplusplus/cmake.ex b/vlsisapd/examples/openChams/cplusplus/cmake.ex
deleted file mode 100644
index 05ba8aa5..00000000
--- a/vlsisapd/examples/openChams/cplusplus/cmake.ex
+++ /dev/null
@@ -1,18 +0,0 @@
-PROJECT(PARSEDRIVEOPENCHAMS)
-
-CMAKE_MINIMUM_REQUIRED(VERSION 2.4.0)
-
-SET(CMAKE_MODULE_PATH "$ENV{VLSISAPD_USER_TOP}/share/cmake/Modules"
- "$ENV{VLSISAPD_TOP}/share/cmake/Modules"
- )
-
-FIND_PACKAGE(VLSISAPD REQUIRED)
-FIND_PACKAGE(Libxml2 REQUIRED)
-
-IF(OPENCHAMS_FOUND)
- INCLUDE_DIRECTORIES(${OPENCHAMS_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR})
- ADD_EXECUTABLE(driveOpenChams driveOpenChams.cpp)
- ADD_EXECUTABLE(parseOpenChams parseOpenChams.cpp)
- TARGET_LINK_LIBRARIES(driveOpenChams ${OPENCHAMS_LIBRARY} ${LIBXML2_LIBRARIES})
- TARGET_LINK_LIBRARIES(parseOpenChams ${OPENCHAMS_LIBRARY} ${LIBXML2_LIBRARIES})
-ENDIF(OPENCHAMS_FOUND)
diff --git a/vlsisapd/examples/openChams/cplusplus/driveOpenChams.cpp b/vlsisapd/examples/openChams/cplusplus/driveOpenChams.cpp
deleted file mode 100644
index 31bdfac6..00000000
--- a/vlsisapd/examples/openChams/cplusplus/driveOpenChams.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-#include
-using namespace std;
-
-#include "vlsisapd/openChams/Circuit.h"
-#include "vlsisapd/openChams/Netlist.h"
-#include "vlsisapd/openChams/Instance.h"
-#include "vlsisapd/openChams/Device.h"
-#include "vlsisapd/openChams/Transistor.h"
-#include "vlsisapd/openChams/Net.h"
-#include "vlsisapd/openChams/Schematic.h"
-#include "vlsisapd/openChams/Sizing.h"
-#include "vlsisapd/openChams/Operator.h"
-#include "vlsisapd/openChams/Layout.h"
-#include "vlsisapd/openChams/Node.h"
-#include "vlsisapd/openChams/Port.h"
-#include "vlsisapd/openChams/Wire.h"
-
-int main(int argc, char * argv[]) {
- OpenChams::Circuit* circuit = new OpenChams::Circuit(OpenChams::Name("design"), OpenChams::Name("myTech"));
- // value parameters
- circuit->addParameter(OpenChams::Name("temp"), "27.0" );
- circuit->addParameter(OpenChams::Name("Vdd") , "1.2" );
- circuit->addParameter(OpenChams::Name("Vss") , "0.0" );
- circuit->addParameter(OpenChams::Name("L") , "0.1e-6");
- circuit->addParameter(OpenChams::Name("Ids") , "30e-6" );
- circuit->addParameter(OpenChams::Name("Veg") , "0.12" );
- // equation parameters
- circuit->addParameter(OpenChams::Name("complex"), "myEq");
-
- // netlist
- OpenChams::Netlist* netlist = circuit->createNetlist();
- // instances
- // nmos1
- OpenChams::Device* inst_nmos1 = netlist->addDevice(OpenChams::Name("nmos1"), OpenChams::Name("Transistor"), 1, OpenChams::Name("NMOS"), true);
- inst_nmos1->addConnector(OpenChams::Name("G"));
- inst_nmos1->addConnector(OpenChams::Name("S"));
- inst_nmos1->addConnector(OpenChams::Name("D"));
- OpenChams::Transistor* tr_nmos1 = inst_nmos1->addTransistor(OpenChams::Name("m1"));
- tr_nmos1->setGate (OpenChams::Name("G")); // the name of the connector of inst_nmos1
- tr_nmos1->setSource(OpenChams::Name("S"));
- tr_nmos1->setDrain (OpenChams::Name("D"));
- tr_nmos1->setBulk (OpenChams::Name("S"));
- // pmos1
- OpenChams::Device* inst_pmos1 = netlist->addDevice(OpenChams::Name("pmos1"), OpenChams::Name("Transistor"), 2, OpenChams::Name("PMOS"), true);
- inst_pmos1->addConnector(OpenChams::Name("G"));
- inst_pmos1->addConnector(OpenChams::Name("S"));
- inst_pmos1->addConnector(OpenChams::Name("D"));
- OpenChams::Transistor* tr_pmos1 = inst_pmos1->addTransistor(OpenChams::Name("m1"));
- tr_pmos1->setGate (OpenChams::Name("G")); // the name of the connector of inst_pmos1
- tr_pmos1->setSource(OpenChams::Name("S"));
- tr_pmos1->setDrain (OpenChams::Name("D"));
- tr_pmos1->setBulk (OpenChams::Name("S"));
- // nets
- OpenChams::Net* _vdd = netlist->addNet(OpenChams::Name("vdd"), OpenChams::Name("power") , true);
- OpenChams::Net* _vss = netlist->addNet(OpenChams::Name("vss"), OpenChams::Name("ground") , true);
- OpenChams::Net* _in = netlist->addNet(OpenChams::Name("in" ), OpenChams::Name("logical"), true);
- OpenChams::Net* _out = netlist->addNet(OpenChams::Name("out"), OpenChams::Name("logical"), true);
- _vdd->connectTo(OpenChams::Name("pmos1"), OpenChams::Name("S"));
- _vss->connectTo(OpenChams::Name("nmos1"), OpenChams::Name("S"));
- _in->connectTo (OpenChams::Name("nmos1"), OpenChams::Name("G"));
- _in->connectTo (OpenChams::Name("pmos1"), OpenChams::Name("G"));
- _out->connectTo(OpenChams::Name("nmos1"), OpenChams::Name("D"));
- _out->connectTo(OpenChams::Name("pmos1"), OpenChams::Name("D"));
-
- // schematic
- OpenChams::Schematic* schematic = circuit->createSchematic();
- schematic->addInstance(OpenChams::Name("nmos1"), 2490, 2600, OpenChams::Name("ID"));
- schematic->addInstance(OpenChams::Name("pmos1"), 2490, 2300, OpenChams::Name("ID"));
- _vdd->addPort(OpenChams::Name("inV"), 0, 2490, 2100, OpenChams::Name("ID"));
- OpenChams::Wire* wVdd = _vdd->addWire();
- wVdd->setStartPoint(OpenChams::Name("pmos1"), OpenChams::Name("S"));
- wVdd->setEndPoint (0);
- _vss->addPort(OpenChams::Name("inV"), 0, 2490, 2800, OpenChams::Name("MY"));
- OpenChams::Wire* wVss = _vss->addWire();
- wVss->setStartPoint(OpenChams::Name("nmos1"), OpenChams::Name("S"));
- wVss->setEndPoint (0);
- _in->addPort(OpenChams::Name("inH"), 0, 2190, 2500, OpenChams::Name("ID"));
- OpenChams::Wire* wIn = _in->addWire();
- wIn->setStartPoint(OpenChams::Name("pmos1"), OpenChams::Name("G"));
- wIn->setEndPoint (OpenChams::Name("nmos1"), OpenChams::Name("G"));
- OpenChams::Wire* wIn1 = _in->addWire();
- wIn1->setStartPoint(0);
- wIn1->setEndPoint (OpenChams::Name("pmos1"), OpenChams::Name("G"));
- _out->addPort(OpenChams::Name("outH"), 0, 2600, 2500, OpenChams::Name("ID"));
- OpenChams::Wire* wOut = _out->addWire();
- wOut->setStartPoint(OpenChams::Name("pmos1"), OpenChams::Name("D"));
- wOut->setEndPoint (OpenChams::Name("nmos1"), OpenChams::Name("D"));
- OpenChams::Wire* wOut1 = _out->addWire();
- wOut1->setStartPoint(OpenChams::Name("nmos1"), OpenChams::Name("D"));
- wOut1->setEndPoint (0);
-
- // sizing
- OpenChams::Sizing* sizing = circuit->createSizing();
- OpenChams::Operator* op_pmos1 = sizing->addOperator(OpenChams::Name("pmos1"), OpenChams::Name("OPVG(Veg)"), OpenChams::Name("BSIM3V3"));
- op_pmos1->addConstraint(OpenChams::Name("Temp"), OpenChams::Name("design"), OpenChams::Name("temp"));
- op_pmos1->addConstraint(OpenChams::Name("Ids") , OpenChams::Name("design"), OpenChams::Name("Ids") );
- op_pmos1->addConstraint(OpenChams::Name("L") , OpenChams::Name("design"), OpenChams::Name("L") );
- op_pmos1->addConstraint(OpenChams::Name("Veg") , OpenChams::Name("design"), OpenChams::Name("Veg") );
- op_pmos1->addConstraint(OpenChams::Name("Vd") , OpenChams::Name("design"), OpenChams::Name("Vdd") , 0.5);
- op_pmos1->addConstraint(OpenChams::Name("Vs") , OpenChams::Name("design"), OpenChams::Name("Vdd") );
- OpenChams::Operator* op_nmos1 = sizing->addOperator(OpenChams::Name("nmos1"), OpenChams::Name("OPW(Vg,Vs)"), OpenChams::Name("BSIM3V3"));
- op_nmos1->addConstraint(OpenChams::Name("Temp"), OpenChams::Name("design"), OpenChams::Name("temp"));
- op_nmos1->addConstraint(OpenChams::Name("Ids") , OpenChams::Name("design"), OpenChams::Name("Ids" ));
- op_nmos1->addConstraint(OpenChams::Name("L") , OpenChams::Name("design"), OpenChams::Name("L" ));
- op_nmos1->addConstraint(OpenChams::Name("Vs") , OpenChams::Name("design"), OpenChams::Name("Vdd" ));
- op_nmos1->addConstraint(OpenChams::Name("Vg") , OpenChams::Name("pmos1") , OpenChams::Name("Vg" ));
- op_nmos1->addConstraint(OpenChams::Name("Vd") , OpenChams::Name("pmos1") , OpenChams::Name("Vd" ));
- op_nmos1->addConstraint(OpenChams::Name("another"), OpenChams::Name("myEq"), -2.5 );
- // layout
- OpenChams::Layout* layout = circuit->createLayout();
- layout->addInstance(OpenChams::Name("pmos1"), OpenChams::Name("Common transistor"));
- layout->addInstance(OpenChams::Name("nmos1"), OpenChams::Name("Rotate transistor"));
- // create hbtree
- OpenChams::Group* g1 = new OpenChams::Group("g1"); // default position is NONE and default parent is NULL
- g1->setAlign(OpenChams::Group::VERTICAL);
- OpenChams::Bloc* b1 = new OpenChams::Bloc("nmos1", OpenChams::Node::NONE, g1);
- g1->setRootNode(b1); // b1 is root node of group g1
- OpenChams::Bloc* b2 = new OpenChams::Bloc("pmos1", OpenChams::Node::TOP, b1);
- b1->setTop(b2); // b2 is on top of b1
- layout->setHBTreeRoot(g1); // g1 is the root of the tree
-
- circuit->writeToFile("./myInverter.xml");
- return 0;
-}
-
diff --git a/vlsisapd/examples/openChams/cplusplus/parseOpenChams.cpp b/vlsisapd/examples/openChams/cplusplus/parseOpenChams.cpp
deleted file mode 100644
index b2ad46fb..00000000
--- a/vlsisapd/examples/openChams/cplusplus/parseOpenChams.cpp
+++ /dev/null
@@ -1,231 +0,0 @@
-#include
-#include
-#include