table of contents
LOADPHFIG(3) | MBK PHYSICAL UTILITY FUNCTIONS | LOADPHFIG(3) |
NAME¶
loadphfig - load a new physical cell model from diskORIGIN¶
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Université Pierre et Marie CURIE, in Paris, France.SYNOPSYS¶
#include "mph.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 'A', then the entire content is parsed, or 'P' then only 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.ERRORS¶
Some errors resulting from a call to loadphfig are due to the parsers, and are prefixed by the parser format (pf).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 "mph.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 department of the LIP6 laboratory.October 1, 1997 | ASIM/LIP6 |