ACT Library
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Friends | List of all members
RoutingMat Class Reference

Used to hold routing materials with extra routing design rules. More...

#include <tech.h>

Inheritance diagram for RoutingMat:
Material PolyMat

Public Member Functions

 RoutingMat (char *s)
 
void setLEFName (char *s)
 
int getPitch ()
 
int getLEFWidth ()
 
const char * getLEFName ()
 
ContactgetUpC ()
 
int getSpacing (int w)
 
int isComplexSpacing ()
 
int complexSpacingMode ()
 
int numRunLength ()
 
int getRunLength (int w)
 
RangeTablegetRunTable (int w)
 
int getEol ()
 
int getEolWithin ()
 
double getAntenna ()
 
double getAntennaDiff ()
 
int numInfluence ()
 
int * getInfluence ()
 
- Public Member Functions inherited from Material
 Material (const char *nm=NULL)
 
virtual const char * getName ()
 
void addGDS (char **table, int sz)
 
void addGDSBloat (int *table, int sz)
 
const char * viaUpName ()
 
int minArea ()
 
int minWidth ()
 
int minSpacing ()
 

Protected Attributes

RoutingRules r
 
- Protected Attributes inherited from Material
const char * name
 drawing name in magic
 
RangeTablewidth
 min width range table (indexed by length)
 
RangeTablespacing_w
 min spacing range table (indexed by width)
 
int minarea
 
int maxarea
 
Contactviaup
 contact/via to material that is above
 
Contactviadn
 contact/via to material that is below
 
list_t * gds
 GDS layer list.
 
int * gds_bloat
 GDS bloat table.
 

Friends

class Technology
 

Detailed Description

Used to hold routing materials with extra routing design rules.

Constructor & Destructor Documentation

◆ RoutingMat()

RoutingMat::RoutingMat ( char *  s)
inline

Create a new routing material

Parameters
sis the name of the routing material

Member Function Documentation

◆ complexSpacingMode()

int RoutingMat::complexSpacingMode ( )
inline

Complex spacing can be of type 0 (simple parallel run length rule), or of type 1 (a twowidth rule)

Returns
the type of complex spacing rule

◆ getAntenna()

double RoutingMat::getAntenna ( )
inline
Returns
antenna ratio

◆ getAntennaDiff()

double RoutingMat::getAntennaDiff ( )
inline
Returns
antenna diffusion ratio

◆ getEol()

int RoutingMat::getEol ( )
inline
Returns
end-of-line extension

◆ getEolWithin()

int RoutingMat::getEolWithin ( )
inline
Returns
end-of-line width rule

◆ getInfluence()

int * RoutingMat::getInfluence ( )
inline
Returns
the influence table

◆ getLEFName()

const char * RoutingMat::getLEFName ( )
inline
Returns
the LEF name; if not specified, then use the normal material name

◆ getLEFWidth()

int RoutingMat::getLEFWidth ( )
inline
Returns
width to be used for the LEF file

◆ getPitch()

int RoutingMat::getPitch ( )
inline
Returns
the pitch for this routing layer

◆ getRunLength()

int RoutingMat::getRunLength ( int  w)
inline
Returns
the run length for a given width

◆ getRunTable()

RangeTable * RoutingMat::getRunTable ( int  w)
inline
Returns
the RangeTable for parallel run lengths

◆ getSpacing()

int RoutingMat::getSpacing ( int  w)
inline
Parameters
wis the width of the material
Returns
the minimum spacing given the width

◆ getUpC()

Contact * RoutingMat::getUpC ( )
inline
Returns
the name of the contact to connect up from this layer to the next routing layer

◆ isComplexSpacing()

int RoutingMat::isComplexSpacing ( )
inline
Returns
1 if this has non-trivial spacing rules that have to be recoded in the LEF

◆ numInfluence()

int RoutingMat::numInfluence ( )
inline
Returns
size of the spacing influence table

◆ numRunLength()

int RoutingMat::numRunLength ( )
inline
Returns
the size of the parallel run length table

◆ setLEFName()

void RoutingMat::setLEFName ( char *  s)
inline

Set the LEF name for this layer

Parameters
sis the LEF name

Friends And Related Function Documentation

◆ Technology

friend class Technology
friend

Member Data Documentation

◆ r

RoutingRules RoutingMat::r
protected

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