table of contents
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 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" loins_list ∗addloins(ptfig, insname, ptmodel, sigchain) lofig_list ∗ptfig; char ∗insname; lofig_list ∗ptmodel; chain_list ∗sigchain;
PARAMETERS¶
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"
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.
October 1, 1997 | ASIM/LIP6 |