phseg - mbk physical segment
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 :
- 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 information on the segment.
mbk(1), addphseg(3), getphseg(3),
delphseg(3), phfig(3), ptype(3).
See the file man1/alc_bug_report.1.