loadlofig - load a new logical cell model from disk
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 loadlofig(ptfig, figname, mode)
lofig_list *ptfig;
char *figname;
char mode;
loadlofig fills the lofig pointed to by ptfig with the contents of a disk
file called figname. The loading mode may be either connectors and extrernal
signals are loaded in memory, or `C', that loads the complement of
an already partially loaded cell in order to keep the same pointer when
accessing the same file.
The loadlofig(3)
function in fact performs a call to a parser, choosen by
the MBK_IN_LO(1)
environment variable. The directories searched for the
file are first the one sets by MBK_WORK_LIB(1)
and then, in the described
order, the ones set by MBK_CATA_LIB(1)
. See MBK_IN_LO(1)
,
MBK_WORK_LIB(1)
, MBK_CATA_LIB(1)
and mbkenv(3)
for details.
Some errors resulting from a call to loadlofig are due to the parsers, and
are prefixed by the parser format (pf).
*** mbk error *** not supported logical input format `xxx'"
The environment variable MBK_IN_LO is not set to a legal logical
format.
*** mbk error *** pfloadlofig : could not open file figname"
No file called figname.ext, where ext is the file format extension,
has been found in the directories set by the environment.
*** mbk error *** pfloadlofig : syntax error line x parsing figname.ext"
Either the file has been corrupted and its syntax is not legal, or
there is a bug in the given parser.
#include mlo412.h"
lofig_list *get_the_lofig(figname, mode)
char *figname;
char mode;
{
lofig_list *pt;
for (pt = HEAD_LOFIG; pt; pt = pt->NEXT) /* scan figure list */
if (!strcmp(pt->NAME, figname))
break;
if (!pt) { /* figure doesn't exist */
pt = addlofig(figname);
pt->MODE = mode == `A' ? mode : `P';
loadlofig(pt, figname, pt->MODE);
return pt;
}
if (ptfig->MODE != `A') { /* figure exists interface only */
if (mode == `A') {
pt->MODE = `A';
loadlofig(pt, figname, `C');
return pt;
} else
return pt;
} else /* figure exists interface and body */
return pt;
}
mbk(1) , mbkenv(3) , lofig(3) , addlofig(3) , getlofig(3) , dellofig(3) , savelofig(3) , flattenlofig(3) , rflattenlofig(3) , MBK_IN_LO(1) , MBK_WORK_LIB(1) , MBK_CATA_LIB(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.