addphseg - create a physical segment
This software belongs to the ALLIANCE CAD system from the CAO-VLSI team at
ASIM/LIP6/UPMC laboratory.
LIP6/ASIM
University P. et M. Curie
4, place Jussieu
75252 PARIS Cedex 05
FRANCE
Fax : {33/0} 1.44.27.62.86
E-mail support : alliance-support@asim.lip6.fr
#include mph402.h"
phseg_list *addphseg(ptfig, layer, width, x1, y1, x2, y2, nodename)
phfig_list *ptfig;
char layer;
long width;
long x1, y1, x2, y2;
char *nodename;
addphseg creates a new segment at the given coordinates, possibly called
segname, and adds it to the list of segments pointed to by ptfig->PHSEG.
The new segment is added in front of the list, and becomes itself the list
head. The segment name is an optional information, and does not allow the
segment identification. When not needed, this parameter should be set to
NULL.
The parameters nodename, layer and width fill respectivly the NAME, LAYER
and WIDTH fields of the phseg structure.
x1, y1, x2, y2 are sorted to warranty that the fields X1 and Y1 contain
the minimum of, respectivly, x1, x2 and y1, y2, and the X2, Y2 fields the
maximum.
The TYPE field is computed by the addphseg function. It will be either
VER if x1 equals x2, or HOR if y1 equals y2.
The width is a layer extension that takes place in perpendicular to the
segment TYPE.
For a list of valid layers, and details on the structure, see phseg(3) .
addphseg returns a pointer to the newly created segment.
*** mbk error *** illegal addphseg wrong layer code layer in x1, y1, x2,
y2"
The layer parameter is out of range, and does not represent a legal
symbolic layer. See phseg(3)
for a complete list of layers.
*** mbk error *** illegal addphseg : x1, y1, x2, y2"
The segment coordinates are such that the segment is neither vertical
nor horizontal. So it's not a legal symbolic segment.
#include mph402.h"
phseg_list *du_seg(pfd, pfs)
phfig_list *pfd, *pfs;
{
phseg_list *ps;
/* names don't matter */
for (ps = pfs->PHSEG; ps != NULL; ps = ps->NEXT)
addphseg(pfd, ps->LAYER, ps->WIDTH, ps->X1, ps->Y1,
ps->X2, ps->Y2, NULL);
}
mbk(1) , phfig(3) , phseg(3) , delphseg(3) .
This tool is under development at the ASIM/LIP6/UPMC laboratory, cao-vlsi
research team.
We need your feedbak to improve documentation and tools.
If you find bugs, please fill-in the form at
http://asim.lip6.fr/alliance/support/bug-report/
Thanks for doing this.