Details:
* Change, in build.conf: re-added support for the newly migrated Chams
project.
* Bug, in bootstrap/../Project.py: the tool by tool compilation was
not working. Now it does (argument "--tool").
* New, in boostrap/../cmake_modules: support for retreiving the Git
hash number (SHA1). Borrowed on the net from (kudos):
Ryan Pavlik <rpavlik@iastate.edu>
Project hierarchy reorganisation:
* With svn, we were doing a tool by tool checkout, suppressing the
whole repository hierarchy level.
* The tools were also grouped, inside one repository, into multiple
projects (<bootstrap>, <vlsisapd>, <coriolis>).
* We do not want to split up each tool into a separate repository,
given their tight integration (except for vlsisapd).
* We choose to simplify, and consider all tools in a svn repository
one project. Due to the way Git clone repositories, the directory
containing the project is now to be seen under "src/".
CMake modifications:
* Now that the <vlsisapd> and <bootstrap> projects are merged into
coriolis, modificate the top CMakeLists.txt of each tool to uses
only Coriolis (and bootstrap hard wired).
CCB compile script modifications:
* Uses the new source tree hierarchy, with the project directory
inserted.
* Remove (comment) all parts relateds to svn managment.
* Git is sufficiently simple so that we do not want to integrate
command shortcut into the script.
SVN cleanup:
* Remove the obsolete <chamsin> tool, that has become the full fledged
<chams> project long time ago.
- Bug: In Manipulator::insertInTrack(), no longer skip overlapping segment
with an Id inferior to AutoSegment::maxId(). This counter is no longer
used, and I don't remember this test was done in the first place.
- In Session::_canonize(): if the canonical segment has never had it's axis
sets, put it into *optimal* position instead of simply constraint
compliant. Force realignment of the segment sets as rounding errors
may introduce slight misalignment on the axis (causing error laters
in the various contact topological updates).
This also seems to solve the ludicrous problem of negative ratio of
expansion wires... (segments *not* at their optimal position at the
start).
- In LayerAssign, KatabaticEngine::layerAssign(), suppress the triple loop
enclosign the desaturation. Now desaturate each layer exactly once and
from bottom to top.
- Change: In Cell, added doc about PlacementStatus.
- Change: In Transformation, more detailed explanations about the
orientations. A little beautifying too...
- Change: RoutingPad doc update.
- Change: Entity doc update (for id).
- Change: In HTML header/footer uses the new SoC.css.
* ./crlcore/src:
- Change: In DefDriver, added support for placement exportation.
- New: In Utility, added a "paranoid" output stream (for my extra
warnings in the router).
- Bug: In ApParser, correct parsing of connectors index (recreate
the vector).
- Change: In alliance.conf, make "blockageNet" case insensitive.
- Change: In misc.conf, added support for paranoid stream.
- Change: In x2y and CyclopMain correct verbose flags positionning.
* ./crlcore/doc:
- Change: Updated style and added some documenation.
- New: Added an id on DBo, SharedName and SharedPath to ensure
database determinism. All the hash key now uses the id instead
of the object's pointer (see _getHashValue()).
- Change: In RoutingPad, position is now only relative to the anchor,
no more (dx,dy). Add a isPlacedOccurrence() to check if all the
occurrence in the path are fixed and thus the position meaningful.
* ./hurricane/doc/hurricane:
- Change: In Cell, added doc about PlacementStatus.
- Change: In Transformation, more detailed explanations about the
orientations. A little beautifying too...
- Change: RoutingPad doc update.
- Change: Entity doc update (for id).
- Change: In HTML header/footer uses the new SoC.css.
- New: In Environment, adds a method getLIBRARYPath() to directly access the
path of an element in the SearchPath. Also added to the Python interface.
This is a quick alternative to fully export SearchPath and it's element
into the Python interface.
- Bug: In AgdsQuery::goCallBack(), take account the instance transformation.
This problem was not showing until now because there wasn't any instances...
- New: Path module to provide a ligthweight alternative to boost::filesystem.
The compatibility change in boost was giving more and more touble and was
not worth it. Path is aimed to provides the same services, but with a
better portability.
- New: In PyDataBase, added method for getDB (the correct name, as alias)
and getRootLibrary().
- New: In PyComponent, added support for the optional BasicLayer argument
of getBoundingBox().
- New: In PyEntity, added support for conversion to/from RoutingPad.
- New: In PyHyperNet, added support for getNetOccurrences().
- New: In PyLibrary, added support for getLibrary().
- New: In NetExternalComponents, added support for setExternal().
- Bug: In CMakeLists.txt, when our custom macro "setup_boost()" is used,
do not call find_package() afterward, it corrupt the library pathes
from '/usr/lib/' to '/usr/lib/lib/'.
- New: In hurricane/doc, added documentation RoutingPad, HyperNet & Query.
- New: In isobar, added support for RoutingPad.
- Change: In PyComponent, getCenter() method moved to it's right place in
the base class.
- Change: In PyPath, added duplicated methods (ApplyOn <-> applyOn and
Invert <-> invert).
- New: In MaukaEngine::Construct(), do not try to initialize the slice height
from a model with an empty AbutmentBox. Instead, signal an error (the model
is likely to be missing, it has been initialized from the COMPONENT).
- Change: In MaukaEngine::Construct(), clearer error message when there is duplicated
instances. Show the full occurrence path of each conflicting instance.
- Change: In PyHurricane, add type object for all subtype of Component, then
we can use the Python "isinstance()" function to know the true type of a
component. Useful when looping over a collection of Component.
Name clash: We have used the class name as the name of the constructor
inside the Hurricane module, at a time we where less acquainted with
Python, so the real class are named 'PyVertical' for example, while
'Hurricane' is the constructor function. Should correct this in the
future but it's a huge work as all the Python scripts must be editeds...
- Change: In PyNet, adds the "getComponents()" Collection accessor.
- New: In Occurrence, added method getCompactString() to display a more
compact version of the occurrence.
- New: PyQuery & PyQueryMask expose the Query classe. Only partially implemented,
and with the start of the template based interface disabled.