Provided by: alliance_5.0-20120515-6_amd64 bug

NAME

       GENLIB_PLACE_SEG_REF  -  put a segment on a reference belonging an instance in the current
       figure

SYNOPSYS

       #include <genlib.h>
       void GENLIB_PLACE_SEG_REF(insname, refname, layer, width, face)
       char  ∗insname, ∗refname;
       char layer, face;
       long width;

PARAMETERS

       insname             Name of the instance in the which the reference is to be searched for

       refname             Name of the reference to be used for the segment placement

       layer               Physical layer of the segment

       width               Width of the segment

       face                Face of the figure on which the segment is to be placed

DESCRIPTION

       PLACE_SEG_REF places a segment regarding the position of the reference,  refname,  in  the
       instance  called  insname.   The  segment  coordinates  are  computed  from  the reference
       coordinates and the face given as argument.
       Two behaviours are expected, regarding the reference coordinates:

       the reference is on the given face of the abutment box
                           the segment is not added, since it would have zero as length

       the reference is anywhere else
                           A segment is drawn between the reference and the abutment box,  and is
                           given  layer  and width as attributs.  One of its endpoint is given by
                           the reference coordinates, the other one comes  from  the  face.   The
                           face argument is meant in the placed instance, and can take any of the
                           following values:

       NORTH               the other endpoint has, for absissa, the x coordinate of  the  top  of
                           the  abutment  box  of the cell, and for ordinate, the y coordinate of
                           the reference.

       SOUTH               the other endpoint has, for absissa, the x coordinate of the bottom of
                           the  abutment  box  of the cell, and for ordinate, the y coordinate of
                           the reference.

       EAST                the other endpoint has, for absissa, the x coordinate of the reference
                           and for ordinate, the y coordinate of the right of the abutment box of
                           the cell.

       WEST                the other endpoint has, for absissa, the x coordinate of the reference
                           and  for ordinate, the y coordinate of the left of the abutment box of
                           the cell.

ERRORS

       "GENLIB_PLACE_SEG_REF impossible : missing GENLIB_DEF_PHFIG"
              No figure has been yet specified by a call to DEF_PHFIG. So it  isn't  possible  to
              place  a  reference  inside  it.   you  must call DEF_PHFIG before any other layout
              action.
       "GENLIB_PLACE_SEG_REF impossible : missing GENLIB_DEF_PHFIG"
              No figure has been yet specified by a call to DEF_PHFIG. So it  isn't  possible  to
              place  a  reference  inside  it.   you  must call DEF_PHFIG before any other layout
              action.
       "GENLIB_PLACE_SEG_REF impossible : no abutment box"
              The current figure does not  have  an  abutment  box.  Use  DEF_AB(3)  before  this
              function.
       "illegal GENLIB_PLACE_SEG_REF : orientation is XX"
              The face parameter does not have a legal value, but XX.
       "illegal getphins : instance called insname does not exist"
              No instance called insname exists in the current figure
       "illegal getphref : references called refname does not exist"
              No reference called refname exists in the model of the instance insname.

EXAMPLE

       #include <genlib.h>
       main()
       {
            /∗ Create a figure to work on  ∗/
            GENLIB_DEF_PHFIG("cell");
            GENLIB_PLACE("gaci0_b", "r1", NOSYM, 23L, 54L);
            /∗ Put a reference ∗/
            GENLIB_PLACE_SEG_REF("r1", "a_0", ALU2, 2, NORTH);
            /∗ Save that on disk ∗/
            GENLIB_SAVE_PHFIG();
       }

SEE ALSO

       genlib(1),  GENLIB_DEF_PHFIG(3),  GENLIB_SAVE_PHFIG(3),  GENLIB_PHREF(3), GENLIB_PHSEG(3),
       GENLIB_COPY_UP_REF(3),         GENLIB_COPY_UP_ALL_REF(3),         GENLIB_PLACE_SEG_REF(3),
       GENLIB_PLACE_SEG_REF(3), GENLIB_PLACE_SEG_REF(3).