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 LayergetLayer () const
 
const LayergetBlockageLayer () 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 RoutingLayerGaugecreate (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 pwireWidth, 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  pwireWidth,
DbU::Unit  viaWidth,
DbU::Unit  obsDw 
)
static
Parameters
layerthe layer of the gauge (has to be of metal type).
directionthe preferred routing direction.
typeis it a pin only layer.
depththe depth (position) of the gauge.
densitythe track density (0.0 < d < 1.0).
offsetposition of the first track.
pitchdistance, center-to-center between tracks.
wireWidthwidth to use to draw routing wire.
viaWidthside 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
dividendthe length into witch put tracks.
quotientthe number of tracks that fits the interval.
modulothe 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:


Generated by doxygen 1.8.14 on Sun Nov 21 2021 Return to top of page
Coriolis Core (CRL) Copyright © 2008-2020 Sorbonne Universite, All rights reserved