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

  
 
  

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 in-
     stantiating  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  fig-
     name itself"
	    The  model	of  the instance has the same name that the figure where
	    the instantiation takes place. This check is only  performed  for  a
	    single hierarchy level, in terms of its instances.
     "***  mbk	error *** addloins impossible : connector number discrepancy be-
     tween figure ptmodel->NAME and instance insname in figure ptfig->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.1.quarterly>

home | help