Kite - Detailed Router


Public Member Functions | Static Public Member Functions | List of all members
TrackFixedSegment Class Reference

Track elements for fixed wires. More...

Inheritance diagram for TrackFixedSegment:
Inheritance graph
[legend]

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 NetgetNet () const
 
virtual const LayergetLayer () const
 
virtual TrackElementgetNext () const
 
virtual TrackElementgetPrevious () 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)
 
TrackgetTrack () 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 DataNegociategetDataNegociate (unsigned int flags=KtDataSelf) const
 
virtual TrackElementgetCanonical (Interval &)
 
virtual size_t getGCells (Katabatic::GCellVector &) const
 
virtual TrackElementgetParent () const
 
virtual unsigned int getDoglegLevel () const
 
virtual TrackElementgetSourceDogleg ()
 
virtual TrackElementgetTargetDogleg ()
 
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 TrackElementmakeDogleg ()
 
bool makeDogleg (Katabatic::GCell *)
 
virtual TrackElementmakeDogleg (Interval, unsigned int &flags)
 
virtual bool _check () const
 

Static Public Member Functions

static TrackElementcreate (Kite::Track *track, Segment *segment)
 
- Static Public Member Functions inherited from TrackElement
static SegmentOverlapCostCBsetOverlapCostCB (SegmentOverlapCostCB *)
 

Detailed Description

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.

Member Function Documentation

◆ create()

TrackSegment * create ( Kite::Track track,
Segment segment 
)
static
Parameters
segmentThe Hurricane Segment (blockage) to take into account.
trackA Track into which insert the TrackFixedSegment.
Returns
A TrackFixedSegment wrapped around a blockage Segment.

Public constructor to insert blockage inside a Track.

◆ isHorizontal()

bool isHorizontal ( ) const
virtual

◆ isVertical()

bool isVertical ( ) const
virtual

◆ isFixed()

bool isFixed ( ) const
virtual

See also:  Katabatic::AutoSegment::isFixed().

Reimplemented from TrackElement.

◆ getId()

unsigned long getId ( ) const
virtual
Returns
The Id of the supporting AutoSegment, if there is any. Zero otherwise.

Reimplemented from TrackElement.

◆ getDirection()

unsigned int getDirection ( ) const
virtual
Returns
The direction of the supporting element (should match the preferred direction of the Track).

Implements TrackElement.

◆ getNet()

Net * getNet ( ) const
virtual

Returns: The Net associated to the element (may be NULL).

Implements TrackElement.

Referenced by TrackFixedSegment::getNext(), and TrackFixedSegment::getPrevious().

◆ getLayer()

const Layer * getLayer ( ) const
virtual

Returns: The Layer of the element (should match the one of the Track).

Implements TrackElement.

◆ getNext()

TrackElement * getNext ( ) const
virtual

Returns: The next TrackElement, on the same track and of a different net. See also:  Track::getNext().

Reimplemented from TrackElement.

◆ getPrevious()

TrackElement * getPrevious ( ) const
virtual

Returns: The previous TrackElement, on the same track and of a different net. See also:  Track::getPrevious().

Reimplemented from TrackElement.

◆ getAxis()

DbU::Unit getAxis ( ) const
virtual

Returns: The axis position of the element (must be the same as the Track).

Implements TrackElement.

◆ getFreeInterval()

Interval getFreeInterval ( ) const
virtual

Returns: The greatest free interval enclosing this element.

Reimplemented from TrackElement.


The documentation for this class was generated from the following files:


Generated by doxygen 1.8.14 on Fri Oct 1 2021 Return to top of page
Kite - Detailed Router Copyright © 2008-2020 Sorbonne Universite. All rights reserved