- Bug: In top CMakeLists.txt the SETUP_PROJECT_PATHS was not inserting
X_USER_TOP *before* X_TOP, thus potentially allowing an obsolete
system-wide configuration to shadow an up-to-date local one.
* ./kite:
- Change: In Configuration/KiteEngine, propagate changes in Configuration
in Kite. Note that a *second* singleton is created at Kite level.
- New: KiteEngine::printConfiguration() method to allow quick checks of
the router's main parameters.
- New: ConfigurationWidget to display/sets all the revelant Katabatic/
Kite configuration parameters. To be used with the TabSettings from
the ControllerWidget.
The ConfigurationWidget is bound to the default (static) Kite
configuration, as once it has been run you obviously cannot change the
router's settings.
- 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: 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".