Table of Contents

Name

loadphfig - load a new physical cell model from disk

Origin

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

Synopsys

#include mph403.h"
void loadphfig(ptfig, figname, mode)
phfig_list *ptfig;
char *figname;
char mode;

Parameters

ptfig
Pointer to an allocated but empty phfig
figname
Name of the figure to be loaded
mode
Loading mode

Description

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.

Errors

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.

Example

#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;
}

See Also

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

Bug Report

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.


Table of Contents

 



Alliance Web Site © 1997, 2002 ASIM/LIP6/UPMC, page maintained by Czo [Olivier Sirol] , last updated on 26 May 2000.