NAME
phseg - mbk physical segment
DESCRIPTION
The phseg structure is used to describe a segment belonging to a symbolic layout model, see phfig(3) for details. Transistors are segments of a particular layer.
The declarations needed to work on phseg are available in the header file "/labo/include/mph402.h", where '402' is the actual mbk version.
The following C structure supports the description of the segment :
typedef struct phseg {
struct phseg ∗NEXT;
char ∗NAME;
long X1,Y1,X2,Y2;
long WIDTH;
char TYPE;
char LAYER;
struct ptype ∗USER;
} phseg_list;
- NEXT
-
Pointer to the next segment in the list.
- NAME
-
Name of the segment. The name is not an identifier, and a name is present only if the designer used one for debug purposes.
- X1, Y1, X2, Y2
-
Coordinates of each end of the segment. Since it's a symbolic segment, one alway has either X1 = X2 or Y1 = Y2. Furthermore, by construction, it is warranty, if one accesses the data structure through the legal functions, that X1 <= X2 and Y1 <= Y2.
- TYPE
-
This caracter can take four values :
- LEFT or RIGHT
-
if Y1 = Y2. The exact value is chosen by addphseg, depending upon X1 and X2 relations.
- UP or DOWN
-
if X1 = X2
- LAYER
-
Symbolic layer used for the segment. The legal values are :
- NWELL
-
N bulk
- PWELL
-
P bulk
- NTIE
-
N implant in P bulk
- PTIE
-
P implant in N bulk
- NDIF
-
N diffusion
- PDIF
-
P diffusion
- NTRANS
-
N transistor
- PTRANS
-
P transistor
- POLY
-
polysilicium
- ALU1
-
first metal
- ALU2
-
second metal
- ALU3
-
third metal
- TPOLY
-
polysilicum through route
- TALU1
-
first metal through route
- TALU2
-
second metal through route
- TALU3
-
third metal through route
- WIDTH
-
Width of the segment. The physical extension of a segment is perpendicular to its direction.
- USER
-
Pointer to a ptype list, see ptype for details, that is a general purpose pointer used to share informations on the segment.
SEE ALSO
mbk(1), addphseg(3), getphseg(3), delphseg(3), phfig(3), ptype(3).