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

NAME

       rflattenlofig - recursivly flatten a figure

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).