- Add OpenChams::SlicingNode class to drive/parse XML files.
OpenChams::SlicingNode contains information to create a real slicing tree (SlicingNode from hurricaneAMS)
- Minor modification in Circuit.cpp for case when HBTree are not described in XML file.
* New: In Bootstrap, added support for RHEL7 in ccb.py & coriolisEnv.py.
In coriolisEnv.py, under RHEL6, directly launch a shell under
devtoolset-2 (do not put it in .bashrc).
* Change: All tools, compliance with Clang 3.2.
- Call using namespace std *after* at least one include of std has
been used.
- In Utilities.h define both const and non-cont overload for operator<<
of mstream (this was the true cause of the Banner display problem).
- No longer use defaults arguments in templates, instead create two
separated overloads.
- Put template static attributes allocation outside of namespaces
(this one I'm not sure how to justify).
- Protect by NDEBUG variables that are only needed in assert().
- In PyInterval getUnion() & getIntersection() we where silently
overwriting the "self" object (interval).
- In Mauka, *do no* overload _postCreate() and add an argument, breaks
the virtual function mechanism. Rename it into _maukaPostCreate().
Idem for SubRow().
- In Katabatic::GCell(), invalidate() overload a Go funtion but is
used for different purpose at this level. Rename it invalidateCt()
(invalidate *ConTents*).
- Miscellaneous small cleanup.
- A complete sweep of cleanup to suppress allmost all compiler warnings.
* ./vlsisapd/openchams:
- Change: Completly remove Name as std::string are shared. Also impact
amsCore (OpenChamsParser/OpenChamsDriver).
* ./vlsisapd/configuration:
- Bug: Python.h must be included first (see Isobar comment).
- Change: New "readFromFile()" Configuration method.
- Change: In Parameters, suppress the two separate maps, one for double
and another for string (equations). We shouldn't suppose what kind
of data an user can put in the parameter's value. Now that the
parameters for the HB-Tree are to be integrated, we have not only
double but boolean, integers and a direction string. The value are
now stored in a raw fashion as strings. It is up to the parser/drivers
(i.e OpenChamsParser/OpenChamsDriver) to give meaning to those strings
and interpret them accordingly.
- Change: In Circuit, helper templates (and some non-template) functions
to cast a string into various types. All the POD through stringAs<>
template, plus stringAsDirection() & stringAsBool(). Reverse functions
templates asString<> are also avalaible.
Note: Those helpers are of more general interest, we should displace
them sooner or later into a common "Utility" sub-tool.
- remove callOrder member on Operator
- add order on Instance (to order Devices and Subcircuits)
- update python interface
- update C++/Python parse/drive examples
symmetry becomes orientation and now supports symmetries AND rotations.
There are 8 possible orientations:
ID (identity)
R1 (rotate 90° Counter Clock wise)
R2 (symX and symY)
R3 (rotate 90° Clock Wise)
MX (symX)
XR (symX then rotate 90° Counter Clock Wise)
MY (symY)
YR (symY then rotate 90° Counter Clock Wise)
These orientations exactly copy Hurricane::Transformation::Orientation
* New <subCircuitsPathes> section in <circuit> that lists the pathes that contain subCircuits xml files
* New Device object that inherits from simplified Instance object.
- Instance has a name, a model, some connectors and optionnal parameters
- Device has the same attributes plus mosType, sourceBulkConnected and transistors
* Updated readFromFile and wrtieToFile methods to support these modifications
* Updated parse and drive examples to support these modifications
- Note: only C++ examples has been updated since my boost.python environment is actually totaly broken
* New buffer.xml example that uses subCircuits.
Since in CMakeLists.txt there is already a module target (for c++ library) and some file systems are not case sensitive, the target is still pyMODULE but the OUTPUT_NAME property is set to MODULE
I've updated all the example python scripts.
JP need to check if it the 'static variable bug' still occurs
Note that in openChams I added SimulModel support, it has not yet been tested, and driver does not support it.
- Library linking: there must not be "target_link_library()" for libraries,
only when building binaries. Avoid clashes between static module
or class variables, and strange reinitialisation of those variables.
- Change: Boost is now always linked staticly.