ADDLOTRS(3)                  MBK LOGICAL FUNCTIONS                 ADDLOTRS(3)

       addlotrs - create a logical transistor

       This software belongs to the  ALLIANCE CAD SYSTEM developed by the ASIM
       team at LIP6 laboratory of Université Pierre et Marie CURIE, in Paris,

       Web :
       E-mail :

       #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;

       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

       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

       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).

       addlotrs returns a pointer to the newly created transistor.

       "∗∗∗ mbk error ∗∗∗ illegal transistor type : type"
              The type is not a legal transistor 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).

       This tool is under development at the ASIM department of the LIP6
       We need your feedback to improve documentation and tools.

ASIM/LIP6                       August 6, 2002                     ADDLOTRS(3)