phfig - mbk physical figure

       The phfig is used to describe a hierarchical level of a symbolic layout
       and may contain any of the legal physical objects needed for a layout
       but a phfig.  All coordinates are symbolic and therefor put on a
       virtual grid in booth x and y directions.

       The declarations needed to work on phfig 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 layout view :
              typedef struct phfig {
                 struct phfig     ∗NEXT;
                 struct chain     ∗MODELCHAIN;
                 struct phseg     ∗PHSEG;
                 struct phvia     ∗PHVIA;
                 struct phref     ∗PHREF;
                 struct phins     ∗PHINS;
                 struct phcon     ∗PHCON;
                 char             ∗NAME;
                 char             MODE;
                 long             XAB1, YAB1, XAB2, YAB2;
                 struct ptype     ∗USER;
              } phfig_list;

       NEXT                Pointer to the next phfig present in ram.

       NAME                Name of the figure. It identifies a figure (or
                           model), so it should be unique in order to warranty
                           consistency of cells libraries. In order to ensure
                           this consistency, the NAME field must be filled
                           with the disk file name while parsing, and must be
                           used as file name for driving.

       PHINS               Pointer to the head of the list of instances being
                           used for the model description. See phins(3) for

       PHCON               Pointer to the head of the list of connectors
                           (terminals) of the model.  See phcon(3) for

       PHSEG               Pointer to the head of the list of segments (wires)
                           of the model.  See phseg(3) for details.

       PHVIA               Pointer to the head of the list of contacs and vias
                           of the model.  See phvia(3) for details.

       PHREF               Pointer to the head of the list of references of
                           the model.  See phref(3) for details.

       XAB1, YAB1, XAB2, YAB2
                           Coordinates of the bottom left corner of the
                           abutment box of the figure. The abutment box of a
                           model represents the external visibility of a
                           figure and is what reference is made to when
                           instanciating the model.  One should well
                           distinguish the abutment box from the bounding box,
                           which is the smallest rectangle that includes all
                           cell descriptors.  The size and position of the
                           abutment box is a designer concern, and cannot be

       MODE                Caracter indicating the status of the figure in
                           memory. This field can take two values :

                           ´A´       all the cell is loaded in ram.

                           ´P´       only information concerning the model
                                     interface is present, that means
                                     connectors and the abutment box. All
                                     other lists are empty.

       MODELCHAIN          Pointer to a chain list, see chain(3) for details,
                           of names. These are the names of the models that
                           are at least instanciated once in the figure.

       USER                Pointer to a ptype list, see ptype(3) for details,
                           that is a general purpose pointer used to share
                           informations on the model.

       Remark :            mbk's physical view of a cell is releted to it's
                           logical view by means of connector names, that must
                           be identical.

       mbk(1), addphfig(3), getphfig(3), delphfig(3), loadphfig(3),
       savephfig(3), phins(3), phvia(3), phcon(3), phseg(3), phref(3),
       ptype(3), lofig(3).

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

ASIM/LIP6                       October 1, 1997                       PHFIG(3)