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

FreeBSD Manual Pages

  
 
  

home | help
ADDLOINS(3)		     MBK LOGICAL FUNCTIONS		   ADDLOINS(3)

NAME
       addloins	- create a logical instance

SYNOPSYS
       #include	"mlo.h"
       loins_list *addloins(ptfig, insname, ptmodel, sigchain)
       lofig_list *ptfig;
       char *insname;
       lofig_list *ptmodel;
       chain_list *sigchain;

PARAMETERS
       ptfig		   Pointer  to the figure in which the instance	should
			   be added

       insname		   Instance name

       ptmodel		   Pointer to the instance model

       sigchain		   Pointer to chain list of signal pointers

DESCRIPTION
       addloins	creates	a new instance,	and adds it to the list	 of  instances
       pointed	to  by ptfig-_LOINS. The new instance is added in front	of the
       list, and becomes itself	the list head.
       The parameter insname fills the INSNAME field of	the loins structure.
       The ptmodel is used for two purposes. First,  the  ptmodel-_NAME	 fills
       the  FIGNAME  field. Second, the	connectors of the figure pointed to by
       ptmodel are duplicated in the LOCON field, but the  signals  linked  to
       each connector are the one given	in the sigchain	argument. See chain(3)
       for details on chain_lists.
       The matching is done in order, it means that  the  first	 connector  is
       linked  to  the	first  signal of the sigchain, and so on. Care must be
       taken when instanciating	in order  to  warranty	the  validity  of  the
       netlist.	 For details on	the structure, see loins(3).

RETURN VALUE
       addloins	returns	a pointer to the newly created instance.

ERRORS
       "*** mbk	error *** addloins impossible :	instance insname already exist
       in figure ptfig-_NAME"
	      The insname is the instance identifier. So it must be unique  at
	      a	given hierarchy	level.
       "***  mbk  error	*** addloins impossible	: instance model is the	figure
       figname itself"
	      The model	of the instance	has the	 same  name  that  the	figure
	      where  the  instantiation	 takes	place. This check is only per-
	      formed for a single hierarchy level, in terms of its instances.
       "*** mbk	error *** addloins impossible :	connector  number  discrepancy
       between	figure	ptmodel-_NAME  and  instance  insname  in  figure  pt-
       fig-_NAME"
	      The number of signals in the sigchain is not equal to the	number
	      of connectors of the model. The matching is not done correctly.

EXAMPLE
       #include	"mlo.h"
       void add_na2_y(pt, in1, in2, out) /* add	an instance of na2_y */
       lofig_list *pt; /* pointer to the figure	*/
       long in1, in2, out; /* signals indexes */
       {
       chain_list *signal = NULL;
	  /* get the pointer when signal index is known	*/
	  signal = addchain(signal, (void *)givelosig(pt, in1));
	  signal = addchain(signal, (void *)givelosig(pt, in2));
	  signal = addchain(signal, (void *)givelosig(pt, out));
	  /* get vdd and vss */
	  signal = addchain(signal, (void *)give_vdd(pt));
	  signal = addchain(signal, (void *)give_vss(pt));
	  /* reverse the list */
	  signal = reverse(signal);
	  addloins(pt, "nand", getlofig("na2_y"), signal);
       }

SEE ALSO
       mbk(1), lofig(3), loins(3), chain(3), getloins(3), delloins(3).

ASIM/LIP6			October	1, 1997			   ADDLOINS(3)

NAME | SYNOPSYS | PARAMETERS | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=addloins&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help