RoutingPlane(3)

NAME
RoutingPlane - Array of Tracks in one Layer.

SYNOPSIS

  Public Member Functions
bool isHorizontal () const
bool isVertical () const
KiteEngine * getKiteEngine () const
RoutingLayerGauge * getLayerGauge () const
unsigned int getDirection () const
size_t getDepth () const
DbU::Unit getAxisMin () const
DbU::Unit getAxisMax () const
DbU::Unit getTrackMin () const
DbU::Unit getTrackMax () const
RoutingPlane * getTop () const
RoutingPlane * getBottom () const
const Layer * getLayer () const
const Layer * getBlockageLayer () const
size_t getTracksSize () const
size_t computeTracksSize () const
DbU::Unit getTrackPosition (size_t index) const
Track * getTrackByIndex (size_t index) const
Track * getTrackByPosition (DbU::Unit axis, unsigned int mode=KtNearest) const
bool _check (unsigned int &overlaps) const

  Static Public Member Functions
static RoutingPlane * create (KiteEngine *, size_t depth)

Detailed Description

Array of Tracks in one Layer. A RoutingPlane is an array of Track covering a rectangular area. For now the area is the abutment box of the to be routed Cell. Tracks are spaced evenly and according to the configuration of the relevant RoutingLayerGauge.

Fig 1: Horizontal RoutingPlane

Member Function Documentation

  RoutingPlane * create (KiteEngine * engine, size_t depth) [static]

Parameters:
    engine The associated engine.
    depth The Layer depth of the plane.

Returns:
    The newly created RoutingPlane.

The RoutingPlane public constructor. The depth is in the sense of the RoutingGauge.

  bool isHorizontal () const [inline]
Returns: true if the preferred routing direction is horizontal (the actual direction of the tracks).

  bool isVertical () const [inline]
Returns: true if the preferred routing direction is vertical (the actual direction of the tracks).

  KiteEngine * getKiteEngine () const [inline]
Returns: The associated KiteEngine.

Referenced by Track::getKiteEngine().

  RoutingLayerGauge * getLayerGauge () const [inline]
Returns: The RoutingLayerGauge of the plane.

Referenced by RoutingPlane::getBlockageLayer(), and RoutingPlane::getLayer().

  unsigned int getDirection () const [inline]
Returns: The preferred routing direction (Katabatic::KbHorizontal or Katabatic::KbVertical).

Referenced by RoutingPlane::create(), RoutingPlane::isHorizontal(), and RoutingPlane::isVertical().

  size_t getDepth () const [inline]
Returns: The depth of the associated layer (as defined by the RoutingLayerGauge).

Referenced by Track::getDepth().

  size_t getAxisMin () const [inline]
Returns: The axis coordinate of the first/lowest track.

  size_t getAxisMax () const [inline]
Returns: The axis coordinate of the last/highest track.

  size_t getTrackMin () const [inline]
Returns: The minimum bound of all track.

  size_t getTrackMax () const [inline]
Returns: The maximum bound of all track.

  RoutingPlane * getTop () const
Returns: The RoutingPlane immediatly above this one.

  RoutingPlane * getBottom () const
Returns: The RoutingPlane immediatly below this one.

  const Layer * getLayer () const [inline]
Returns: The associated routing layer.

Referenced by Track::getLayer().

  const Layer * getBlockageLayer () const [inline]
Returns: The blockage layer associated to the routing layer.

Referenced by Track::getBlockageLayer().

  size_t getTracksSize () const [inline]
Returns: The number of tracks in the array.

  size_t computeTracksSize () const [inline]
Returns: The number of tracks to create in the array.

Helper method that compute the number of tracks in the array from the area of the Cell to be routed and the RoutingLayerGauge characteristics (the Cell is accessible through the KiteEngine).

Referenced by RoutingPlane::create().

  DbU::Unit getTrackPosition (size_t index) const [inline]
Returns: The axis of the track at index in the array.

  Track * getTrackByIndex (size_t index) const
Returns: The track at index in the array.

Referenced by Track::getNextTrack(), and Track::getPreviousTrack().

  Track * getTrackByPosition (DbU::Unit axis, unsigned int mode = KtNearest) const
Returns: The track which position is nearest from axis. The meaning of nearest is defined by mode (classic rouding options).

Referenced by SegmentFsm::conflictSolveByPlaceds(), NegociateWindow::createTrackSegment(), RoutingEvent::revalidate(), Manipulator::ripupPerpandiculars(), and SegmentFsm::SegmentFsm().

  bool _check (unsigned int & overlaps) const
Returns: true if no errors have been found (i.e. the database is coherent).

Perform a coherency check on all tracks part of the array.

Author

Generated automatically by Doxygen for Kite - Detailed Router from the source code.