* Change: In Hurricane Commons.h, even when cdebug print nothing, it slow
down the program (three times for Kite!). Create a macro cdebug_log
which calls cdebug *only* if the debug level is active.
* Change: In Hurricane, in Flags add operator overload for "int" type
and not only "unsigned int". Otherwise the compiler complaints about
ambiguous overload when using enum values which are considered as
"int".
Simpler code for the BaseFlags::contains() method.
Added implicit conversion from BaseFlags toward bool type.
* Change: In Hurricane, in Commons, complete replacement of the previous
two trace systems (trace & ltrace) by a stream-based one.
As it is a true object it is much less fragile than the one based
on defines (but maybe a little slower).
Define a reservation table for the trace levels for all the
Coriolis & Chams components.
* Change: All tools, use the new trace system.
* Bug: In Katabatic, in AutoHorizontal::_slacken() when slackening
from a METAL2 terminal no longer set the terminal still on the
terminal fixed. Instead use a the new feature of
CntUserNativeConstraints.
* Bug: In Katabatic, in AutoContact, new flag CntUsernativeconstraints
so the native constraint box is specified by the user constraints.
This new possibility is needed because, if a Contact is fixed
the native constraint box *is* bound to it's current position.
But if the related segment is not fixed, and moved, it may move
the Contact with him, loosing the original fixed position.
Now we can remember the wanted position through the user
constraints.
* New: In Katabatic, in GCellConfiguration new explicit management
for 4 globals and one METAL2 (occured for the first time in the
RAM generator).
- Change: In KatabaticEngine, the containers used to store the "nets to
route" is changed from a vector<> to a set<> sorted by the Nets names.
Uses more memory but allows much faster Net deletion.
- New: In _loadNetGlobalRouting(Net*), detect non-routed Nets. A Net is
considered as unrouted if it's 10 first RoutingPads have no slave
Segment. The Net is withdrawn from the set of Nets to route.
- Bug: In GCellConfiguration::_GCell_1G_1L1(), correctly compute the
access flag passed to _GCell_rp_Access().
- Change: In AutoContact::restrictConstraintBox() adds "warnOnError"
parameter to shut down warnings.
- New: KatabaticEngine::_computeNetConstraints() now also returns a set<>
of segments on which constraints are incompatibles. All the NetConstraints
related functions are modificateds accordingly.
- Change: In KatabaticEngine::_loadNetGlobalRouting(), create dogleg
on overconstrained Segments computed by a call to _computeNetConstraints().
Overconstraineds Segments can occurs when a global is directly
connecting two punctual RoutingPads (see "ieee_division").
As a side effect, and to avoid looping each Net is revalidated
*before* making any dogleg. So Nets are revalidated one by one instead
of alltogether.
- Change: In AutoSegment::_toConstraintAxis(), do nothing if constraint
interval is empty.
./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".