rflattenlofig

RFLATTENLOFIG(3)         MBK LOGICAL UTILITY FUNCTIONS        RFLATTENLOFIG(3)



NAME
       rflattenlofig - recursivly flatten a figure


ORIGIN
       This software belongs to the  ALLIANCE CAD SYSTEM developed by the ASIM
       team at LIP6 laboratory of Université Pierre et Marie CURIE, in Paris,
       France.

       Web : http://asim.lip6.fr/recherche/alliance/
       E-mail : alliance-users@asim.lip6.fr


SYNOPSYS
       #include "mlu.h"
       void rflattenlofig(ptfig, concat, catal)
       lofig_list ∗ptfig;
       char concat;
       char catal;

PARAMETERS
       ptfig               Pointer to a logical figure

       concat              Name generation mode

       catal               End level choice

DESCRIPTION
       rflattenlofig recursivly flattens all the instances of the figure
       pointed to by ptfig.
       The concat argument can take either the value YES in which case the
       name of the objects comming from instances are named
       insname'X'objectname, where 'X' is the caracter set int the
       MBK_SEPAR(1) environment variable, or the value NO, and then the object
       name remains inchanged. This is quite dangerous since name unicity is
       no more warrantied, and may cause the flatten to fail. See
       MBK_SEPAR(1), mbkenv(3) and concatname(3) for details.
       The catal argument may be set to NO, in which case flattening stops at
       the transistor level, all hierachies and instances have desapeard, only
       terminal elements remains. If set to YES, flattening stops when it
       encounters an instance model beeing present in the catalog file, set by
       the MBK_CATAL_NAME(1) environment variable.  See MBK_CATAL_NAME(1) and
       incatalog(3) for details.

ERRORS
       No errors can directly result from a call to rflattenlofig, but since
       it uses many other mbk functions, it may be a good error starting
       point.

EXAMPLE
       #include "mlu.h"
       void flatten_my_amd2901()
       {
       loins_list ∗pt;
          pt = getlofig("my_amd2901", 'A');
          rflattenlofig(pt, YES, YES);
          pt->NAME = "my_flattened_amd2901";
          savelofig(pt);
       }

SEE ALSO
       mbk(1), incatalog(3), mbkenv(3), lofig(3), addlofig(3), getlofig(3),
       dellofig(3), loadlofig(3), savelofig(3), flattenlofig(3),
       MBK_CATAL_NAME(1).




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






ASIM/LIP6                       October 1, 1997               RFLATTENLOFIG(3)