# Coriolis Core (CRLCore) Documentation

# Coriolis Core (CRL) Documentation

Public Member Functions | Static Public Member Functions | List of all members
CRL::RoutingLayerGauge Class Reference

Gauge of a Layer for the detailed routing. More...

## Public Member Functions

virtual void | destroy ()
const Layer * | getLayer () const
const Layer * | getBlockageLayer () const
unsigned int | getDepth () const
Constant::Direction | getDirection () const
Constant::LayerGaugeType | getType () const
double | getDensity () const
DbU::Unit | getOffset () const
DbU::Unit | getPitch () const
DbU::Unit | getHalfPitch () const
DbU::Unit | getWireWidth () const
DbU::Unit | getHalfWireWidth () const
DbU::Unit | getViaWidth () const
DbU::Unit | getHalfViaWidth () const
void | divide (DbU::Unit dividend, long &quotient, long &modulo) const
unsigned int | getTrackNumber (DbU::Unit start, DbU::Unit stop) const
long | getTrackIndex (DbU::Unit start, DbU::Unit stop, DbU::Unit position, unsigned mode) const

## Static Public Member Functions

static RoutingLayerGauge * | create (const Layer *layer, Constant::Direction direction, Constant::LayerGaugeType type, unsigned int depth, double density, DbU::Unit offset, DbU::Unit pitch, DbU::Unit wireWidth, DbU::Unit viaWidth, DbU::Unit obsDw)

## Detailed Description

Gauge of a Layer for the detailed routing.

## Member Function Documentation

## ◆ create()

RoutingLayerGauge * CRL::RoutingLayerGauge::create | ( | const Layer * | layer,
|  | Constant::Direction | direction,
|  | Constant::LayerGaugeType | type,
|  | unsigned int | depth,
|  | double | density,
|  | DbU::Unit | offset,
|  | DbU::Unit | pitch,
|  | DbU::Unit | wireWidth,
|  | DbU::Unit | viaWidth,
|  | DbU::Unit | obsDw
| ) |  |

static

Parameters

  layer | the layer of the gauge (has to be of metal type).
  direction | the preferred routing direction.
  type | is it a pin only layer.
  depth | the depth (position) of the gauge.
  density | the track density (0.0 < d < 1.0).
  offset | position of the first track.
  pitch | distance, center-to-center between tracks.
  wireWidth | width to use to draw routing wire.
  viaWidth | side length to use for VIAs. Returns: The new layer gauge.

## ◆ destroy()

void CRL::RoutingLayerGauge::destroy | ( |  | ) |

virtual

Returns: destroy the routing gauge.

## ◆ getLayer()

const Layer * CRL::RoutingLayerGauge::getLayer | ( |  | ) | const

inline

Returns: the routing layer.

## ◆ getBlockageLayer()

const Layer * CRL::RoutingLayerGauge::getBlockageLayer | ( |  | ) | const

inline

Returns: the associated blockage layer.

## ◆ getDepth()

unsigned int CRL::RoutingLayerGauge::getDepth | ( |  | ) | const

inline

Returns: the depth (position) of the gauge inside the complete RoutingGauge.

## ◆ getDirection()

unsigned int CRL::RoutingLayerGauge::getDirection | ( |  | ) | const

inline

Returns: the preferred routing direction.

Referenced by CRL::RoutingGauge::getLayerDirection().

## ◆ getType()

unsigned int CRL::RoutingLayerGauge::getType | ( |  | ) | const

inline

Returns: the gauge type.

## ◆ getDensity()

double CRL::RoutingLayerGauge::getDensity | ( |  | ) | const

inline

Returns: the density of routing tracks (ratio).

## ◆ getOffset()

DbU::Unit CRL::RoutingLayerGauge::getOffset | ( |  | ) | const

inline

Returns: the position of the first track.

## ◆ getPitch()

DbU::Unit CRL::RoutingLayerGauge::getPitch | ( |  | ) | const

inline

Returns: the distance center-to-center between tracks.

## ◆ getHalfPitch()

DbU::Unit CRL::RoutingLayerGauge::getHalfPitch | ( |  | ) | const

inline

Returns: the half distance center-to-center between tracks.

## ◆ getWireWidth()

DbU::Unit CRL::RoutingLayerGauge::getWireWidth | ( |  | ) | const

inline

Returns: the width of the routing wires.

## ◆ getHalfWireWidth()

DbU::Unit CRL::RoutingLayerGauge::getHalfWireWidth | ( |  | ) | const

inline

Returns: the half width of the routing wires.

## ◆ getViaWidth()

DbU::Unit CRL::RoutingLayerGauge::getViaWidth | ( |  | ) | const

inline

Returns: the side of the routing VIAs.

## ◆ getHalfViaWidth()

DbU::Unit CRL::RoutingLayerGauge::getHalfViaWidth | ( |  | ) | const

inline

Returns: the half side of the routing VIAs.

## ◆ divide()

void CRL::RoutingLayerGauge::divide | ( | DbU::Unit | dividend,
|  | long & | quotient,
|  | long & | modulo
| ) |  | const

Parameters

  dividend | the length into witch put tracks.
  quotient | the number of tracks that fits the interval.
  modulo | the remainder.

## ◆ getTrackNumber()

unsigned int CRL::RoutingLayerGauge::getTrackNumber | ( | DbU::Unit | start,
|  | DbU::Unit | stop
| ) |  | const

Returns: the number of tracks that can tool place in the interval `[start:stop]`.

## ◆ getTrackIndex()

unsigned int CRL::RoutingLayerGauge::getTrackIndex | ( | DbU::Unit | start,
|  | DbU::Unit | stop,
|  | DbU::Unit | position,
|  | unsigned | mode
| ) |  | const

Returns: the index of the track nearest position `position` in interval `[start:stop]`, according the rounding `mode`.

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

- RoutingLayerGauge.h
- RoutingLayerGauge.dox