ADDLOTRS(3) | MBK LOGICAL FUNCTIONS | ADDLOTRS(3) |
addlotrs - create a logical transistor
See the file buster/alliance/alc_origin.1.en.gz.
#include "mlo.h" lotrs_list ∗addlotrs(ptfig, type, x, y, width, length, ps, pd, xs, xd, ptgrid, ptsource, ptdrain, ptbulk, name) lofig_list ∗ptfig; char type; long x, y; unsigned short width, length; unsigned short ps, pd; unsigned short xs, xd; losig_list ∗ptgrid, ∗ptsource, ∗ptdrain, ∗ptbulk; const char ∗name;
addlotrs creates a new transistor, and adds it to the list
of transistors pointed to by ptfig->LOTRS. The new transistor is
added in front of the list, and becomes itself the list head.
The type parameter can take six values :
The x, y, width , length, ps,
pd, xs and xd, arguments fill respectivly the X,
Y, WIDTH, LENGTH, PS, PD, XS and
XD fields.
Four connectors are created each time a transistor is added, and the
ptgrid, ptsource, ptdrain and ptbulk
losigs are attached to the SIG field of the locon of
the appropriate connector. The connectors names are grid,
source, drain and bulk, their direction, DIR,
are set to 'T', and their TYPE INTERNAL. For details on
the structures, see locon(3) and lotrs(3).
addlotrs returns a pointer to the newly created transistor.
"∗∗∗ mbk error ∗∗∗ illegal transistor type : type"
#include "mlo.h" void n1_y() /∗ transistor netlist of an inverter ∗/ { lofig_list ∗pt; losig_list ∗in, ∗out, ∗vdd, ∗vss; pt = addlofig("n1_y"); addlocon(pt, "in", in = givelosig(pt, 0), IN); addlocon(pt, "out", out = givelosig(pt, 1), OUT); addlocon(pt, "vdd", vdd = givelosig(pt, 2), IN); addlocon(pt, "vss", vdd = givelosig(pt, 3), IN); addlotrs(pt, TRANSN, 0, 0, 6, 1, in, vss, out, vss, trn_n1_y); addlotrs(pt, TRANSP, 0, 0, 12, 1, in, vdd, out, vdd, trp_n1_y); }
mbk(1), lofig(3), lotrs(3), locon(3), dellotrs(3).
See the file buster/alliance/alc_bug_report.1.en.gz.
August 6, 2002 | ASIM/LIP6 |