From a26e6a86f75a4a4d7e88b40fea7cb1e2d5706d79 Mon Sep 17 00:00:00 2001 From: Pierre Nguyen Tuong Date: Tue, 6 Aug 2002 14:17:24 +0000 Subject: [PATCH] Mise a jour des manuels du transistor: - ajout d'une quatrieme patte bulk explicite - ajout des types FAST et HVIO pour les transistors N et P - ajout d'un nom d'instance - ajout du manuel de getlotrs --- alliance/src/mbk/man3/addlotrs.3 | 39 +++++++++++----- alliance/src/mbk/man3/getlotrs.3 | 76 ++++++++++++++++++++++++++++++++ alliance/src/mbk/man3/lotrs.3 | 34 +++++++++++--- 3 files changed, 132 insertions(+), 17 deletions(-) create mode 100644 alliance/src/mbk/man3/getlotrs.3 diff --git a/alliance/src/mbk/man3/addlotrs.3 b/alliance/src/mbk/man3/addlotrs.3 index 5e60c3c4..5832a14b 100644 --- a/alliance/src/mbk/man3/addlotrs.3 +++ b/alliance/src/mbk/man3/addlotrs.3 @@ -1,4 +1,4 @@ -.\" $Id: addlotrs.3,v 1.1 2002/03/08 13:51:01 fred Exp $ +.\" $Id: addlotrs.3,v 1.2 2002/08/06 14:17:24 pnt Exp $ .\" @(#)addlotrs.2 2.11 91/08/22 ; Labo masi cao-vlsi; Author : Frederic Petrot .if t \{\ .so man1/alc_contents.mac @@ -10,7 +10,7 @@ addlotrs .ti 0.2i addlotrs .XE2 \} -.TH ADDLOTRS 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS" +.TH ADDLOTRS 3 "August 6, 2002" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS" .SH NAME addlotrs \- create a logical transistor .so man1/alc_origin.1 @@ -24,14 +24,15 @@ addlotrs \- create a logical transistor #include "mlo.3" lotrs_list \(**addlotrs(ptfig, type, x, y, width, length, ps, pd, xs, xd, - ptgrid, ptsource, ptdrain) + 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; +losig_list \(**ptgrid, \(**ptsource, \(**ptdrain, \(**ptbulk; +const char \(**name; .ft R .fi .SH PARAMETERS @@ -63,12 +64,18 @@ Pointer to the signal to be connected on the transistor source .TP \fIptdrain\fP Pointer to the signal to be connected on the transistor drain +.TP +\fIptbulk\fP +Pointer to the signal to be connected on the transistor bulk +.TP +\fIname\fP +Transistor instance name .SH DESCRIPTION \fBaddlotrs\fP creates a new transistor, and adds it to the list of transistors pointed to by \fIptfig\->LOTRS\fP. The new transistor is added in front of the list, and becomes itself the list head. .br -The \fItype\fP parameter can take two values : +The \fItype\fP parameter can take six values : .RS .TP 20 \fBTRANSN\fP @@ -76,6 +83,18 @@ for a N channel transistor .TP \fBTRANSP\fP for a P channel transistor +.TP +\fBTRANSN_FAST\fP +for a high speed N channel transistor +.TP +\fBTRANSP_FAST\fP +for a high speed P channel transistor +.TP +\fBTRANSN_HVIO\fP +for a low leakage N channel transistor +.TP +\fBTRANSP_HVIO\fP +for a low leakage P channel transistor .RE .LP The \fIx\fP, \fIy\fP, \fIwidth\fP , \fIlength\fP, \fIps\fP, \fIpd\fP, @@ -83,10 +102,10 @@ The \fIx\fP, \fIy\fP, \fIwidth\fP , \fIlength\fP, \fIps\fP, \fIpd\fP, respectivly the \fIX\fP, \fIY\fP, \fIWIDTH\fP, \fILENGTH\fP, \fIPS\fP, \fIPD\fP, \fIXS\fP and \fIXD\fP fields. .br -Three connectors are created each time a transistor is added, and the -\fIptgrid\fP, \fIptsource\fP and \fIptdrain\fP \fBlosig\fPs are attached to +Four connectors are created each time a transistor is added, and the +\fIptgrid\fP, \fIptsource\fP, \fIptdrain\fP and \fIptbulk\fP \fBlosig\fPs are attached to the \fISIG\fP field of the \fBlocon\fP of the appropriate connector. The -connectors names are \fIgrid\fP, \fIsource\fP and \fIdrain\fP, their +connectors names are \fIgrid\fP, \fIsource\fP, \fIdrain\fP and \fIbulk\fP, their direction, \fIDIR\fP, are set to \fB'T'\fP, and their \fITYPE\fP \fBINTERNAL\fP. For details on the structures, see \fBlocon\fP(3) and \fBlotrs\fR(3). .SH RETURN VALUE @@ -118,8 +137,8 @@ losig_list \(**in, \(**out, \(**vdd, \(**vss; 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); + 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); } .ft R .fi diff --git a/alliance/src/mbk/man3/getlotrs.3 b/alliance/src/mbk/man3/getlotrs.3 new file mode 100644 index 00000000..674a6245 --- /dev/null +++ b/alliance/src/mbk/man3/getlotrs.3 @@ -0,0 +1,76 @@ +.\" $Id: getlotrs.3,v 1.1 2002/08/06 14:17:24 pnt Exp $ +.\" @(#)getlotrs.2 2.11 91/08/22 ; Labo ASIM cao-vlsi; Author : Pierre Nguyen Tuong +.if t \{\ +.so man1/alc_contents.mac +.XS \n% +.ti 0.2i +getlotrs +.XE +.XS2 \n% +.ti 0.2i +getlotrs +.XE2 \} +.TH GETLOTRS 3 "August 6, 2002" "ASIM/LIP6" "MBK LOGICAL FUNCTIONS" +.SH NAME +getlotrs \- retrieve a logical transistor +.so man1/alc_origin.1 +.SH SYNOPSYS +.nf +.if n \{\ +.ft B \} +.if t \{\ +.ft CR \} +#include "mlo.h" +lotrs_list \(**getlotrs(ptfig, name) +lofig_list \(**ptfig; +const char \(**name; +.ft R +.fi +.SH PARAMETERS +.TP 20 +\fIptfig\fP +Pointer to the figure in which the transistor should be seeked +.TP +\fIname\fP +Instance name of the transistor +.SH DESCRIPTION +\fBgetlotrs\fP looks in the list of transistors of the logical model pointed +to by \fIptfig\fP for a transistor identified by its instance \fIname\fP. +.SH RETURN VALUE +\fBgetlotrs\fP returns a pointer to the given transistor. +.SH ERRORS +.if n \{\ +.ft B \} +.if t \{\ +.ft CR \} +"\(**\(**\(** mbk error \(**\(**\(** getlotrs impossible : +transistor \fIname\fP doesn't exist in figure \fIptfig\->NAME\fP" +.ft R +.RS +No transistor matches the name. +.RE +.SH EXAMPLE +.ta 3n 6n 9n 12n 15n 18n 21n +.nf +.if n \{\ +.ft B \} +.if t \{\ +.ft CR \} +#include "mlo.h" +lotrs_list \(**exist(figname, trsname) +char \(**figname, \(**trsname; +{ + return getlotrs(getlofig(figname), trsname); +} +.ft R +.fi +.SH SEE ALSO +.BR mbk (1), +.BR lofig (3), +.BR lotrs (3), +.BR addlotrs (3), +.BR dellotrs (3). + + +.so man1/alc_bug_report.1 + diff --git a/alliance/src/mbk/man3/lotrs.3 b/alliance/src/mbk/man3/lotrs.3 index ff01231e..e48ad332 100644 --- a/alliance/src/mbk/man3/lotrs.3 +++ b/alliance/src/mbk/man3/lotrs.3 @@ -1,4 +1,4 @@ -.\" $Id: lotrs.3,v 1.1 2002/03/08 13:51:03 fred Exp $ +.\" $Id: lotrs.3,v 1.2 2002/08/06 14:17:24 pnt Exp $ .\" @(#)lotrs.l 0.0 90/22/08 UPMC; Author: Frederic Petrot .if t \{\ .so man1/alc_contents.mac @@ -10,7 +10,7 @@ lotrs .ti 0.2i lotrs .XE2 \} -.TH LOTRS 3 "October 1, 1997" "ASIM/LIP6" "MBK LOGICAL STRUCTURE DEFINITIONS" +.TH LOTRS 3 "August 6, 2002" "ASIM/LIP6" "MBK LOGICAL STRUCTURE DEFINITIONS" .SH NAME lotrs \- mbk logical transistor .SH DESCRIPTION @@ -20,7 +20,7 @@ result of layout extractions. Since the only target technology is CMOS, only NMOS and PMOS transistors are used. .LP The declarations needed to work on \fBlotrs\fP are available in the header file -\fI"/labo/include/mlo404.h"\fP, where '\fI404\fP' is the actual mbk version. +\fI"/labo/include/mlo.h"\fP. .LP The following C structure supports the description of the logical transistor : .RS @@ -35,6 +35,8 @@ typedef struct lotrs { 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; @@ -61,6 +63,13 @@ of course unique. See \fBlocon\fP(3) for details. Pointer to the source connector of the transistor. This connector is, of course unique. See \fBlocon\fP(3) for details. .TP +\fIBULK\fP +Pointer to the bulk connector of the transistor. This connector is, +of course unique. See \fBlocon\fP(3) for details. +.TP +\fITRNAME\fP +Transistor instance name +.TP \fIX, Y\fP 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 @@ -83,7 +92,7 @@ transistor grid width in micron, then \fIlotrs->XS = As / Width * SCALE_X\fP .TP \fITYPE\fP -Canal type of the transistor. Two legal values are available : +Canal type of the transistor. Six legal values are available : .RS .TP 20 \fBTRANSN\fP @@ -91,6 +100,18 @@ N type MOS transistor .TP \fBTRANSP\fP P type MOS transistor +.TP +\fBTRANSN_FAST\fP +High speed N type MOS transistor +.TP +\fBTRANSP_FAST\fP +High speed P type MOS transistor +.TP +\fBTRANSN_HVIO\fP +Low Leakage N type MOS transistor +.TP +\fBTRANSP_HVIO\fP +Low Leakage P type MOS transistor .RE .TP \fIUSER\fP @@ -99,9 +120,8 @@ that is a general purpose pointer used to share informations on the transistor. .TP Remark : -The transistors do not have a bulk connector, since in integrated techniques -NMOS transistor bulk is always set to ground, and PMOS transistor bulk is -always set to positive supply. +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. .SH SEE ALSO .BR mbk (1), .BR addlotrs (3),