loadphfig - load a new physical 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 mph403.h"
void loadphfig(ptfig, figname, mode)
phfig_list *ptfig;
char *figname;
char mode;
loadphfig fills the phfig pointed to by ptfig with the contents of a disk
file called figname. The loading mode may be either connectors, abutment
box, and through routes are loaded, or `C', that finishes to fill an
already loaded figure in `P' mode, in order to have it all in memory. This
last mode allows to keep the same ptfig pointer when reaccessing the same
file.
The loadphfig function in fact performs a call to a parser, choosen by the
MBK_IN_PH(1)
environment variable. The directories seached for the file
are first the one set by MBK_WORK_LIB(1)
and then, in the described order,
the ones set by MBK_CATA_LIB(1)
. See MBK_IN_PH(1)
, MBK_WORK_LIB(1)
,
MBK_CATA_LIB(1)
and mbkenv(3)
for details.
Some errors resulting from a call to loadphfig are due to the parsers, and
are prefixed by the parser format (pf).
*** mbk error *** not supported physical input format `xxx'"
The environment variable MBK_IN_PH is not set to a legal physical
format.
*** mbk error *** pfloadphfig : 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 *** pfloadphfig : 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 mph403.h"
phfig_list *get_the_phfig(figname, mode)
char *figname;
char mode;
{
phfig_list *pt;
for (pt = HEAD_PHFIG; pt; pt = pt->NEXT) /* scan figure list */
if (!strcmp(pt->NAME, figname))
break;
if (!pt) { /* figure doesn't exist */
pt = addphfig(figname);
pt->MODE = mode == `A' ? mode : `P';
loadphfig(pt, figname, pt->MODE);
return pt;
}
if (ptfig->MODE != `A') { /* figure exists interface only */
if (mode == `A') {
pt->MODE = `A';
loadphfig(pt, figname, `C');
return pt;
} else
return pt;
} else /* figure exists interface and body */
return pt;
}
mbk(1) , mbkenv(3) , phfig(3) , addphfig(3) , getphfig(3) , delphfig(3) , savephfig(3) , flattenphfig(3) , rflattenphfig(3) , MBK_IN_PH(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.