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

SYNOPSIS
       #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  instantiating  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)

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

home | help