Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

addlosig(3) [linux man page]

ADDLOSIG(3)						       MBK LOGICAL FUNCTIONS						       ADDLOSIG(3)

NAME
addlosig - create a logical signal 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" losig_list *addlosig(ptfig, index, namechain, type) lofig_list *ptfig; long index; chain_list *namechain; char type; PARAMETERS
ptfig Pointer to the figure in which the signal should be added index Signal index namechain List of names of the signal type Signal type DESCRIPTION
addlosig creates a new signal, and adds it to the list of signals pointed to by ptfig->LOSIG. The new signal is added in front of the list, and becomes itself the list head. The type parameter can take two values : EXTERNAL The signal is attached to at least one connector of the figure. INTERNAL The signal is only attached to instance or transistor connector. The index and type arguments fill the INDEX and TYPE fields of the losig(3) structure. The index is the signal identifier, so it should be unique at a given hierarchical level. The namechain argument is a list of names, given in a chain_list. See chain(3) for details. RETURN VALUE
addlosig returns a pointer to the newly created signal. ERRORS
"*** mbk error *** addlosig impossible signal index already exist in figure ptfig->NAME" The index is already used in an other signal, and since it's the signal identifier, it can't be. EXAMPLE
#include "mlo.h" losig_list *merge_and_create(pt, s0, s1) /* merge two signal in a third */ lofig_list *pt; losig_list *s0, *s1; { chain_list *c; losig_list *s; long max_index; /* merge names */ for (c = s0->NAMECHAIN; c; c = c->NEXT) s1->NAMECHAIN = addchain(s1->NAMECHAIN, c); /* find maximum index */ for (s = pt->LOSIG; s; s = s->NEXT) if (max_index < s->INDEX) max_index = s->INDEX; s = addlosig(pt, ++max_index, s1->NAMECHAIN, s0->TYPE == EXTERNAL || s1->TYPE == EXTERNAL ? EXTERNAL : INTERNAL); dellosig(pt, s0); dellosig(pt, s1); return s; } SEE ALSO
mbk(1), lofig(3), losig(3), getlosig(3), dellosig(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 ADDLOSIG(3)

Check Out this Related Man Page

LOFIGCHAIN(3)						       MBK LOGICAL FUNCTIONS						     LOFIGCHAIN(3)

NAME
lofigchain - creates a netlist in terms of connectors on signals 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 lofigchain(ptfig) lofig_list *ptfig; PARAMETER
ptfig Pointer to a lofig_list DESCRIPTION
The lofigchain function creates the dual representation of natural mbk netlists. In mbk, netlists are described in terms of signal attached to connectors. With lofigchain, one can have the dual sight : connectors attached to signals. This can be very useful, depending on the application, but it's also memory consuming on big netlists, since two views of the same thing are present in memory at the same time. The information resulting of a call to lofigchain is present in the USER field of all signals of the figure, accessible through ptfig->LOSIG. The USER field has a ptype typed LOFIGCHAIN, that points on a chain_list whose DATA points on each locon beeing connected to the given signal. ERROR
"*** mbk error *** lofigchain impossible : figure ptfig->NAME is interface only" In order to be valid, the netlist resulting of a call to lofigchain must be done on a figure entirely loaded in ram. See getlofig for details. EXAMPLE
#include "mut.h" #include "mlo.h" void print_netlist(p) lofig_list *p; { losig_list *s; chain_list *c; lofigchain(p); for (s = p->LOSIG; s; s = s->NEXT){ (void)fprintf(stdout, "signal : index = %ld name = %s ", s->INDEX, getsigname(s)); c = (chain_list *)(getptype(s->USER, (long)LOFIGCHAIN)->DATA); while (c) { fprintf(stdout, "conname : %s ", (locon_list *)(c->DATA)->NAME); c = c->NEXT; } } } SEE ALSO
mbk(1), lofig(3), locon(3), losig(3), getlofig(3), loadlofig(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 LOFIGCHAIN(3)
Man Page