rflattenlofig - recursivly flatten a figure
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 mlo412.h"
void rflattenlofig(ptfig, concat, catal)
lofig_list *ptfig;
char concat;
char catal;
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.
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.
#include mlo412.h"
void flatten_my_amd2901()
{
loins_list *pt;
pt = getlofig("my_amd2901", `A');
rflattenlofig(pt, YES, YES);
pt->NAME = my_flattened_amd2901";
savelofig(pt)
;
}
mbk(1) , incatalog(3) , mbkenv(3) , lofig(3) , addlofig(3) , getlofig(3) , dellofig(3) , loadlofig(3) , savelofig(3) , flattenlofig(3) , MBK_CATAL_NAME(1) .
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.