Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

addloins(3) [bsd man page]

ADDLOINS(3)						       MBK LOGICAL FUNCTIONS						       ADDLOINS(3)

NAME
addloins - create a logical instance ORIGIN
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Universite Pierre et Marie CURIE, in Paris, France. Web : http://asim.lip6.fr/recherche/alliance/ E-mail : alliance-users@asim.lip6.fr 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 performed 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 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). BUG REPORT
This tool is under development at the ASIM department of the LIP6 laboratory. We need your feedback to improve documentation and tools. ASIM
/LIP6 October 1, 1997 ADDLOINS(3)

Check Out this Related Man Page

UNFLATTENLOFIG(3)					   MBK LOGICAL UTILITY FUNCTIONS					 UNFLATTENLOFIG(3)

NAME
unflattenlofig - creates a hierarchy level from instances of a figure ORIGIN
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Universite Pierre et Marie CURIE, in Paris, France. Web : http://asim.lip6.fr/recherche/alliance/ E-mail : alliance-users@asim.lip6.fr SYNOPSYS
#include "mlo.h" void unflattenlofig(ptfig, figname, insname, list) lofig_list *ptfig; char *figname; char *insname; chain_list *list; PARAMETERS
ptfig Pointer to a logical figure figname Name of the new figure (model) insname Instance name of the new figure list Pointer to the head of a chain_list, containing instance pointers DESCRIPTION
unflattenlofig creates a new figure, figname, containing the instances listed in list, and adds it in the figure pointed to by ptfig, with the name insname. All the terminals of the new figure are called using the name of the corresponding signal if it exists, or with the name of a connector connected to this signal. The new name is suffixed with a number, obtained with an internal counter, in order to ensure that names are differents. ERRORS
No errors can directly result from a call to unflattenlofig, but since it uses many other mbk functions, it may be a good error starting point. EXAMPLE
#include "mlo.h" { lofig_list *lofig; chain_list *list = NULL; lofig = getlofig ( "rootfig", 'A'); list = addchain (list, (void *)getloins (lofig, "nan0"); list = addchain (list, (void *)getloins (lofig, "nor2"); unflattenlofig ( lofig, "newfig", "newins", list); } SEE ALSO
mbk(1), mbkenv(3), lofig(3), getlofig(3), addlofig(3), addloins(3), delloins(3), addlocon(3), addlosig(3), dellosig(3), getsigname(3), lofigchain(3), getptype(3), addptype(3), delptype(3), addchain(3), freechain(3), reverse(3). BUG REPORT
This tool is under development at the ASIM department of the LIP6 laboratory. We need your feedback to improve documentation and tools. ASIM
/LIP6 October 1, 1997 UNFLATTENLOFIG(3)
Man Page