LOADLOFIG(3) | MBK LOGICAL UTILITY FUNCTIONS | LOADLOFIG(3) |
loadlofig - load a new logical cell model from disk
See the file buster/alliance/alc_origin.1.en.gz.
#include "mlo.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 'A', then the entire content is parsed, or 'P' then
only 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'"
#include "mlo.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).
See the file buster/alliance/alc_bug_report.1.en.gz.
October 1, 1997 | ASIM/LIP6 |