- 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.
- New: Complete rewrite of builCoriolis.py & merge with easyChams to provide
a graphical interface. Asides to the GUI, when run in graphic mode all
settings are kept from run to run. Meaning that once the initial setup
is done, a user may completly forget where things are... The new tool
is named <ccb> for 'Coriolis & Chams Builder'.
The Builder is now a module, that is split into multiples files.
The old buildCoriolis.py is kept for the time beeing to ensure a smooth
transition.