Array of Tracks in one Layer. More...
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) |
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.
|
static |
engine | The associated engine. |
depth | The Layer depth of the plane. |
The RoutingPlane public constructor. The depth
is in the sense of the RoutingGauge.
|
inline |
Returns: true if the preferred routing direction is horizontal (the actual direction of the tracks).
|
inline |
Returns: true if the preferred routing direction is vertical (the actual direction of the tracks).
|
inline |
Returns: The associated KiteEngine.
Referenced by Track::getKiteEngine().
|
inline |
Returns: The RoutingLayerGauge of the plane.
Referenced by RoutingPlane::getBlockageLayer(), and RoutingPlane::getLayer().
|
inline |
Returns: The preferred routing direction (Katabatic::KbHorizontal or Katabatic::KbVertical).
Referenced by RoutingPlane::create(), RoutingPlane::isHorizontal(), and RoutingPlane::isVertical().
|
inline |
Returns: The depth of the associated layer (as defined by the RoutingLayerGauge).
Referenced by Track::getDepth().
|
inline |
Returns: The axis coordinate of the first/lowest track.
|
inline |
Returns: The axis coordinate of the last/highest track.
|
inline |
Returns: The minimum bound of all track.
|
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.
|
inline |
Returns: The associated routing layer.
Referenced by Track::getLayer().
|
inline |
Returns: The blockage layer associated to the routing layer.
Referenced by Track::getBlockageLayer().
|
inline |
Returns: The number of tracks in the array.
|
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().
|
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().
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.
Generated by doxygen 1.8.14 on Mon Feb 3 2020 | Return to top of page |
Kite - Detailed Router | Copyright © 2008-2016 UPMC. All rights reserved |