Commit Graph

4 Commits

Author SHA1 Message Date
Jean-Paul Chaput cbccf9e2a4 * ./katabatic:
- New: In LayerAssignement & GCell, perform layer assignment on whole net
        trunk, instead on a segment by segment basis.
    - New: In GCell, fragmentation analysis. When a layer change is requested,
        it allows to check if the additionnal perpandiculars created to
        maintain connexity will not over fragment the layer. This is particu-
        larly critical for M3->M5 which create M4 in perpandiculars, and M4
        may be subject to very dense configuration.
    - New: In AutoSegment & LoadGrByNet, adds a flags telling if the net's
        degree equal 2. Has not proven to be useful yet.
    - New: In AutoSegment, adds a flag telling if the segment is the perpan-
        dicular part of a dogleg. Has not proven useful yet.
2011-01-25 17:16:27 +00:00
Jean-Paul Chaput cf9a7a7911 * ./katabatic:
- New: ChipTools, regroup all datas and utilities to manage a full-chip
        design.
    - Change: In LoadGrByNet/GCellConfiguration::_GCell_xG_1Pad(), uses straight
        perpandicular wires on top & right pads. The GCells under those connectors
        are fully saturated, wires must go out as straight as possible.
    - Change: In AutoHorizontal/AutoVertical, update the "terminal" flag after
        slackening. This is to avoid global that are no longer connected to
        terminals behave as such.
    - Change: In AutoSegment::canMoveUp() & canPivotUp(), prevent all local segments
        to go up. This is to avoid cluttering upper levels with small segments.
    - Change: In GCellConfiguration, for xG_xL3, detect straight vertical topologies
        and for them to be fixed (new flag FIXED_GLOBAL set by the topological
        builder instead of the constructor). This prevent the router to do
        stupid things...
          To sets the "Fixed" flag *after* the axis of global segments have been
        positionned correctly adds a "_toFixGlobals" static table lookup.
    - Change: In GCell::stepDesaturate(), if less than one free track remains in
        the upper layer, do not move up the segment. This allows from a minimum
        free room for expansion.
    - Change: In GCell::_getString(), display indexes and layer names in various
        saturation tables.
    - Change: In AutoSegment, allow move up of local Segment. ::moveUp() and
        ::canMoveUp() arguments go from booleans to flags, which are more
        explicits.
2010-12-04 15:25:18 +00:00
Jean-Paul Chaput 966de8279c * ./katabatic:
- 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.
2010-05-11 11:04:23 +00:00
Jean-Paul Chaput 360ff0424e * ./hurricane/src/hviewer,
./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".
2010-03-09 15:24:29 +00:00