Track elements for fixed wires. More...
Public Member Functions | |
virtual bool | isHorizontal () const |
virtual bool | isVertical () const |
virtual bool | isFixed () const |
virtual unsigned long | getId () const |
virtual unsigned int | getDirection () const |
virtual Net * | getNet () const |
virtual const Layer * | getLayer () const |
virtual TrackElement * | getNext () const |
virtual TrackElement * | getPrevious () const |
virtual DbU::Unit | getAxis () const |
virtual Interval | getFreeInterval () const |
Public Member Functions inherited from TrackElement | |
virtual bool | isLocal () const |
virtual bool | isGlobal () const |
virtual bool | isBipoint () const |
virtual bool | isTerminal () const |
virtual bool | isStrap () const |
virtual bool | isSlackened () const |
virtual bool | isDogleg () const |
bool | isCreated () const |
bool | isInvalidated () const |
bool | isBlockage () const |
bool | isLocked () const |
bool | isRouted () const |
bool | hasSourceDogleg () const |
bool | hasTargetDogleg () const |
bool | canRipple () const |
virtual bool | canDogleg () |
virtual bool | canDogleg (Interval) |
virtual bool | canDogleg (Katabatic::GCell *, unsigned int flags=0) |
Track * | getTrack () const |
size_t | getIndex () const |
virtual unsigned long | getFreedomDegree () const |
virtual float | getMaxUnderDensity (unsigned int flags=0) const |
Box | getBoundingBox () const |
DbU::Unit | getSourceU () const |
DbU::Unit | getTargetU () const |
DbU::Unit | getLength () const |
Interval | getCanonicalInterval () const |
virtual Interval | getSourceConstraints () const |
virtual Interval | getTargetConstraints () const |
virtual DataNegociate * | getDataNegociate (unsigned int flags=KtDataSelf) const |
virtual TrackElement * | getCanonical (Interval &) |
virtual size_t | getGCells (Katabatic::GCellVector &) const |
virtual TrackElement * | getParent () const |
virtual unsigned int | getDoglegLevel () const |
virtual TrackElement * | getSourceDogleg () |
virtual TrackElement * | getTargetDogleg () |
virtual TrackElements | getPerpandiculars () |
void | setFlags (unsigned int) |
void | unsetFlags (unsigned int) |
virtual void | setTrack (Track *) |
void | setIndex (size_t) |
virtual void | updateFreedomDegree () |
virtual void | setDoglegLevel (unsigned int) |
virtual void | swapTrack (TrackElement *) |
virtual void | reschedule (unsigned int level) |
virtual void | detach () |
virtual void | invalidate () |
virtual void | revalidate () |
virtual void | incOverlapCost (Net *, TrackCost &) const |
virtual void | setAxis (DbU::Unit, unsigned int flags=Katabatic::SegAxisSet) |
virtual TrackElement * | makeDogleg () |
bool | makeDogleg (Katabatic::GCell *) |
virtual TrackElement * | makeDogleg (Interval, unsigned int &flags) |
virtual bool | _check () const |
Static Public Member Functions | |
static TrackElement * | create (Kite::Track *track, Segment *segment) |
Static Public Member Functions inherited from TrackElement | |
static SegmentOverlapCostCB * | setOverlapCostCB (SegmentOverlapCostCB *) |
Track elements for fixed wires.
A TrackFixedSegment is a segment that cannot be moved from the track. It can be associated to a true blockage Segment (recognised by the fact that their owner net is the blockage net), or to a segment from an ordinary net but which is locked into position. In the latter case, the owned net may reuse this portion of the track if it needs it.
In all cases, the blockage ratio of the GCells underneath the segment are updated.
|
static |
segment | The Hurricane Segment (blockage) to take into account. |
track | A Track into which insert the TrackFixedSegment. |
Public constructor to insert blockage inside a Track.
|
virtual |
See also: Katabatic::AutoSegment::isHorizontal().
Implements TrackElement.
|
virtual |
See also: Katabatic::AutoSegment::isVertical().
Implements TrackElement.
|
virtual |
See also: Katabatic::AutoSegment::isFixed().
Reimplemented from TrackElement.
|
virtual |
Id
of the supporting AutoSegment, if there is any. Zero otherwise. Reimplemented from TrackElement.
|
virtual |
Implements TrackElement.
|
virtual |
Returns: The Net associated to the element (may be NULL
).
Implements TrackElement.
Referenced by TrackFixedSegment::getNext(), and TrackFixedSegment::getPrevious().
|
virtual |
Returns: The Layer of the element (should match the one of the Track).
Implements TrackElement.
|
virtual |
Returns: The next TrackElement, on the same track and of a different net. See also: Track::getNext().
Reimplemented from TrackElement.
|
virtual |
Returns: The previous TrackElement, on the same track and of a different net. See also: Track::getPrevious().
Reimplemented from TrackElement.
|
virtual |
Returns: The axis position of the element (must be the same as the Track).
Implements TrackElement.
|
virtual |
Returns: The greatest free interval enclosing this element.
Reimplemented from TrackElement.
Generated by doxygen 1.8.5 on Sat Aug 18 2018 | Return to top of page |
Kite - Detailed Router | Copyright © 2008-2016 UPMC. All rights reserved |