Scroll to navigation



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;
Pointer to the next segment in the list.
Name of the segment. The name is not an identifier, and a name is present only if the designer used one for debug purposes.
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.
This caracter can take four values :
if Y1 = Y2. The exact value is chosen by addphseg, depending upon X1 and X2 relations.
if X1 = X2
Symbolic layer used for the segment. The legal values are :
N bulk
P bulk
N implant in P bulk
P implant in N bulk
N diffusion
P diffusion
N transistor
P transistor
first metal
second metal
third metal
polysilicum through route
first metal through route
second metal through route
third metal through route
Width of the segment. The physical extension of a segment is perpendicular to its direction.
Pointer to a ptype list, see ptype for details, that is a general purpose pointer used to share informations on the segment.


mbk(1), addphseg(3), getphseg(3), delphseg(3), phfig(3), ptype(3).


This tool is under development at the ASIM department of the LIP6 laboratory.
We need your feedback to improve documentation and tools.

October 1, 1997 ASIM/LIP6