- Change: In TrackFixedSegment, when the source/target coordinates of the
fixed segment are outside the grid (i.e. the Cell Abutment Box) truncate
them.
- Change: In GCell::addTrackSegment, when looking for overlap between the
to be inserted TrackSegment and Blockage segment, shrink the Blockage
span by one DbU to avoid false overlap when they are just edges connexes.
- Bug: In RoutingEvent::slackenTopology, in the local segment FSM, looping
on the MaximumSlack state. Now also checks the state count.
- Change: In TrackSegment::canMoveUp() & canPivotUp() adds the "reserve"
parameter and uses it in RoutingEvent to prevent over saturated GCells.
- Change: In Configuration, parameters adjustements: expandStep increased to
0.40. Makes RoutingSets biggers but no noticeable slow down.
- Bug: In RoutingEvent::Manipulator::forceToTrack(), wrong return code,
was always return true, blocking the explorations of least good
Track.
- Bug: In RoutingEvent::_processNegociate(), must reset the "insert state"
while looping on candidate. This bug was having the same effect as
(and masking) the previous one!
- Bug: In TrackSegment::moveUp(), reset the ripup count after the move
up...
- Change: At various DebugSession opening points, sets the debug level to
200 to avoid extraneous debugging output.
- New: KiteEngine::dumpMeasures() to create a data file for later uses
by gnuplot. In interactive mode, this function is called in the
"finalize layout" stage.
- New: Adds measurments "algo", "fin" & "Segs".
- Change: In TrackSegment, _postDogLeg() & _postModify(), add segments to
"Ring" if they are directly connected to a RoutingPad. To maintain the
"border effect" after a topological slackening.
- Change: In GraphicKiteEngine, in the global routing relateds menus, suppress
the mention of "solution" as it might be unclear for an average user.
(just "Save Global Routing" or "Load Global Routing").
- Change: In RoutingEvent, conflictSolve1() tries to move up "other" blocking
segment before trying to break "self".
- Bug: In TrackSegment::reschedule(), remove from Track segments that are
now in a greater order than the current one. This bug was shown in the
TrackSegment::_postModify() method after a desalignate.
It was causing overlaps and/or routing completion false reports.
- Cleanup: In GCell, remove the DyKeyQueue support as it's been moved
to Katabatic level.
- Change: In NegociateWidow, increase the event stop thresold to 4M events
to be able to process the eFPGA matrix 16x16 (150K gates).
- Change: <PROJECT>_SEARCH_PATH are put back into the *first* tool of
a project.
- Bug: In HURRICANE_CHECK_MACRO(), the quiet flag was not correctly
implemented. User ARGV instead of argv (case sensitivity!).
- Change: New structure for the installation & CMake system.
* Tools are now grouped in "projects". There are three projects:
1. - IO: Standalones parsers/drivers (IO_USER_TOP, IO_TOP).
2. - Coriolis: Base & digital tools (CORIOLIS_USER_TOP, CORIOLIS_TOP).
3. - Chams: Analogic tools (CHAMS_USER_TOP, CHAMS_TOP).
Each *project* has a two "TOP" environement variables, for
example: IO_TOP and IO_USER_TOP. Thoses variables are the only
ones useds to locate the tool (CMake modules, headers & libraries).
The local path always takes precedence over the global one.
The localisation process occurs in each tool top CMakeLists.txt
where the macro SETUP_PROJECT_PATH is to be defined. There is no
way to put it in a shared includes file as it's the macro precisely
used to locates the includes... You have to call the macro once for
each project you wants to uses:
SETUP_PROJECT_PATHS(IO)
SETUP_PROJECT_PATHS(CORIOLIS)
* In FindTOOL.cmake, supress the <TOOL>_DIR_SEARCH and uses the
<PROJECT>_DIR_SEARCH instead (example: CORIOLIS_DIR_SEARCH).
* buildCoriolis.py modificated according to the new "TOP" scheme.
- Change: Adaptation to cmake 2.8. No more "add_subdirectory()" when
the sub directory doesn't hold a CMakeList.txt.
For "add_definition()", set policy 00005 to NEW.
- Change: Integrate IO extenal libraries.
- Change: Small compatibilities between "size_t" and "unsigned int"
under 64 bits.
- Change: Temporarily disable Equinox/Solstice in unicorn.
./coriolis/src/crlcore,
./coriolis/src/knik,
./coriolis/src/katabatic,
./coriolis/src/kite,
./coriolis/src/equinox,
./coriolis/src/solstice,
./coriolis/src/ispd:
- SVN MOVE: Source tree simplification & uniformisation. Now all tools
are at the same level, directly under the root of the repository.
No more "coriolis/src".