Provided by: alliance_5.0-20120515-6_amd64 

NAME
addlotrs - create a logical transistor
SYNOPSYS
#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;
PARAMETERS
ptfig Pointer to the figure in which the transistor should be added
type transistor type
x, y Transistor coordinates
width, length Transistor grid width and length
ps, pd Perimeters of the source and drain
xs, xd Values to compute the areas of the source and drain, see lotrs(3) for the effective
area computation
ptgrid Pointer to the signal to be connected on the transistor grid
ptsource Pointer to the signal to be connected on the transistor source
ptdrain Pointer to the signal to be connected on the transistor drain
ptbulk Pointer to the signal to be connected on the transistor bulk
name Transistor instance name
DESCRIPTION
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 :
TRANSN for a N channel transistor
TRANSP for a P channel transistor
TRANSN_FAST for a high speed N channel transistor
TRANSP_FAST for a high speed P channel transistor
TRANSN_HVIO for a low leakage N channel transistor
TRANSP_HVIO for a low leakage P channel transistor
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).
RETURN VALUE
addlotrs returns a pointer to the newly created transistor.
ERRORS
"∗∗∗ mbk error ∗∗∗ illegal transistor type : type"
The type is not a legal transistor type.
EXAMPLE
#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);
}
SEE ALSO
mbk(1), lofig(3), lotrs(3), locon(3), dellotrs(3).
ASIM/LIP6 August 6, 2002 ADDLOTRS(3)