NAME¶
addlosig - create a logical signal
ORIGIN¶
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at
LIP6 laboratory of Université 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.