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

Used to hold rules for diffusion. More...

#include <tech.h>

Inheritance diagram for DiffMat:
Material

Public Member Functions

 DiffMat (char *s)
 
int effOverhang (int w, int hasvia=0)
 
int viaSpaceEdge ()
 
int viaSpaceMid ()
 
int getPolySpacing ()
 
int getNotchSpacing ()
 
int getOppDiffSpacing (int flavor)
 
int getSpacing (int flavor)
 
int getWdiffToDiffSpacing ()
 
int getViaFet ()
 
ContactgetUpC ()
 
- 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

int diffspacing
 
int * spacing
 
int * oppspacing
 
int polyspacing
 
int notchspacing
 
RangeTableoverhang
 
int via_edge
 
int via_fet
 
- 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 rules for diffusion.

Constructor & Destructor Documentation

◆ DiffMat()

DiffMat::DiffMat ( char *  s)
inline
Parameters
sis the name of the diffusion layer

Member Function Documentation

◆ effOverhang()

int DiffMat::effOverhang ( int  w,
int  hasvia = 0 
)

Used to calculate the amount of diffusion overhang given the width of the last fet in a transistor stack (a.k.a. channel connected region). The hasvia flag is used to indicate whether this diffusion needs to overhang enough to accommodate a via. This uses viaSpaceEdge() as well to make sure there is enough space.

Parameters
wis the width of the last fet
hasviais 1 if there is a via here, 0 otherwise
Returns
the amount of diffusion overhang

◆ getNotchSpacing()

int DiffMat::getNotchSpacing ( )
inline
Returns
the amount of space for the notch in the diffusion. This is the space from the notch edge to poly.

◆ getOppDiffSpacing()

int DiffMat::getOppDiffSpacing ( int  flavor)
inline
Parameters
flavoris the transistor flavor
Returns
the spacing to the opposite type (i.e. n-to-p or p-to-n) of diffusion

◆ getPolySpacing()

int DiffMat::getPolySpacing ( )
inline
Returns
spacing from poly to diffusion

◆ getSpacing()

int DiffMat::getSpacing ( int  flavor)
inline
Parameters
flavoris the transistor flavor
Returns
the spacing from this diffusion to the diffusion of the same type (n/p) of the specified flavor

◆ getUpC()

Contact * DiffMat::getUpC ( )
inline
Returns
the contact from diffusion up to the first metal routing layer

◆ getViaFet()

int DiffMat::getViaFet ( )
inline
Returns
the spacing from the edge of a via to the transistor

◆ getWdiffToDiffSpacing()

int DiffMat::getWdiffToDiffSpacing ( )
inline
Returns
diffusion to well-diffusion spacing (should just be the diffusion spacing)

◆ viaSpaceEdge()

int DiffMat::viaSpaceEdge ( )
Returns
the amount of space needed to accomodate a via where one side has a fet and the other side is the edge.

◆ viaSpaceMid()

int DiffMat::viaSpaceMid ( )
Returns
the amount of space needed to accomodaet a via between two fets (i.e. in the middle of a transistor stack)

Friends And Related Function Documentation

◆ Technology

friend class Technology
friend

Member Data Documentation

◆ diffspacing

int DiffMat::diffspacing
protected

◆ notchspacing

int DiffMat::notchspacing
protected

◆ oppspacing

int* DiffMat::oppspacing
protected

◆ overhang

RangeTable* DiffMat::overhang
protected

◆ polyspacing

int DiffMat::polyspacing
protected

◆ spacing

int* DiffMat::spacing
protected

◆ via_edge

int DiffMat::via_edge
protected

◆ via_fet

int DiffMat::via_fet
protected

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