lotrs(3) [debian man page]
LOTRS(3) MBK LOGICAL STRUCTURE DEFINITIONS LOTRS(3)
NAME
lotrs - mbk logical transistor
DESCRIPTION
The lotrs is used to describe a logical transistor. It is mostly used to describe leaf cells in terms of transistors interconnections, and
as a result of layout extractions. Since the only target technology is CMOS, only NMOS and PMOS transistors are used.
The declarations needed to work on lotrs are available in the header file "/labo/include/mlo.h".
The following C structure supports the description of the logical transistor :
typedef struct lotrs {
struct lotrs *NEXT;
struct locon *DRAIN;
struct locon *GRID;
struct locon *SOURCE;
struct locon *BULK;
char *TRNAME;
long X,Y;
unsigned short WIDTH, LENGTH;
unsigned short PS, PD;
unsigned short XS, XD;
char TYPE;
struct ptype *USER;
} lotrs_list;
NEXT Pointer to the next lotrs of the list.
DRAIN Pointer to the drain connector of the transistor. This connector is, of course unique. See locon(3) for details.
GRID Pointer to the grid connector of the transistor. This connector is, of course unique. See locon(3) for details.
SOURCE Pointer to the source connector of the transistor. This connector is, of course unique. See locon(3) for details.
BULK Pointer to the bulk connector of the transistor. This connector is, of course unique. See locon(3) for details.
TRNAME Transistor instance name
X, Y Coordinates of the transistor in a layout. These informations have sens only if the transistor netlist is the result of
a layout extraction. They are otherwise set to zero. These coordinates are given in micron times the scale factor
SCALE_X, since the extracted view is technology dependant.
WIDTH, LENGTH Respectivly width and length of the transistor grid.
PS, PD Respectivly perimeter of the source and drain, in micron times the scale factor SCALE_X.
XS, XD These values are needed to compute respectivly the source and drain areas. Let As be the source area in square
microns, and Width be the transistor grid width in micron, then lotrs->XS = As / Width * SCALE_X
TYPE Canal type of the transistor. Six legal values are available :
TRANSN N type MOS transistor
TRANSP P type MOS transistor
TRANSN_FAST High speed N type MOS transistor
TRANSP_FAST High speed P type MOS transistor
TRANSN_HVIO Low Leakage N type MOS transistor
TRANSP_HVIO Low Leakage P type MOS transistor
USER Pointer to a ptype list, see ptype(3) for details, that is a general purpose pointer used to share informations on the
transistor.
Remark : In integrated techniques, NMOS transistor bulk for digital circuits is always set to ground, and PMOS transistor bulk
for digital circuits is always set to positive supply.
SEE ALSO
mbk(1), addlotrs(3), dellotrs(3), locon(3), lofig(3), ptype(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.
ASIM
/LIP6 August 6, 2002 LOTRS(3)
Check Out this Related Man Page
ADDLOTRS(3) MBK LOGICAL FUNCTIONS ADDLOTRS(3)
NAME
addlotrs - create a logical transistor
ORIGIN
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Universite 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"
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).
BUG REPORT
This tool is under development at the ASIM department of the LIP6 laboratory.
We need your feedback to improve documentation and tools.
ASIM
/LIP6 August 6, 2002 ADDLOTRS(3)