Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
LOADLOFIG(3)		  MBK LOGICAL UTILITY FUNCTIONS 	    LOADLOFIG(3)

NAME
     loadlofig - load a new logical cell model from disk

SYNOPSIS
     #include "mlo.h"
     void loadlofig(ptfig, figname, mode)
     lofig_list *ptfig;
     char *figname;
     char mode;

PARAMETERS
     ptfig		 Pointer to an allocated but empty lofig

     figname		 Name of the figure to be loaded

     mode		 Loading mode

DESCRIPTION
     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  par-
     tially  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,  chosen  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.

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

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

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

ASIM/LIP6			 October 1, 1997		    LOADLOFIG(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=loadlofig&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help