addlotrs - create a logical transistor
This software belongs to the ALLIANCE CAD system from the CAO-VLSI team at
ASIM/LIP6/UPMC laboratory.
LIP6/ASIM
University P. et M. Curie
4, place Jussieu
75252 PARIS Cedex 05
FRANCE
Fax : {33/0} 1.44.27.62.86
E-mail support : alliance-support@asim.lip6.fr
#include mlo404.3"
lotrs_list *addlotrs(ptfig, type, x, y, width, length,
ps, pd, xs, xd,
ptgrid, ptsource, ptdrain)
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;
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 two 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. Three connectors are created each time a transistor is added, and the ptgrid, ptsource and ptdrain losigs are attached to the SIG field of the locon of the appropriate connector. The connectors names are grid, source and drain, 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 legal a legal transistor type.
#include mlo404.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);
addlotrs(pt, TRANSP, 0, 0, 12, 1, in, vdd, out);
}
mbk(1) , lofig(3) , lotrs(3) , locon(3) , dellotrs(3) .
This tool is under development at the ASIM/LIP6/UPMC laboratory, cao-vlsi
research team.
We need your feedbak to improve documentation and tools.
If you find bugs, please fill-in the form at
http://asim.lip6.fr/alliance/support/bug-report/
Thanks for doing this.