Changing the manuals after changing the function names, ...
This commit is contained in:
parent
459009667a
commit
90923304f0
|
@ -0,0 +1,81 @@
|
|||
.\" $Id: GENLIB_BUS.3,v 1.1 2000/09/28 15:19:48 fred Exp $
|
||||
.\" @(#)BUS.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
BUS
|
||||
.XE \}
|
||||
.TH BUS 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
BUS \- Creates a bus name for netlist
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
char \(**BUS(busname, from, to);
|
||||
char \(**busname;
|
||||
long from, to;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIbusname\fP
|
||||
Common signal name for a bus
|
||||
.TP
|
||||
\fIfrom\fP
|
||||
Starting index of the set of signal, \fIfrom\fP included
|
||||
.TP
|
||||
\fIto\fP
|
||||
Ending index of the set of signal, \fIto\fP included
|
||||
.SH DESCRIPTION
|
||||
\fIBUS\fP Creates a set of names, based upon a common name, valid for the
|
||||
genlib netlist
|
||||
functions that manipulate the signal, and/or connector, concept.
|
||||
They are:
|
||||
.RS
|
||||
\fBLOINS\fP(3)
|
||||
.br
|
||||
\fBLOCON\fP(3)
|
||||
.RE
|
||||
The \fIfrom, to\fP arguments give the boundaries of the bus to be created,
|
||||
both of them beeing included in the set. The function allows increasing or
|
||||
decreasing order busses, as one could expect.
|
||||
.br
|
||||
This function has a constant equivalent, it means that if the \fIfrom, to\fP
|
||||
values are known at compilation time, one should better use,
|
||||
for readability purposes, the "[n:m]" construct.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
int b = 0;
|
||||
int e = 12;
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_LOFIG("mycell");
|
||||
/\(** define interface \(**/
|
||||
LOCON(BUS("i", b, e), INPUT, BUS("sig", b, e);
|
||||
LOCON("o[2:0]", OUTPUT, "sigout[4:6]");
|
||||
/\(** Place an instance \(**/
|
||||
LOINS("model","instance", BUS("sig", e/2), "sigout[6]", EOL);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_LOFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR ELM (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,122 @@
|
|||
.\" $Id: GENLIB_COPY_UP_ALL_CON.3,v 1.1 2000/09/28 15:19:48 fred Exp $
|
||||
.\" @(#)COPY_UP_ALL_CON.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
COPY_UP_ALL_CON
|
||||
.XE \}
|
||||
.TH COPY_UP_ALL_CON 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
COPY_UP_ALL_CON \- copy all physical connectors of an instance face in the
|
||||
current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void COPY_UP_ALL_CON(face, insname, concatenate)
|
||||
char face, concatenate;
|
||||
char \(**insname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIface\fP
|
||||
Face of the instance
|
||||
.TP
|
||||
\fIinsname\fP
|
||||
Name of the instance the connector belongs to
|
||||
.TP
|
||||
\fIconcatenate\fP
|
||||
Indicates wheter or not to concatenate instance connectors names with instance
|
||||
name
|
||||
.SH DESCRIPTION
|
||||
\fBCOPY_UP_ALL_CON\fP copies all instance connectors of the face \fIface\fP of
|
||||
the placed instance called \fIinsname\fP into the current layout.
|
||||
The \fIconcatenate\fP argument may take two values:
|
||||
.TP 20
|
||||
\fBYES\fP
|
||||
then the resulting name of a connector in the current figure is the
|
||||
concatenation of the \fIinsname\fP and the \fIconname\fP.
|
||||
It warranties the unicity of name at the figure level, and is to be used
|
||||
most of the time.
|
||||
.TP
|
||||
\fBNO\fP
|
||||
implies a direct copy of the connector name.
|
||||
The user must take care of the unicity of connector name by itself.
|
||||
.br
|
||||
Two behaviour are expected, depending on each of the instance connectors
|
||||
location regarding the \fIabutment box\fP of the current figure.
|
||||
.TP 20
|
||||
Connector on the \fIabutment box\fP
|
||||
The figure connector is place right over the instance connector. The single
|
||||
connector is duplicated.
|
||||
.TP
|
||||
Connector inside the \fIabutment box\fP
|
||||
The instance connector face is computed in the figure, and then, the connector
|
||||
is duplicated \fIon\fP the given face, at the right coordinates for this face.
|
||||
Then a wire is drawn between the instance connector and the figure connector in
|
||||
the connector layer.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"COPY_UP_ALL_CON impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a connector inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"*** genlib error *** COPY_UP_ALL_CON impossible : connector \fIconname\fP face
|
||||
\fIface\fP of instance \fIinsname\fP, \fIcurrent\fP figure doesn't exist"
|
||||
.ft R
|
||||
.RS
|
||||
No connector matches both the \fIconname\fP and the \fIface\fP arguments.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
.
|
||||
.
|
||||
PLACE_LEFT("gaer0_f", "insN", SYMXY);
|
||||
.
|
||||
.
|
||||
DEF_AB(0L, 0L, 0L, 0L);
|
||||
/\(** Copy all connectors \(**/
|
||||
COPY_UP_ALL_CON(NORTH, "insN", YES);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR COPY_UP_CON (3),
|
||||
.BR COPY_UP_CON_FACE (3),
|
||||
.BR PHCON (3),
|
||||
.BR THRU_CON_H (3),
|
||||
.BR THRU_CON_V (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,127 @@
|
|||
.\" $Id: GENLIB_COPY_UP_ALL_REF.3,v 1.1 2000/09/28 15:19:49 fred Exp $
|
||||
.\" @(#)COPY_UP_ALL_REF.3 2.11 01/92; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
COPY_UP_ALL_REF
|
||||
.XE \}
|
||||
.TH COPY_UP_ALL_REF 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
COPY_UP_ALL_REF \- copy a several physical reference from an instance
|
||||
in the current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void COPY_UP_ALL_REF(reftype, insname, concatenate)
|
||||
char \(**reftype, \(**insname;
|
||||
char concatenate;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIreftype\fP
|
||||
Type of the references to be duplicated
|
||||
.TP
|
||||
\fIinsname\fP
|
||||
Name of the instance in the which the references is to be searched for
|
||||
.TP
|
||||
\fIconcatenate\fP
|
||||
Indicates whether or not to concatenate the instance name to the references
|
||||
names when copying
|
||||
.SH DESCRIPTION
|
||||
\fBCOPY_UP_ALL_REF\fP duplicates all the references of type \fIreftype\fP
|
||||
of the instance called \fIinsname\fP into the current layout cell.
|
||||
The main purpose of this function is to copy a set references in the upper
|
||||
hierarchical level, so it can be used as \fIvirtual\fP connector, for
|
||||
the data-path router.
|
||||
See \fBdpr\fP(1) for details.
|
||||
.br
|
||||
The \fIreftype\fP argument can take two values:
|
||||
.TP 20
|
||||
\fB"ref_con"\fP
|
||||
for virtual connectors
|
||||
.TP
|
||||
\fB"ref_ref"\fP
|
||||
for any other references
|
||||
.LP
|
||||
See the \fIleaf cells design for generators\fP document for details on
|
||||
reference types and usage.
|
||||
.br
|
||||
The \fIconcatenate\fP argument can take two values:
|
||||
.TP 20
|
||||
A\fBYES\fP
|
||||
indicates that the name of the copied references is concatenated to the
|
||||
instance name.
|
||||
.TP
|
||||
\fBNO\fP
|
||||
implies a direct duplication of the reference name
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"COPY_UP_ALL_REF impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a reference inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance \fIinsname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
The instance called \fIinsname\fP does not currently belong to the figure.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"COPY_UP_ALL_REF impossible : references of type \fIreftype\fP do not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No reference of type \fIreftype\fP exist in the model of the instance
|
||||
\fIinsname\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
PLACE("z2l_y", "r1", NOSYM, 23L, 54L);
|
||||
/\(** Put a reference \(**/
|
||||
COPY_UP_ALL_REF("ref_con", "r1", NO);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR dpr (1),
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PHREF (3),
|
||||
.BR COPY_UP_ALL_REF (3),
|
||||
.BR PLACE_CON_REF (3),
|
||||
.BR PLACE_SEG_REF (3),
|
||||
.BR PLACE_VIA_REF (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
.\" $Id: GENLIB_COPY_UP_CON.3,v 1.1 2000/09/28 15:19:49 fred Exp $
|
||||
.\" @(#)COPY_UP_CON.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
COPY_UP_CON
|
||||
.XE \}
|
||||
.TH COPY_UP_CON 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
COPY_UP_CON \- copy a physical connector from an instance in the
|
||||
current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void COPY_UP_CON(index, conname, insname, newname)
|
||||
long index;
|
||||
char \(**insname;
|
||||
char \(**conname;
|
||||
char \(**newname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIindex\fP
|
||||
Connector index in the instance
|
||||
.TP
|
||||
\fIconname\fP
|
||||
Name of the connector in the instance model
|
||||
.TP
|
||||
\fIinsname\fP
|
||||
Name of the instance the connector belongs to
|
||||
.TP
|
||||
\fInewname\fP
|
||||
Name to be given to the connector in the current figure
|
||||
.SH DESCRIPTION
|
||||
\fBCOPY_UP_CON\fP copies a instance connector into the current layout figure,
|
||||
and gives to the new connector the name \fInewname\fP. The instance connector
|
||||
is identified by its name, \fIconname\fP, and index, \fIindex\fP.
|
||||
.br
|
||||
Two behaviour are expected, depending on the instance connector location
|
||||
regarding the \fIabutment box\fP of the current figure.
|
||||
.TP 20
|
||||
Connector on the \fIabutment box\fP
|
||||
The figure connector is place right over the instance connector. The single
|
||||
connector is duplicated.
|
||||
.TP
|
||||
Connector inside the \fIabutment box\fP
|
||||
The instance connector face is computed in the figure, and then, the connector
|
||||
is duplicated \fIon\fP the given face, at the right coordinates for this face.
|
||||
Then a wire is drawn between the instance connector and the figure connector in
|
||||
the connector layer.
|
||||
.LP
|
||||
If \fInewname\fP is \fBNULL\fP, then not connector is copied up, on the segment
|
||||
is drawn to the side of the \fIabutment\fP box.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"COPY_UP_CON impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a connector inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"*** genlib error *** COPY_UP_CON impossible : connector \fIconname\fP index
|
||||
\fIindex\fP of instance \fIinsname\fP, \fIcurrent\fP figure doesn't exist"
|
||||
.ft R
|
||||
.RS
|
||||
The given connector does not exist in the current figure.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
.
|
||||
.
|
||||
PLACE_LEFT("gaer0_f", "insN", SYMXY);
|
||||
.
|
||||
.
|
||||
DEF_AB(0L, 0L, 0L, 0L);
|
||||
/\(** Put a connector \(**/
|
||||
COPY_UP_CON("i0", 1, "insN", "inz0");
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR COPY_UP_ALL_CON (3),
|
||||
.BR COPY_UP_CON_FACE (3),
|
||||
.BR PHCON (3),
|
||||
.BR THRU_CON_H (3),
|
||||
.BR THRU_CON_V (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
.\" $Id: GENLIB_COPY_UP_CON_FACE.3,v 1.1 2000/09/28 15:19:49 fred Exp $
|
||||
.\" @(#)COPY_UP_CON_FACE.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
COPY_UP_CON_FACE
|
||||
.XE \}
|
||||
.TH COPY_UP_CON_FACE 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
COPY_UP_CON_FACE \- copy a physical connector from an instance in the
|
||||
current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void COPY_UP_CON_FACE(face, conname, insname, newname)
|
||||
long index;
|
||||
char \(**insname;
|
||||
char \(**conname;
|
||||
char \(**newname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIface\fP
|
||||
Connector face in the instance
|
||||
.TP
|
||||
\fIconname\fP
|
||||
Name of the connector in the instance model
|
||||
.TP
|
||||
\fIinsname\fP
|
||||
Name of the instance the connector belongs to
|
||||
.TP
|
||||
\fInewname\fP
|
||||
Name to be given to the connector in the current figure
|
||||
.SH DESCRIPTION
|
||||
\fBCOPY_UP_CON_FACE\fP copies a instance connector into the current layout
|
||||
figure, and gives to the new connector the name \fInewname\fP.
|
||||
The \fIface\fP and \fIconname\fP arguments are not suffiscient for non
|
||||
ambiguiously identify a single connector.
|
||||
So, if more than one connector matches these arguments, the behaviour described
|
||||
below is applied on all of them.
|
||||
.br
|
||||
Two behaviour are expected, depending on the instance connector location
|
||||
regarding the \fIabutment box\fP of the current figure.
|
||||
.TP 20
|
||||
Connector on the \fIabutment box\fP
|
||||
The figure connector is place right over the instance connector. The single
|
||||
connector is duplicated.
|
||||
.TP
|
||||
Connector inside the \fIabutment box\fP
|
||||
The instance connector face is computed in the figure, and then, the connector
|
||||
is duplicated \fIon\fP the given face, at the right coordinates for this face.
|
||||
Then a wire is drawn between the instance connector and the figure connector in
|
||||
the connector layer.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"COPY_UP_CON_FACE impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a connector inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"*** genlib error *** COPY_UP_CON_FACE impossible : connector \fIconname\fP face
|
||||
\fIface\fP of instance \fIinsname\fP, \fIcurrent\fP figure doesn't exist"
|
||||
.ft R
|
||||
.RS
|
||||
No connector matches both the \fIconname\fP and the \fIface\fP arguments.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
.
|
||||
.
|
||||
PLACE_LEFT("gaer0_f", "insN", SYMXY);
|
||||
.
|
||||
.
|
||||
DEF_AB(0L, 0L, 0L, 0L);
|
||||
/\(** Put a connector \(**/
|
||||
COPY_UP_CON_FACE("i0", 1, "insN", "inz0");
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR COPY_UP_ALL_CON (3),
|
||||
.BR COPY_UP_CON (3),
|
||||
.BR PHCON (3),
|
||||
.BR THRU_CON_H (3),
|
||||
.BR THRU_CON_V (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
.\" $Id: GENLIB_COPY_UP_REF.3,v 1.1 2000/09/28 15:19:49 fred Exp $
|
||||
.\" @(#)COPY_UP_REF.3 2.11 01/92; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
COPY_UP_REF
|
||||
.XE \}
|
||||
.TH COPY_UP_REF 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
COPY_UP_REF \- copy a physical reference from an instance in the current
|
||||
figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void COPY_UP_REF(refname, insname, newname)
|
||||
char \(**refname, \(**insname, \(**newname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIrefname\fP
|
||||
Name of the reference in the instance
|
||||
.TP
|
||||
\fIinsname\fP
|
||||
Name of the instance in the which the reference is to be searched for
|
||||
.TP
|
||||
\fInewname\fP
|
||||
Name to be given to the reference in the current figure
|
||||
.SH DESCRIPTION
|
||||
\fBCOPY_UP_REF\fP adds a reference in the current layout cell.
|
||||
All the reference's attributes are copied from the first found reference
|
||||
called \fIrefname\fP in the instance \fIinsname\fP.
|
||||
The designer should avoid to give to several refences the same name if
|
||||
he plans to use this function.
|
||||
The new reference is given the name \fInewname\fP.
|
||||
The main purpose of this function is to copy a reference in the upper
|
||||
hierarchical level, so it can be used as \fIvirtual\fP connector, for
|
||||
the data-path router.
|
||||
See \fBdpr\fP(1) for details.
|
||||
layout.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"COPY_UP_REF impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a reference inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance \fIinsname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
The instance called \fIinsname\fP does not currently belong to the figure.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"COPY_UP_REF impossible : reference \fIrefname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
The reference \fIrefname\fP does not exist in the model of the instance
|
||||
\fIinsname\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
PLACE("z2l_y", "r1", NOSYM, 23L, 54L);
|
||||
/\(** Put a reference \(**/
|
||||
COPY_UP_REF("mux0_s", "r1", "out_s");
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR dpr (1),
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PHREF (3),
|
||||
.BR COPY_UP_ALL_REF (3),
|
||||
.BR PLACE_CON_REF (3),
|
||||
.BR PLACE_SEG_REF (3),
|
||||
.BR PLACE_VIA_REF (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
.\" $Id: GENLIB_COPY_UP_SEG.3,v 1.1 2000/09/28 15:19:50 fred Exp $
|
||||
.\" @(#)COPY_UP_SEG.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
COPY_UP_SEG
|
||||
.XE \}
|
||||
.TH COPY_UP_SEG 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
COPY_UP_SEG \- copy a physical segment from an instance in the current
|
||||
figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void COPY_UP_SEG(oldname, insname, newname)
|
||||
char \(**oldname, \(**insname, \(**newname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIoldname\fP
|
||||
Name of the segment in the instance
|
||||
.TP
|
||||
\fIinsname\fP
|
||||
Name of the instance in the which the segment is to be searched for
|
||||
.TP
|
||||
\fInewname\fP
|
||||
Name to be given to the segment in the current figure
|
||||
.SH DESCRIPTION
|
||||
\fBCOPY_UP_SEG\fP adds a segment in the current layout cell.
|
||||
All the segment's attributes are copied from the first found segment called
|
||||
\fIoldname\fP in the instance \fIinsname\fP.
|
||||
The new segment is given the name \fInewname\fP. The main purpose of this
|
||||
function is to rename a segment, so it can be used later, when extracting a
|
||||
layout.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"COPY_UP_SEG impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a segment inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance \fIinsname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
The instance called \fIinsname\fP does not currently belong to the figure.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"COPY_UP_SEG impossible : segment \fIsegname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
The segment \fIsegname\fP does not exist in the model of the instance
|
||||
\fIinsname\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
PLACE("z2l_y", "r1", NOSYM, 23L, 54L);
|
||||
/\(** Put a segment \(**/
|
||||
COPY_UP_SEG("mux0_s", "r1", "out_s");
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PHSEG (3),
|
||||
.BR THRU_H (3),
|
||||
.BR THRU_CON_H (3),
|
||||
.BR THRU_V (3),
|
||||
.BR THRU_CON_V (3),
|
||||
.BR WIRE1 (3),
|
||||
.BR WIRE2 (3),
|
||||
.BR WIRE3 (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
.\" $Id: GENLIB_DEF_AB.3,v 1.1 2000/09/28 15:19:50 fred Exp $
|
||||
.\" @(#)DEF_AB.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
DEF_AB
|
||||
.XE \}
|
||||
.TH DEF_AB 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
DEF_AB \- define a new \fIabutment box\fP to the current layout cell
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void DEF_AB(dx1, dy1, dx2, dy2);
|
||||
long dx1, dy1, dx2, dy2;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIdx1, dy1\fP
|
||||
Values to be added to the lower left corner of the previous \fIabutment box\fP
|
||||
.TP
|
||||
\fIdx2, dy2\fP
|
||||
Values to be added to the upper right corner of the previous \fIabutment box\fP
|
||||
.SH DESCRIPTION
|
||||
\fBDEF_AB\fP give a new \fIabutment box\fP to the current physical cell.
|
||||
The coordinates of
|
||||
the \fIabutment box\fP are the coordinates of the envelop of the \fIabutment boxes\fP of
|
||||
each instance plus the delta values given as argument. The \fI(dx1, dy1)\fP
|
||||
values are added to the (x1, y1) coordinates of the bottom left corner of the
|
||||
\fI"standard abutment box"\fP (the envelop), and the \fI(dx2, dy2)\fP
|
||||
are added to the top right ones.
|
||||
You have to call this function before saving, otherwise the figure will not
|
||||
have an \fIabutment box\fP. Since it's regarding the \fIabutment box\fP
|
||||
of its model that an instance is placed, any futher use of this figure
|
||||
will be incorrect if \fBDEF_AB\fP isn't called, or properly defined.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"DEF_AB impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to give it a size.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
/\(** Place an instance \(**/
|
||||
PLACE("model","i1", NOSYM,0L,0L);
|
||||
PLACE("model","i2", NOSYM,120L,40L);
|
||||
DEF_PHINS("i1");
|
||||
PLACE_TOP("model2", "i3", NOSYM);
|
||||
/\(** define the new abutment box as the standard envelop \(**/
|
||||
DEF_AB(0, 0, 0, 0);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR SAVE_PHFIG (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
.\" $Id: GENLIB_DEF_LOFIG.3,v 1.1 2000/09/28 15:19:50 fred Exp $
|
||||
.\" @(#)DEF_LOFIG.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
DEF_LOFIG
|
||||
.XE \}
|
||||
.TH DEF_LOFIG 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
DEF_LOFIG \- open a netlist model as current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void DEF_LOFIG(cellname)
|
||||
char \(**cellname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIcellname\fP
|
||||
Name of the cell which all futher calls to genlib logical functions will work on
|
||||
.SH DESCRIPTION
|
||||
\fBDEF_LOFIG\fP defines the current working structural figure by it's name,
|
||||
the \fIcellname\fP argument. It can be use anywhere in the \fBgenlib\fP
|
||||
program, but must appear at least once at the top of it, since it also
|
||||
initalize the user's preferences through environment variables.
|
||||
.br
|
||||
If the figure called cellname doesn't exists in memory, it is created.
|
||||
If it already exists in memory, it makes it the current working figure.
|
||||
\fBDEF_LOFIG\fP doesn't look on disk for the figure \fIcellname\fP,
|
||||
so be careful not to overwrite an existing file while saving later on.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_LOFIG("cell");
|
||||
/\(** Place an instance \(**/
|
||||
LOINS("model","instance", "sig1", "sig2", "sig3", "vdd", "vss", EOL);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_LOFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR SAVE_LOFIG (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
.\" $Id: GENLIB_DEF_PHFIG.3,v 1.1 2000/09/28 15:19:50 fred Exp $
|
||||
.\" @(#)DEF_PHFIG.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
DEF_PHFIG
|
||||
.XE \}
|
||||
.TH DEF_PHFIG 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
DEF_PHFIG \- open a layout model as current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void DEF_PHFIG(cellname)
|
||||
char \(**cellname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIcellname\fP
|
||||
Name of the cell which all futher calls to genlib physical functions will work on
|
||||
.SH DESCRIPTION
|
||||
\fBDEF_PHFIG\fP defines the current physical working figure by it's name,
|
||||
the \fIcellname\fP argument. It can be use anywhere in the \fBgenlib\fP
|
||||
program, but must appear at least once at the top of it, since it also
|
||||
initalize the user's preferences through environment variables.
|
||||
.br
|
||||
If the figure called cellname doesn't exists in memory, it is created.
|
||||
If it already exists in memory, it makes it the current working figure.
|
||||
\fBDEF_PHFIG\fP doesn't look on disk for the figure \fIcellname\fP,
|
||||
so be careful not to overwrite an existing file while saving later on.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("mycell");
|
||||
/\(** Place an instance \(**/
|
||||
PLACE("mymodel","firstinstance", NOSYM,0L,0L);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHSC (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
.\" $Id: GENLIB_DEF_PHINS.3,v 1.1 2000/09/28 15:19:50 fred Exp $
|
||||
.\" @(#)DEF_PHINS.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
DEF_PHINS
|
||||
.XE \}
|
||||
.TH DEF_PHINS 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
DEF_PHINS \- define a new reference instance
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void DEF_PHINS(instancename);
|
||||
char \(**instancename;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinstancename\fP
|
||||
Defines the instance called \fIinstancename\fP as the new "reference instance"
|
||||
.SH DESCRIPTION
|
||||
\fBDEF_PHINS\fP define the new "reference instance", used as starting point
|
||||
in the relative placement functions of genlib. It's regarding the \fBabutment
|
||||
box\fP of the instance \fIinstancename\fP that the next instance is going to be
|
||||
placed, if using the appropriate functions. Notice that the more recently
|
||||
placed instance becomes automaticaly the "reference instance", if
|
||||
\fBDEF_PHINS\fP isn't called.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"DEF_PHINS impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to refer to an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"instance instancename doesn't exist in current figure"
|
||||
.ft R
|
||||
.RS
|
||||
The instance \fIinstancename\fP hasn't currently been placed in the figure,
|
||||
so it's impossible do to any placement from it.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
/\(** Place an instance \(**/
|
||||
PLACE("model","i1", NOSYM,0L,0L);
|
||||
PLACE("model","i2", NOSYM,120L,40L);
|
||||
DEF_PHINS("i1");
|
||||
PLACE_TOP("model2", "i3", NOSYM);
|
||||
DEF_AB(0, 0, 0, 0);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR PLACE (3),
|
||||
.BR PLACE_TOP (3),
|
||||
.BR PLACE_RIGHT (3),
|
||||
.BR PLACE_LEFT (3),
|
||||
.BR PLACE_BOTTOM (3),
|
||||
.BR SC_PLACE (3),
|
||||
.BR SC_TOP (3),
|
||||
.BR SC_RIGHT (3),
|
||||
.BR SC_LEFT (3),
|
||||
.BR SC_BOTTOM (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
.\" $Id: GENLIB_DEF_PHSC.3,v 1.1 2000/09/28 15:19:51 fred Exp $
|
||||
.\" @(#)DEF_PHSC.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
DEF_PHSC
|
||||
.XE \}
|
||||
.TH DEF_PHSC 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
DEF_PHSC \- load a netlist and open a layout model as current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void DEF_PHSC(cellname)
|
||||
char \(**cellname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIcellname\fP
|
||||
Name of the netlist figure to be looked for in memory or on disk, for
|
||||
futher physical placement.
|
||||
.SH DESCRIPTION
|
||||
\fBDEF_PHSC\fP defines the current working figure by it's name,
|
||||
the \fIcellname\fP argument, for layout and netlist operations.
|
||||
It can be use anywhere in the \fBgenlib\fP
|
||||
program, but must appear at least once at the top of it, since it also
|
||||
initalize the user's preferences through environment variables.
|
||||
.br
|
||||
\fBDEF_PHSC\fP looks for the netlist figure \fIcellname\fP in memory, and if
|
||||
not found, on disk. If it fails, an error occurs and the process terminates.
|
||||
.br
|
||||
The main issue of this function is to allow the netlist and physical
|
||||
descriptions of a circuit in two separate files,
|
||||
for standard cell approach. So there is
|
||||
no need to recreate the netlist view each time the placement changes.
|
||||
.br
|
||||
If the physical figure called \fIcellname\fP doesn't exists in memory,
|
||||
it is created.
|
||||
If it already exists in memory, it makes it the current working figure.
|
||||
\fBDEF_PHSC\fP doesn't look on disk for the figure \fIcellname\fP,
|
||||
so be careful not to overwrite an existing file while saving later on.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHSC("mycell");
|
||||
/\(** Place an instance \(**/
|
||||
SC_PLACE("instance", NOSYM,0L,0L);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHSC();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR SAVE_PHSC (3),
|
||||
.BR SC_PLACE (3),
|
||||
.BR SC_TOP (3),
|
||||
.BR SC_BOTTOM (3),
|
||||
.BR SC_LEFT (3),
|
||||
.BR SC_RIGHT (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
.\" $Id: GENLIB_ELM.3,v 1.1 2000/09/28 15:19:51 fred Exp $
|
||||
.\" @(#)ELM.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
ELM
|
||||
.XE \}
|
||||
.TH ELM 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
ELM \- Creates a single element bus name for netlist
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
char \(**ELM(busname, index);
|
||||
char \(**busname;
|
||||
long index;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIbusname\fP
|
||||
Common signal name for a bus
|
||||
.TP 20
|
||||
\fIindex\fP
|
||||
Index of the demanded signal belonging to the bus
|
||||
.SH DESCRIPTION
|
||||
\fIELM\fP Creates a single element bus names valid for the genlib netlist
|
||||
functions that manipulate the signal, and/or connector, concept.
|
||||
They are:
|
||||
.RS
|
||||
\fBLOINS\fP(3)
|
||||
.br
|
||||
\fBLOCON\fP(3)
|
||||
.RE
|
||||
The \fIindex\fP argument gives the index of the name to be created.
|
||||
.br
|
||||
This function has a constant equivalent, it means that if the \fIindex\fP
|
||||
value is known at compilation time, one should better use,
|
||||
for readability purposes, the "[n]" construct.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
int b = 0;
|
||||
int e = 12;
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_LOFIG("mycell");
|
||||
/\(** define interface \(**/
|
||||
LOCON(BUS("i", b, e), INPUT, BUS("sig", b, e);
|
||||
LOCON("o[2:0]", OUTPUT, "sigout[4:6]");
|
||||
/\(** Place an instance \(**/
|
||||
LOINS("model","instance", ELM("sig", e/2), "sigout[6]", EOL);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_LOFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR BUS (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
.\" $Id: GENLIB_FLATTEN_ALL_LOINS.3,v 1.1 2000/09/28 15:19:51 fred Exp $
|
||||
.\" @(#)FLATTEN_ALL_LOINS.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
FLATTEN_ALL_LOINS
|
||||
.XE \}
|
||||
.TH FLATTEN_ALL_LOINS 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
FLATTEN_ALL_LOINS \- flatten all instances in the current netlist figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void FLATTEN_ALL_LOINS(concat)
|
||||
char concat;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETER
|
||||
.TP 20
|
||||
\fIconcat\fP
|
||||
Indicate whether or not to concatenate instance name to instance' objects name
|
||||
.SH DESCRIPTION
|
||||
\fBFLATTEN_ALL_LOINS\fP inserts the contents of all the instances of the
|
||||
current figure in the current figure.
|
||||
All these instances are destroyed during the process, and therefore cannot be
|
||||
refered to later in the netlist description.
|
||||
.br
|
||||
The \fIconcat\fP parameter may take two values:
|
||||
.TP
|
||||
\fBYES\fP
|
||||
to concatenate object name with instance names.
|
||||
.TP
|
||||
\fBNO\fP
|
||||
to copy object names.
|
||||
.LP
|
||||
In most case, the \fIconcat\fP value must be \fBYES\fP, in order to warranty
|
||||
the unicity of names in the figure.
|
||||
It may otherwise fail, because the function would try to add in the current
|
||||
figure some object with an already existing name.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_LOFIG("mycell");
|
||||
.
|
||||
.
|
||||
.
|
||||
/\(** Place an instance \(**/
|
||||
LOINS("model","instance", "sig1", "sig2", EOL);
|
||||
/\(** flatten all figure instance \(**/
|
||||
FLATTEN_ALL_LOINS(YES);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_LOFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR LOINS (3)
|
||||
.BR FLATTEN_LOFIG (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
.\" $Id: GENLIB_FLATTEN_ALL_PHINS.3,v 1.1 2000/09/28 15:19:51 fred Exp $
|
||||
.\" @(#)FLATTEN_ALL_PHINS.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
FLATTEN_ALL_PHINS
|
||||
.XE \}
|
||||
.TH FLATTEN_ALL_PHINS 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
FLATTEN_ALL_PHINS \- flatten all instances in the current layout figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void FLATTEN_ALL_PHINS(concat, catal)
|
||||
char concat, catal;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETER
|
||||
.TP 20
|
||||
\fIconcat\fP
|
||||
Indicate whether or not to concatenate instance name to instance' objects name
|
||||
.TP 20
|
||||
\fIconcat\fP
|
||||
Indicate whether or not to look in the catalog file before flattening a cell
|
||||
.SH DESCRIPTION
|
||||
\fBFLATTEN_ALL_PHINS\fP inserts the contents of all the instances of the
|
||||
current figure in the current figure.
|
||||
All these instances are destroyed during the process, and therefore cannot be
|
||||
refered to later in the layout description.
|
||||
.br
|
||||
The \fIconcat\fP parameter may take two values:
|
||||
.TP
|
||||
\fBYES\fP
|
||||
to concatenate object name with instance names.
|
||||
.TP
|
||||
\fBNO\fP
|
||||
to copy object names.
|
||||
.LP
|
||||
In most case, the \fIconcat\fP value must be \fBYES\fP, in order to warranty
|
||||
the unicity of names in the figure.
|
||||
It may otherwise fail, because the function would try to add in the current
|
||||
figure some object with an already existing name.
|
||||
.br
|
||||
The \fIcatal\fP parameter may also take two values:
|
||||
.TP
|
||||
\fBYES\fP
|
||||
to check the catalog file to see if the model of an instance is in it.
|
||||
If the model belong to the catalog, then it is \fInot\fR flattened.
|
||||
.TP
|
||||
\fBNO\fP
|
||||
in this case, no checks are done, and every instance is flattened.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("mycell");
|
||||
.
|
||||
.
|
||||
.
|
||||
/\(** Place an instance \(**/
|
||||
PHINS("model","instance", "sig1", "sig2", EOL);
|
||||
/\(** flatten all figure instance \(**/
|
||||
FLATTEN_ALL_PHINS(YES, YES);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR PLACE (3),
|
||||
.BR PLACE_LEFT (3),
|
||||
.BR PLACE_RIGHT (3),
|
||||
.BR PLACE_TOP (3),
|
||||
.BR PLACE_BOTTOM (3),
|
||||
.BR PLACE_ON (3),
|
||||
.BR FLATTEN_PHFIG (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
.\" $Id: GENLIB_FLATTEN_LOFIG.3,v 1.1 2000/09/28 15:19:51 fred Exp $
|
||||
.\" @(#)FLATTEN_LOFIG.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
FLATTEN_LOFIG
|
||||
.XE \}
|
||||
.TH FLATTEN_LOFIG 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
FLATTEN_LOFIG \- flatten an instance in the current netlist figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void FLATTEN_LOFIG(insname,concat)
|
||||
char \(**insname;
|
||||
char concat;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name of the instance to be flattened
|
||||
.TP
|
||||
\fIconcat\fP
|
||||
Indicate whether or not to concatenate instance name to instance' objects name
|
||||
.SH DESCRIPTION
|
||||
\fBFLATTEN_LOFIG\fP inserts the contents of an instance, but its connectors,
|
||||
in the current figure, and then destroys the instance.
|
||||
.br
|
||||
The \fIconcat\fP parameter may take two values:
|
||||
.TP
|
||||
\fBYES\fP
|
||||
to concatenate object name with instance names.
|
||||
.TP
|
||||
\fBNO\fP
|
||||
to copy object names.
|
||||
.LP
|
||||
In most case, the \fIconcat\fP value must be \fBYES\fP, in order to warranty
|
||||
the unicity of names in the figure.
|
||||
It may otherwise fail, because the function would try to add in the current
|
||||
figure some object with an already existing name.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_LOFIG("mycell");
|
||||
.
|
||||
.
|
||||
.
|
||||
/\(** Place an instance \(**/
|
||||
LOINS("model","instance", "sig1", "sig2", EOL);
|
||||
/\(** flatten an instance \(**/
|
||||
FLATTEN_LOFIG("instance", YES);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_LOFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR UNFLATTEN_LOFIG (3).
|
||||
.BR LOINS (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
.\" $Id: GENLIB_FLATTEN_PHFIG.3,v 1.1 2000/09/28 15:19:52 fred Exp $
|
||||
.\" @(#)FLATTEN_PHFIG.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
FLATTEN_PHFIG
|
||||
.XE \}
|
||||
.TH FLATTEN_PHFIG 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
FLATTEN_PHFIG \- flatten an instance in the current layout figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void FLATTEN_PHFIG(insname,concat)
|
||||
char \(**insname;
|
||||
char concat;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name of the instance to be flattened
|
||||
.TP
|
||||
\fIconcat\fP
|
||||
Indicate whether or not to concatenate instance name to instance' objects name
|
||||
.SH DESCRIPTION
|
||||
\fBFLATTEN_PHFIG\fP inserts the contents of an instance, but its connectors,
|
||||
in the current figure, and then destroys the instance.
|
||||
.br
|
||||
The \fIconcat\fP parameter may take two values:
|
||||
.TP 20
|
||||
\fBYES\fP
|
||||
to concatenate object name with instance names.
|
||||
.TP
|
||||
\fBNO\fP
|
||||
to copy object names.
|
||||
.LP
|
||||
In most case, the \fIconcat\fP value must be \fBYES\fP, in order to warranty
|
||||
the unicity of names in the figure.
|
||||
It may otherwise fail, because the function would try to add in the current
|
||||
figure some object with an already existing name.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("mycell");
|
||||
.
|
||||
.
|
||||
.
|
||||
/\(** Place an instance \(**/
|
||||
PLACE("model","instance", SYM_X, 0, 0);
|
||||
/\(** flatten an instance \(**/
|
||||
FLATTEN_PHFIG("instance", YES);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR LOINS (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
.\" $Id: GENLIB_GET_CON_X.3,v 1.1 2000/09/28 15:19:52 fred Exp $
|
||||
.\" @(#)GET_CON_X.3 2.11 01/92; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
GET_CON_X
|
||||
.XE \}
|
||||
.TH GET_CON_X 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
GET_CON_X \- retrieve the x coordinate of an instance connector
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
long GET_CON_X(insname, conname, index)
|
||||
char \(**insname, \(**conname;
|
||||
long index;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name of the instance in the which the connector is to be searched for
|
||||
.TP
|
||||
\fIconname\fP
|
||||
Name of the connector
|
||||
.TP
|
||||
\fIindex\fP
|
||||
Connector index
|
||||
.SH DESCRIPTION
|
||||
\fBGET_CON_X\fP looks for
|
||||
the connector, \fIconname\fP, in the instance called \fIinsname\fP.
|
||||
Then it computes its absolute coordinates in the figure, and gives back the
|
||||
x coordinate.
|
||||
.SH RETURN VALUE
|
||||
The function returns a long int beeing the x position of the connector
|
||||
in the current figure
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"GET_CON_X impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a connector inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance called \fIinsname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No instance called \fIinsname\fP exists in the current figure.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphcon : connectors \fIconname\fP, index \fIindex\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No connector called \fIconname\fP exists in the model of the instance
|
||||
\fIinsname\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
long x, y;
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
PLACE("gaci0_b", "r1", NOSYM, 23L, 54L);
|
||||
/\(** Get a connector \(**/
|
||||
x = GET_CON_X("r1", "a", 1);
|
||||
.
|
||||
.
|
||||
PHVIA(x, y, CONT_VIA);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PHCON (3),
|
||||
.BR PHSEG (3),
|
||||
.BR COPY_UP_CON (3),
|
||||
.BR COPY_UP_ALL_CON (3),
|
||||
.BR GET_CON_Y (3),
|
||||
.BR GET_REF_X (3),
|
||||
.BR GET_REF_Y (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
.\" $Id: GENLIB_GET_CON_Y.3,v 1.1 2000/09/28 15:19:52 fred Exp $
|
||||
.\" @(#)GET_CON_Y.3 2.11 01/92; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
GET_CON_Y
|
||||
.XE \}
|
||||
.TH GET_CON_Y 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
GET_CON_Y \- retrieve the x coordinate of an instance connector
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
long GET_CON_Y(insname, conname, index)
|
||||
char \(**insname, \(**conname;
|
||||
long index;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name of the instance in the which the connector is to be searched for
|
||||
.TP
|
||||
\fIconname\fP
|
||||
Name of the connector
|
||||
.TP
|
||||
\fIindex\fP
|
||||
Connector index
|
||||
.SH DESCRIPTION
|
||||
\fBGET_CON_Y\fP looks for
|
||||
the connector, \fIconname\fP, in the instance called \fIinsname\fP.
|
||||
Then it computes its absolute coordinates in the figure, and gives back the
|
||||
y coordinate.
|
||||
.SH RETURN VALUE
|
||||
The function returns a long int beeing the y position of the connector
|
||||
in the current figure
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"GET_CON_Y impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a connector inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance called \fIinsname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No instance called \fIinsname\fP exists in the current figure.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphcon : connectors \fIconname\fP, index \fIindex\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No connector called \fIconname\fP exists in the model of the instance
|
||||
\fIinsname\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
long x, y;
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
PLACE("gaci0_b", "r1", NOSYM, 23L, 54L);
|
||||
/\(** Get a connector \(**/
|
||||
y = GET_CON_Y("r1", "a", 1);
|
||||
.
|
||||
.
|
||||
PHVIA(x, y, CONT_VIA);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PHCON (3),
|
||||
.BR PHSEG (3),
|
||||
.BR COPY_UP_CON (3),
|
||||
.BR COPY_UP_ALL_CON (3),
|
||||
.BR GET_CON_X (3),
|
||||
.BR GET_REF_X (3),
|
||||
.BR GET_REF_Y (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
.\" $Id: GENLIB_GET_INS_X.3,v 1.1 2000/09/28 15:19:52 fred Exp $
|
||||
.\" @(#)GET_INS_X.3 2.11 01/92; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
GET_INS_X
|
||||
.XE \}
|
||||
.TH GET_INS_X 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
GET_INS_X \- retrieve the x coordinate of an instance
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
long GET_INS_X(insname)
|
||||
char \(**insname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETER
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name of the instance which x coordinate is to be given back
|
||||
.SH DESCRIPTION
|
||||
\fBGET_INS_X\fP looks for
|
||||
the instance called \fIinsname\fP in the current figure.
|
||||
Then it computes its absolute coordinates in the figure, and gives back its
|
||||
x coordinate.
|
||||
.SH RETURN VALUE
|
||||
The function returns a long int beeing the x position of the instance
|
||||
in the current figure
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"GET_INS_X impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a connector inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance called \fIinsname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No instance called \fIinsname\fP exists in the current figure.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
long x, y;
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
PLACE("gaci0_b", "r1", NOSYM, 23L, 54L);
|
||||
PLACE_TOP("gaci0_b", "r2", SYM_X);
|
||||
PLACE_RIGHT("gaci0_b", "r3", SYM_Y);
|
||||
/\(** Get a connector \(**/
|
||||
x = GET_INS_X("r3");
|
||||
y = GET_INS_Y("r3");
|
||||
.
|
||||
.
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PHINS (3),
|
||||
.BR GET_INS_Y (3),
|
||||
.BR GET_CON_X (3),
|
||||
.BR GET_CON_Y (3).
|
||||
.BR GET_REF_X (3),
|
||||
.BR GET_REF_Y (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
.\" $Id: GENLIB_GET_INS_Y.3,v 1.1 2000/09/28 15:19:53 fred Exp $
|
||||
.\" @(#)GET_INS_Y.3 2.11 01/92; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
GET_INS_Y
|
||||
.XE \}
|
||||
.TH GET_INS_Y 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
GET_INS_Y \- retrieve the y coordinate of an instance
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
long GET_INS_Y(insname)
|
||||
char \(**insname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETER
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name of the instance which y coordinate is to be given back
|
||||
.SH DESCRIPTION
|
||||
\fBGET_INS_Y\fP looks for
|
||||
the instance called \fIinsname\fP in the current figure.
|
||||
Then it computes its absolute coordinates in the figure, and gives back its
|
||||
y coordinate.
|
||||
.SH RETURN VALUE
|
||||
The function returns a long int beeing the y position of the instance
|
||||
in the current figure
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"GET_INS_Y impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a connector inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance called \fIinsname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No instance called \fIinsname\fP exists in the current figure.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
long x, y;
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
PLACE("gaci0_b", "r1", NOSYM, 23L, 54L);
|
||||
PLACE_TOP("gaci0_b", "r2", SYM_Y);
|
||||
PLACE_RIGHT("gaci0_b", "r3", SYM_Y);
|
||||
/\(** Get a connector \(**/
|
||||
x = GET_INS_X("r3");
|
||||
y = GET_INS_Y("r3");
|
||||
.
|
||||
.
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PHINS (3),
|
||||
.BR GET_INS_X (3),
|
||||
.BR GET_CON_X (3),
|
||||
.BR GET_CON_Y (3).
|
||||
.BR GET_REF_X (3),
|
||||
.BR GET_REF_Y (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
.\" $Id: GENLIB_GET_REF_X.3,v 1.1 2000/09/28 15:19:53 fred Exp $
|
||||
.\" @(#)GET_REF_X.3 2.11 01/92; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
GET_REF_X
|
||||
.XE \}
|
||||
.TH GET_REF_X 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
GET_REF_X \- retrieve the x coordinate of an instance reference
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
long GET_REF_X(insname, refname)
|
||||
char \(**insname, \(**refname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name of the instance in the which the reference is to be searched for
|
||||
.TP
|
||||
\fIrefname\fP
|
||||
Name of the reference
|
||||
SH DESCRIPTION
|
||||
\fBGET_REF_X\fP looks for
|
||||
the reference, \fIrefname\fP, in the instance called \fIinsname\fP.
|
||||
.SH RETURN VALUE
|
||||
The function returns a long int beeing the x position of the reference
|
||||
in the current figure
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"GET_REF_X impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a reference inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"GET_REF_X impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a reference inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"GET_REF_X impossible : no abutment box"
|
||||
.ft R
|
||||
.RS
|
||||
The current figure does not have an \fIabutment box\fI. Use \fIDEF_AB\fP(3)
|
||||
before this function.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal GET_REF_X : orientation is XX"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIface\fP parameter does not have a legal value, but \fIXX\fP.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance called \fIinsname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No instance called \fIinsname\fP exists in the current figure
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphref : references called \fIrefname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No reference called \fIrefname\fP exists in the model of the instance
|
||||
\fIinsname\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
PLACE("gaci0_b", "r1", NOSYM, 23L, 54L);
|
||||
/\(** Put a reference \(**/
|
||||
GET_REF_X("r1", "a_0", ALU2, 2, NORTH);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PHREF (3),
|
||||
.BR PHSEG (3),
|
||||
.BR COPY_UP_REF (3),
|
||||
.BR COPY_UP_ALL_REF (3),
|
||||
.BR GET_REF_X (3),
|
||||
.BR GET_REF_X (3),
|
||||
.BR GET_REF_X (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
.\" $Id: GENLIB_GET_REF_Y.3,v 1.1 2000/09/28 15:19:53 fred Exp $
|
||||
.\" @(#)GET_REF_Y.3 2.11 01/92; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
GET_REF_Y
|
||||
.XE \}
|
||||
.TH GET_REF_Y 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
GET_REF_Y \- retrieve the y coordinate of an instance reference
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
long GET_REF_Y(insname, refname)
|
||||
char \(**insname, \(**refname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name of the instance in the which the reference is to be searched for
|
||||
.TP
|
||||
\fIrefname\fP
|
||||
Name of the reference
|
||||
.SH DESCRIPTION
|
||||
\fBGET_REF_Y\fP looks for
|
||||
the reference, \fIrefname\fP, in the instance called \fIinsname\fP.
|
||||
Then it computes its absolute coordinates in the figure, and gives back the
|
||||
y coordinate.
|
||||
.SH RETURN VALUE
|
||||
The function returns a long int beeing the y position of the reference
|
||||
in the current figure
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"GET_REF_Y impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a reference inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance called \fIinsname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No instance called \fIinsname\fP exists in the current figure.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphref : references called \fIrefname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No reference called \fIrefname\fP exists in the model of the instance
|
||||
\fIinsname\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
long x, y;
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
PLACE("gaci0_b", "r1", NOSYM, 23L, 54L);
|
||||
/\(** Get a reference \(**/
|
||||
y = GET_REF_Y("r1", "a_0");
|
||||
.
|
||||
.
|
||||
PHVIA(x, y, CONT_VIA);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PHREF (3),
|
||||
.BR PHSEG (3),
|
||||
.BR COPY_UP_REF (3),
|
||||
.BR COPY_UP_ALL_REF (3),
|
||||
.BR GET_CON_X (3),
|
||||
.BR GET_CON_Y (3),
|
||||
.BR GET_REF_X (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
.\" $Id: GENLIB_HEIGHT.3,v 1.1 2000/09/28 15:19:53 fred Exp $
|
||||
.\" @(#)HEIGHT.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
HEIGHT
|
||||
.XE \}
|
||||
.TH HEIGHT 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
HEIGHT \- compute the height of a model
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
long HEIGHT(cellname)
|
||||
char \(**cellname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIcellname\fP
|
||||
Name of the cell which height is needed
|
||||
.SH DESCRIPTION
|
||||
\fBHEIGHT\fP looks for the figure called \fIcellname\fP on memory, and then on
|
||||
disk. When found, the figure \fIabutment box\fP height is calculated, and
|
||||
returned.
|
||||
.SH RETURN VALUE
|
||||
\fIHEIGHT\fP returns a long int beeing the cell \fIabutment box\fP height.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
long cellHeight;
|
||||
main()
|
||||
{
|
||||
cellHeight = HEIGHT("mycell");
|
||||
DEF_PHFIG("grumf_z");
|
||||
PLACE("na2_y","ins1", NOSYM, 3 * cellHeight, 0L);
|
||||
/\(** Save all that on disk \(**/
|
||||
DEF_AB(0L, 0L, 0L, 0L);
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR WIDTH (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
.\" $Id: GENLIB_LOAD_LOFIG.3,v 1.1 2000/09/28 15:19:53 fred Exp $
|
||||
.\" @(#)LOAD_LOFIG.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
LOAD_LOFIG
|
||||
.XE \}
|
||||
.TH LOAD_LOFIG 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
LOAD_LOFIG \- loads a netlist form disk and opens it as current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void LOAD_LOFIG(cellname)
|
||||
char \(**cellname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIcellname\fP
|
||||
Name of the cell which all futher calls to genlib logical functions will
|
||||
work on
|
||||
.SH DESCRIPTION
|
||||
\fBLOAD_LOFIG\fP loads a netlist from disk and defines it as current working
|
||||
structural figure.
|
||||
This overrides the working figure initialized by \fBDEF_LOFIG\fP(3), if any.
|
||||
So the next call to \fBSAVE_LOFIG\fP will save the cell called \fIcellname\fP.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Loads the figure to work on \(**/
|
||||
LOAD_LOFIG("cell");
|
||||
/\(** Add an instance in cell \(**/
|
||||
LOINS("model","instance", "sig1", "sig2", "sig3", "vdd", "vss", EOL);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_LOFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_LOFIG (3).
|
||||
.BR SAVE_LOFIG (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
.\" $Id: GENLIB_LOAD_PHFIG.3,v 1.1 2000/09/28 15:19:54 fred Exp $
|
||||
.\" @(#)LOAD_PHFIG.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
LOAD_PHFIG
|
||||
.XE \}
|
||||
.TH LOAD_PHFIG 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
\fBPHAD_PHFIG\fP \- loads a layout form disk and opens it as current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void LOAD_PHFIG(cellname)
|
||||
char \(**cellname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIcellname\fP
|
||||
Name of the cell which all futher calls to genlib layout functions will
|
||||
work on
|
||||
.SH DESCRIPTION
|
||||
\fBPHAD_PHFIG\fP loads a physical view from disk and defines it as current
|
||||
working layout figure.
|
||||
This overrides the working figure initialized by \fBDEF_PHFIG\fP(3), if any.
|
||||
So the next call to \fBSAVE_PHFIG\fP will save the cell called \fIcellname\fP.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Loads the figure to work on \(**/
|
||||
LOAD_PHFIG("cell");
|
||||
/\(** Add an instance in cell \(**/
|
||||
PLACE("model","instance", NOSYM, 200, 600);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3).
|
||||
.BR SAVE_PHFIG (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,146 @@
|
|||
.\" $Id: GENLIB_LOCON.3,v 1.1 2000/09/28 15:19:54 fred Exp $
|
||||
.\" @(#)LOCON.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
LOCON
|
||||
.XE \}
|
||||
.TH LOCON 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
LOCON \- adds a logical connector to the current netlist figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void LOCON(connector, direction, signal);
|
||||
char \(**connector, \(**signal;
|
||||
char direction;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIconnector\fP
|
||||
Name of the connector to be created in the current figure
|
||||
.TP
|
||||
\fIdirection\fP
|
||||
Indicates the connector behaviour regarding signals propagation
|
||||
.TP
|
||||
\fIsignal\fP
|
||||
Name of the signal on which the connector is linked
|
||||
.SH DESCRIPTION
|
||||
\fBLOCON\fP add a logical connector to the interface of the actual
|
||||
working figure. This connector is logicaly linked to the signal \fIsignal\fP.
|
||||
The \fIdirection\fP attribut may take the following values:
|
||||
.TP
|
||||
\fBIN\fP
|
||||
as input.
|
||||
.TP
|
||||
\fBOUT\fP
|
||||
as output.
|
||||
.TP
|
||||
\fBINOUT\fP
|
||||
as input/output, like supplies or clock for example.
|
||||
.TP
|
||||
\fBUNKNOWN\fP
|
||||
if one doesn't know what it is.
|
||||
.TP
|
||||
\fBTRISTATE\fP
|
||||
as high impedance input.
|
||||
.TP
|
||||
\fBTRANSV\fP
|
||||
as transciever. That means \fBTRISTATE\fP input plus output.
|
||||
.SH ERROR
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"LOCON impossible : missing DEF_LOFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_LOFIG\fP. So it isn't
|
||||
possible to add anything. you must call \fBDEF_LOFIG\fP before any other
|
||||
netlist call.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"LOCON : Bad signal or connector bus name"
|
||||
.ft R
|
||||
.RS
|
||||
A signal or connector, described under a bus form, has an illegal syntax.
|
||||
.RE
|
||||
.TP
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"LOCON : All LOCON should be defined befor any LOINS"
|
||||
.ft R
|
||||
.RS
|
||||
A connector is added after instances. This is a methodological error.
|
||||
Only move your \fBLOCON\fP before the first \fBLOINS\fP in your code.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"LOCON : different number of signals and connectors"
|
||||
.ft R
|
||||
.RS
|
||||
A bussed form of signal and connector has been used, but the width of
|
||||
the busses are not equal. This is an obvious error, check it.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"Illegal addlocon. Connector connector already exist in figure figname"
|
||||
.ft R
|
||||
.RS
|
||||
A connector name must be unique in a given figure at a given hierachy level.
|
||||
.RE
|
||||
.SH DIAGNOSTICS
|
||||
Due to the \fBvti\fP file format, the direction of connectors is lost if
|
||||
one uses it as starting point of a netlist desciption. All the connectors
|
||||
have then the \fBUNKNOWN\fP direction.
|
||||
.br
|
||||
Alliance and edif file format know only about \fBIN\fP, \fBOUT\fP, and
|
||||
\fBUNKNOWN\fP.
|
||||
Only vhdl format fully supports the whole thing.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_LOFIG("mycell");
|
||||
/\(** define interface \(**/
|
||||
LOCON("i", INPUT, "sig1");
|
||||
LOCON("o", OUTPUT, "sig2");
|
||||
/\(** Place an instance \(**/
|
||||
LOINS("model","instance", "sig1", "sig2", EOL);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_LOFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR BUS (3),
|
||||
.BR ELM (3),
|
||||
.BR LOSIG (3),
|
||||
.BR LOINS (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
.\" $Id: GENLIB_LOINS.3,v 1.1 2000/09/28 15:19:54 fred Exp $
|
||||
.\" @(#)LOINS.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
LOINS
|
||||
.XE \}
|
||||
.TH LOINS 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
LOINS \- add a logical instance to the current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void LOINS(model, instance, sig1, sig2, ..., sign, EOL);
|
||||
char \(**model, \(**instance;
|
||||
char \(**sig1, \(**sig2, ..., \(**sign;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fImodel\fP
|
||||
Name of the model to be logically instanciated
|
||||
.TP
|
||||
\fIinstance\fP
|
||||
Name to be given to the new instance
|
||||
.TP
|
||||
\fIsig1, sig2, ..., sign\fP
|
||||
List of signals to be linked to the implicit connector list of the instance
|
||||
.SH DESCRIPTION
|
||||
\fBLOINS\fP add a logical instance in the actual working figure.
|
||||
\fBLOINS\fP uses environment variables to
|
||||
choose the file format and the path to the file.
|
||||
.br
|
||||
\fBMBK_IN_LO\fP set up the input file format, the valid ones beeing :
|
||||
.RS
|
||||
.br
|
||||
\fBhns
|
||||
.br
|
||||
fne
|
||||
.br
|
||||
al
|
||||
.br
|
||||
alx\fP
|
||||
.RE
|
||||
\fBMBK_WORK_LIB\fP set up the output file path. Any valid unix path is
|
||||
ok.
|
||||
\fBLOINS\fP look in memory and then, if not found, on disk for the
|
||||
figure \fImodelname\fP. This is due to the need to ensure consistency
|
||||
between the model and its ascociated instances.
|
||||
.br
|
||||
The instance is added with the name \fIinstance\fP, and each of the
|
||||
signals are connected to an instance connector. The connectors are
|
||||
implicitly matched from the order of the signal on the list.
|
||||
This order is the one given
|
||||
in the netlist file, \fBhns\fP or \fBal\fP, or in the \fIsclib\fP
|
||||
documentation, for standard cell circuits.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"LOINS impossible : missing DEF_LOFIG"
|
||||
.ft R
|
||||
.br
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_LOFIG\fP. So it isn't
|
||||
possible to add anything. you must call \fBDEF_LOFIG\fP before any other
|
||||
netlist call.
|
||||
.RE
|
||||
.br
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"LOINS : Bad signal bus name"
|
||||
.ft R
|
||||
.br
|
||||
.RS
|
||||
A signal, described under a bus form, has an illegal syntax.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"Illegal addloins. Instance insname already exist in figure figname"
|
||||
.ft R
|
||||
.br
|
||||
.RS
|
||||
An instance name must be unique in a given figure at a given hierachy level.
|
||||
.RE
|
||||
.br
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"Illegal addloins. Instance model is the figure figname itself"
|
||||
.ft R
|
||||
.br
|
||||
.RS
|
||||
A figure cannot be included in itself. Be careful, the check is only
|
||||
made at current hierarchy level.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
.br
|
||||
"Illegal addloins. Connector number discrepancy between
|
||||
figure modelname and instance insname in figure figname"
|
||||
.ft R
|
||||
.br
|
||||
.RS
|
||||
The number of connector in the model is not equal to the number of signals
|
||||
describing the connectivity during the \fBLOINS\fP call.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_LOFIG("mycell");
|
||||
/\(** define interface \(**/
|
||||
LOCON("i", INPUT, "sig1");
|
||||
LOCON("o", OUTPUT, "sig2");
|
||||
/\(** Place an instance \(**/
|
||||
LOINS("model","instance", "sig1", "sig2", EOL);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_LOFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_LOFIG (3),
|
||||
.BR MBK_IN_LO (1),
|
||||
.BR MBK_CATA_LIB (1),
|
||||
.BR MBK_WORK_LIB (1).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
.\" $Id: GENLIB_LOINSE.3,v 1.1 2000/09/28 15:19:54 fred Exp $
|
||||
.\" @(#)LOINSE.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
LOINSE
|
||||
.XE \}
|
||||
.TH LOINSE 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
LOINSE \- add a logical instance to the current figure, with explicit connections
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void LOINSE(model, instance, couple1, couple2, ..., couplen, EOL);
|
||||
char \(**model, \(**instance;
|
||||
char \(**couple1, \(**couple2, ..., \(**couplen;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fImodel\fP
|
||||
Name of the model to be logically instanciated
|
||||
.TP
|
||||
\fIinstance\fP
|
||||
Name to be given to the new instance
|
||||
.TP
|
||||
\fIcouple1, couple2, ..., couplen\fP
|
||||
Explicit list of connections between connectors and signals.
|
||||
.SH DESCRIPTION
|
||||
\fBLOINSE\fP add a logical instance in the actual working figure.
|
||||
\fBLOINSE\fP uses environment variables to
|
||||
choose the file format and the path to the file.
|
||||
.br
|
||||
\fBMBK_IN_LO\fP set up the input file format, the valid ones beeing :
|
||||
.RS
|
||||
.br
|
||||
\fBhns
|
||||
.br
|
||||
fne
|
||||
.br
|
||||
al
|
||||
.br
|
||||
alx\fP
|
||||
.RE
|
||||
\fBMBK_WORK_LIB\fP set up the output file path. Any valid unix path is
|
||||
ok.
|
||||
\fBLOINSE\fP look in memory and then, if not found, on disk for the
|
||||
figure \fImodelname\fP. This is due to the need to ensure consistency
|
||||
between the model and its ascociated instances.
|
||||
.br
|
||||
The instance is added with the name \fIinstance\fP, and each of the
|
||||
signals are connected to an instance connector.
|
||||
The connector signal link is explicit, and described in the \fBcouple\fRs
|
||||
arguments.
|
||||
The \fBcouple\fRs arguments are supposed to have the form:
|
||||
.nf
|
||||
\fBconector => signal\fP
|
||||
.br
|
||||
or
|
||||
\fBconector[a:b] => signal[n:m]\fP
|
||||
where \fIa - b\fP equals, in absolute value, \fIn - m\fR.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"LOINSE impossible : missing DEF_LOFIG"
|
||||
.ft R
|
||||
.br
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_LOFIG\fP. So it isn't
|
||||
possible to add anything. you must call \fBDEF_LOFIG\fP before any other
|
||||
netlist call.
|
||||
.RE
|
||||
.br
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"LOINSE : Bad signal bus name"
|
||||
.ft R
|
||||
.br
|
||||
.RS
|
||||
A signal, described under a bus form, has an illegal syntax.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"Illegal addloins. Instance insname already exist in figure figname"
|
||||
.ft R
|
||||
.br
|
||||
.RS
|
||||
An instance name must be unique in a given figure at a given hierachy level.
|
||||
.RE
|
||||
.br
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"Illegal addloins. Instance model is the figure figname itself"
|
||||
.ft R
|
||||
.br
|
||||
.RS
|
||||
A figure cannot be included in itself. Be careful, the check is only
|
||||
made at current hierarchy level.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
.br
|
||||
"Illegal addloins. Connector number discrepancy between
|
||||
figure modelname and instance insname in figure figname"
|
||||
.ft R
|
||||
.br
|
||||
.RS
|
||||
The number of connector in the model is not equal to the number of signals
|
||||
describing the connectivity during the \fBLOINSE\fP call.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_LOFIG("mycell");
|
||||
/\(** define interface \(**/
|
||||
LOCON("i", INPUT, "sig1");
|
||||
LOCON("o", OUTPUT, "sig2");
|
||||
/\(** Place an instance \(**/
|
||||
LOINSE("model","instance", "con1 => sig1", "con2 => sig2", 0L);
|
||||
LOINSE("stuff","shirt", "i[31:0] => out[32:63]", "j[2] => sig2", 0L);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_LOFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_LOFIG (3),
|
||||
.BR LOINS (3),
|
||||
.BR MBK_IN_LO (1),
|
||||
.BR MBK_CATA_LIB (1),
|
||||
.BR MBK_WORK_LIB (1).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
.\" $Id: GENLIB_LOSIG.3,v 1.1 2000/09/28 15:19:55 fred Exp $
|
||||
.\" @(#)LOSIG.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
LOSIG
|
||||
.XE \}
|
||||
.TH LOSIG 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
LOSIG \- declare an internal logical signal, or a vector of internal
|
||||
logical signals
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void LOSIG(name)
|
||||
char \(**name;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIname\fP
|
||||
Name of a signal to be declared
|
||||
.SH DESCRIPTION
|
||||
\fBLOSIG\fP creates the internal signal, or the set of internal signals
|
||||
coresponding to a vector description, represented by \fIname\fP.
|
||||
See \fBBUS(3)\fP and \fBELM(3)\fP for more details on vectors.
|
||||
.br
|
||||
The need for declaring signal is mostly felt when one wants to create a
|
||||
consistent vector declaration, for file formats that do not allow partial or
|
||||
multiple declarations, like \fIvhdl\fP.
|
||||
This way, a user can create a vector and access its member the way he wants,
|
||||
but still having an internal consistent form.
|
||||
.TP 20
|
||||
Warning
|
||||
If a signal is declared with \fBLOSIG\fP, but not used, the resulting file
|
||||
will have an internal node floating.
|
||||
This is not an error from a genlib point of view, so the user must be aware
|
||||
of it.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_LOFIG("cell");
|
||||
/\(** Define interface \(**
|
||||
LOCON(...
|
||||
/\(** declare buses \(**/
|
||||
LOSIG("grum[23:0]");
|
||||
LOSIG("iconection[0:7]");
|
||||
/\(** Place an instance \(**/
|
||||
LOINS("no2_y" ,"no3" ,"grum[12]" ,"a9_s" ,"new_no3_s" ,"vdd" ,"vss" ,0);
|
||||
LOINS("no2_y" ,"no4" ,"a12_s" ,"grum[6]" ,"no4_s" ,"vdd" ,"vss" ,0);
|
||||
LOINS("a2_y" ,"a22" ,"no3_s" ,"grum[15]" ,"a22_s" ,"vdd" ,"vss" ,0);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_LOFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR LOINS (3),
|
||||
.BR LOCON (3),
|
||||
.BR BUS (3),
|
||||
.BR ELM (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
.\" $Id: GENLIB_LOSIGMERGE.3,v 1.1 2000/09/28 15:19:55 fred Exp $
|
||||
.\" @(#)LOSIGMERGE.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
LOSIGMERGE
|
||||
.XE \}
|
||||
.TH LOSIGMERGE 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
LOSIGMERGE \- merge two logical signals
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void LOSIGMERGE(signal1, signal2)
|
||||
char \(**signal1, \(**signal2;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIsignal1\fP
|
||||
Name of a signal to be merged
|
||||
.TP 20
|
||||
\fIsignal2\fP
|
||||
Name of a signal to be merged
|
||||
.SH DESCRIPTION
|
||||
\fBLOSIGMERGE\fP merges the two signals, \fIsignal1\fP and \fIsignal2\fP.
|
||||
This function can be used anywhere in the \fBgenlib\fP program, but its
|
||||
resultings actions must be known by the user.
|
||||
.TP 10
|
||||
1)
|
||||
If \fIsignal1\fP and \fIsignal2\fP have not been used yet, then the
|
||||
corresponding signal can be later accessed through any of these aliases.
|
||||
.TP 10
|
||||
2)
|
||||
If one of \fIsignal1\fP or \fIsignal2\fP has not been used yet, then all
|
||||
further reference to the not defined name will be made on the same signal than
|
||||
the defined signal.
|
||||
.TP 10
|
||||
3)
|
||||
If both signals exist, then they are merged, and both can be used for reference
|
||||
to the same signal later on.
|
||||
.LP
|
||||
Since most of the file formats do not allow multiple name for a
|
||||
single signal, the choice is made to keep for disk usage the name that appears
|
||||
in the cell interface, if any.
|
||||
Otherwise, the choice is randomly made by \fBLOSIGMERGE\fP.
|
||||
.TP 10
|
||||
Warning
|
||||
This function allows the user to internally connect two external connectors.
|
||||
This is \fInot\fP a valid disk representation for netlist generated by
|
||||
\fBgenlib\fP.
|
||||
The \fBSAVE_LOFIG\fP function will exit if encountering such a situation.
|
||||
.br
|
||||
In order to avoid it, either take care not to link such signals, or build
|
||||
all your hierarchy in memory, make sure your block does not have such signals,
|
||||
and call \fPFLATTEN_LOFIG\fP(3) just before saving.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_LOFIG("cell");
|
||||
/\(** Define interface \(**
|
||||
LOCON(...
|
||||
/\(** Place an instance \(**/
|
||||
LOINS("no2_y" ,"no3" ,"a8_s" ,"a9_s" ,"new_no3_s" ,"vdd" ,"vss" ,0);
|
||||
LOINS("no2_y" ,"no4" ,"a12_s" ,"a15_s" ,"no4_s" ,"vdd" ,"vss" ,0);
|
||||
LOINS("a2_y" ,"a22" ,"no3_s" ,"no4_s" ,"a22_s" ,"vdd" ,"vss" ,0);
|
||||
LOSIGMERGE("new_no3_s", "no3_s");
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_LOFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR LOINS (3),
|
||||
.BR LOCON (3),
|
||||
.BR FLATTEN_LOFIG (3),
|
||||
.BR SAVE_PHFIG (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
.\" $Id: GENLIB_LOTRS.3,v 1.1 2000/09/28 15:19:55 fred Exp $
|
||||
.\" @(#)LOTRS.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
LOTRS
|
||||
.XE \}
|
||||
.TH LOTRS 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
LOTRS \- adds a logical transistor to the current netlist figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void LOTRS(type,width,length,grid,source,drain)
|
||||
char type;
|
||||
long width, length;
|
||||
char \(**grid, \(**source, \(**drain;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fItype\fP
|
||||
Type of the transistor to be created in the current figure
|
||||
.TP
|
||||
\fIwidth, length\fP
|
||||
Size of the transistor
|
||||
.TP
|
||||
\fIgrid, source, drain\fP
|
||||
Name of the signals on which the given transitor connector are to be linked
|
||||
.SH DESCRIPTION
|
||||
\fBLOTRS\fP add a logical transistor to the current
|
||||
working figure. This transitor has each of its pin logicaly linked to the signal
|
||||
adequat signal given as parameter.
|
||||
The \fItype\fP attribut may take the following values:
|
||||
.TP
|
||||
\fBTRANSN\fP
|
||||
for a N type mos transistor.
|
||||
.TP
|
||||
\fBTRANSP\fP
|
||||
for a P type mos transistor.
|
||||
.SH ERROR
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"LOTRS impossible : missing DEF_LOFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_LOFIG\fP. So it isn't
|
||||
possible to add anything. you must call \fBDEF_LOFIG\fP before any other
|
||||
netlist call.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on, an inverter \(**/
|
||||
DEF_LOFIG("n1");
|
||||
/\(** define interface \(**/
|
||||
LOCON("i", IN, "input");
|
||||
LOCON("f", OUT, "output");
|
||||
LOCON("vdd", IN, "vdd");
|
||||
LOCON("vss", IN, "vss");
|
||||
/\(** Place transistors \(**/
|
||||
LOTRS(TRANSP, 5, 4, "input", "vdd", "output");
|
||||
LOTRS(TRANSN, 2, 4, "input", "vss", "output");
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_LOFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR BUS (3),
|
||||
.BR ELM (3),
|
||||
.BR LOINS (3),
|
||||
.BR LOCON (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
.\" $Id: GENLIB_OUTLINE.3,v 1.1 2000/09/28 15:19:55 fred Exp $
|
||||
.\" @(#)OUTLINE.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
OUTLINE
|
||||
.XE \}
|
||||
.TH OUTLINE 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
OUTLINE \- build an outline from the current layout cell
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void OUTLINE();
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH DESCRIPTION
|
||||
\fBOUTLINE\fP build a black box from a layout.
|
||||
After a call to \fBOUTLINE\fP, the figure has only its abutment box,
|
||||
its connectors, references and feed through.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
/\(** Place an instance \(**/
|
||||
PLACE("model","i1", NOSYM,0L,0L);
|
||||
PLACE("model","i2", NOSYM,120L,40L);
|
||||
DEF_PHINS("i1");
|
||||
PLACE_TOP("model2", "i3", NOSYM);
|
||||
/\(** define the new abutment box as the standard envelop \(**/
|
||||
DEF_AB(0, 0, 0, 0);
|
||||
OUTLINE();
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,174 @@
|
|||
.\" $Id: GENLIB_PHCON.3,v 1.1 2000/09/28 15:19:55 fred Exp $
|
||||
.\" @(#)PHCON.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
PHCON
|
||||
.XE \}
|
||||
.TH PHCON 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
PHCON \- place a physical connector in the current figure at absolute coordinates
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void PHCON(layer, width, name, orient, x, y)
|
||||
char layer;
|
||||
long width;
|
||||
char \(**name, orient;
|
||||
long x, y;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIlayer\fP
|
||||
Layout layer of the connector
|
||||
.TP
|
||||
\fIwidth\fP
|
||||
Width of the connector
|
||||
.TP
|
||||
\fIname\fP
|
||||
Name to be given to the connector
|
||||
.TP
|
||||
\fIorient\fP
|
||||
Face of the cell on witch the connector belongs
|
||||
.TP
|
||||
\fIx, y\fP
|
||||
Absolute coordinates of the connector
|
||||
.SH DESCRIPTION
|
||||
\fBPHCON\fP adds a connector in the current layout cell, at the specified
|
||||
coordinates, with the given attributs.
|
||||
The \fIlayer\fP argument can take the following legal values:
|
||||
.RS
|
||||
.TP
|
||||
\fBNWELL\fP
|
||||
.TP
|
||||
\fBPWELL\fP
|
||||
.TP
|
||||
\fBNTIE\fP
|
||||
.TP
|
||||
\fBPTIE\fP
|
||||
.TP
|
||||
\fBNDIF\fP
|
||||
.TP
|
||||
\fBPDIF\fP
|
||||
.TP
|
||||
\fBNTRANS\fP
|
||||
.TP
|
||||
\fBPTRANS\fP
|
||||
.TP
|
||||
\fBPOLY\fP
|
||||
.TP
|
||||
\fBALU1\fP
|
||||
.TP
|
||||
\fBALU2\fP
|
||||
.TP
|
||||
\fBALU3\fP
|
||||
.TP
|
||||
\fBTPOLY\fP
|
||||
.TP
|
||||
\fBTALU1\fP
|
||||
.TP
|
||||
\fBTALU2\fP
|
||||
.TP
|
||||
\fBTALU3\fP
|
||||
.RE
|
||||
.LP
|
||||
The name argument is not enough of an information to non ambigiously identify
|
||||
a connector.
|
||||
In order to be able to do so, an \fIindex\fP is computed for each connector
|
||||
that has an already existing name, following a topological order.
|
||||
Each time a connector is created, the \fIindex\fP is updated, regarding the
|
||||
name of the connector.
|
||||
Since someone writting a tiler needs to know exactly what connector to access,
|
||||
the indexation algorithm must be known by the user.
|
||||
.TP 20
|
||||
Connectors with a unique name:
|
||||
Such connectors have the index \fB0\fP
|
||||
.TP 20
|
||||
Connectors with a name apearing many times:
|
||||
The indexes are computed from left to right, and then from bottom to top,
|
||||
starting at \fB0\fP.
|
||||
If two connectors are on the same location, with the same name, then the
|
||||
\fIlayer\fP decides which one is has the greater number, from lower level,
|
||||
\fBNWELL\fP to upper level, \fBALU3\fP.
|
||||
.LP
|
||||
The \fIorient\fP paramater may take the following values:
|
||||
.TP 20
|
||||
\fBNORTH\fP
|
||||
for a connector placed on the top of the cell.
|
||||
.TP
|
||||
\fBSOUTH\fP
|
||||
for a connector placed on the bottom of the cell.
|
||||
.TP
|
||||
\fBEAST\fP
|
||||
for a connector placed on the right side of the cell.
|
||||
.TP
|
||||
\fBWEST\fP
|
||||
for a connector placed on the left side of the cell.
|
||||
.TP
|
||||
Remark:
|
||||
Connectors placed on corners of leaf cells are given the \fBEAST\fP orientation
|
||||
if on top/right or bottom/right corner, and \fBWEST\fP if top/left or
|
||||
bottom/left.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PHCON impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a connector inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphcon : orientation is XX in \fIname\fP"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIorient\fP parameter does not have a legal value, but \fIXX\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
.
|
||||
.
|
||||
.
|
||||
DEF_AB(0L, 0L, 0L, 0L);
|
||||
/\(** Put a connector \(**/
|
||||
PHCON(ALU1, 1, "cin", SOUTH, 12L, 0L);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR COPY_UP_ALL_CON (3),
|
||||
.BR COPY_UP_CON (3),
|
||||
.BR COPY_UP_CON_FACE (3),
|
||||
.BR THRU_CON_H (3),
|
||||
.BR THRU_CON_V (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
.\" $Id: GENLIB_PHREF.3,v 1.1 2000/09/28 15:19:56 fred Exp $
|
||||
.\" @(#)PHREF.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
PHREF
|
||||
.XE \}
|
||||
.TH PHREF 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
PHREF \- place a physical reference in the current figure at absolute
|
||||
coordinates
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void PHREF(type, name, x, y)
|
||||
char \(**type, \(**name;
|
||||
long x, y;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fItype\fP
|
||||
Type of the reference to be added
|
||||
.TP
|
||||
\fIname\fP
|
||||
Name of the reference
|
||||
.TP
|
||||
\fIx, y\fP
|
||||
Absolute coordinates of the reference
|
||||
.SH DESCRIPTION
|
||||
\fBPHREF\fP adds a reference in the current layout cell, at the specified
|
||||
coordinates.
|
||||
A reference is an object that allows to symbolicaly name a point for
|
||||
futur use by the designer.
|
||||
They have been mainly used in the past to \fIprogram\fP decoders, in order
|
||||
to obtain many cells from a unique cell.
|
||||
.LP
|
||||
The \fItype\fP argument may take the two following legal values:
|
||||
.TP 20
|
||||
\fBref_con\fP
|
||||
for virtual connectors, see \fBdpr\fP(1) for details.
|
||||
.TP
|
||||
\fBref_ref\fP
|
||||
for any other need from the designer.
|
||||
.LP
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PHREF impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a reference inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
.
|
||||
/\(** Put a reference \(**/
|
||||
PHREF("ref_con", "in_a[0]", 102L, 10L);
|
||||
.
|
||||
.
|
||||
DEF_AB(0L, 0L, 0L, 0L);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PLACE_CON_REF (3),
|
||||
.BR PLACE_SEG_REF (3),
|
||||
.BR PLACE_VIA_REF (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
.\" $Id: GENLIB_PHSEG.3,v 1.1 2000/09/28 15:19:56 fred Exp $
|
||||
.\" @(#)PHSEG.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
PHSEG
|
||||
.XE \}
|
||||
.TH PHSEG 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
PHSEG \- place a physical segment in the current figure at absolute coordinates
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void PHSEG(layer, width, name, x1, y1, x2, y2)
|
||||
char layer;
|
||||
long width;
|
||||
char \(**name;
|
||||
long x1, y1, x2, y2;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIlayer\fP
|
||||
Layout layer of the segment
|
||||
.TP
|
||||
\fIwidth\fP
|
||||
Width of the segment
|
||||
.TP
|
||||
\fIname\fP
|
||||
Name to be given to the segment
|
||||
.TP
|
||||
\fIx1, y1, x2, y2\fP
|
||||
Coordinates of the segment's end points in the current figure
|
||||
.SH DESCRIPTION
|
||||
\fBPHSEG\fP adds a segment in the current layout cell, at the specified
|
||||
coordinates, with the given attributs.
|
||||
The \fIlayer\fP argument can take the following legal values :
|
||||
.RS
|
||||
.TP
|
||||
\fBNWELL\fP
|
||||
.TP
|
||||
\fBPWELL\fP
|
||||
.TP
|
||||
\fBNTIE\fP
|
||||
.TP
|
||||
\fBPTIE\fP
|
||||
.TP
|
||||
\fBNDIF\fP
|
||||
.TP
|
||||
\fBPDIF\fP
|
||||
.TP
|
||||
\fBNTRANS\fP
|
||||
.TP
|
||||
\fBPTRANS\fP
|
||||
.TP
|
||||
\fBPOLY\fP
|
||||
.TP
|
||||
\fBALU1\fP
|
||||
.TP
|
||||
\fBALU2\fP
|
||||
.TP
|
||||
\fBALU3\fP
|
||||
.TP
|
||||
\fBTPOLY\fP
|
||||
.TP
|
||||
\fBTALU1\fP
|
||||
.TP
|
||||
\fBTALU2\fP
|
||||
.TP
|
||||
\fBTALU3\fP
|
||||
.RE
|
||||
.LP
|
||||
The name argument needs not to be specified, since one usually doesn't need to
|
||||
give a segment a name. To do so, just type "" as name.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PHSEG impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphseg : x1, y1, x2, y2"
|
||||
.ft R
|
||||
.RS
|
||||
A symbolic segment must be either vertical or horizontal, so either
|
||||
\fIx1 = x2\fP, or \fIy1 = y2\fP.
|
||||
.RE
|
||||
.br
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
/\(** Put a segment \(**/
|
||||
PHSEG(ALU1, 1, "", 0L, 0L, 12L, 0L);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR COPY_UP_SEG (3),
|
||||
.BR THRU_H (3),
|
||||
.BR THRU_CON_H (3),
|
||||
.BR THRU_V (3),
|
||||
.BR THRU_CON_V (3),
|
||||
.BR WIRE1 (3),
|
||||
.BR WIRE2 (3),
|
||||
.BR WIRE3 (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,114 @@
|
|||
.\" $Id: GENLIB_PHVIA.3,v 1.1 2000/09/28 15:19:56 fred Exp $
|
||||
.\" @(#)PHVIA.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
PHVIA
|
||||
.XE \}
|
||||
.TH PHVIA 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
PHVIA \- place a physical via in the current figure at absolute coordinates
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void PHVIA(type, x, y)
|
||||
char type;
|
||||
long x, y;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fItype\fP
|
||||
Type of the contact to be made
|
||||
.TP
|
||||
\fIx, y\fP
|
||||
Absolute coordinates of the via
|
||||
.SH DESCRIPTION
|
||||
\fBPHVIA\fP adds a via in the current layout cell, at the specified
|
||||
coordinates.
|
||||
The \fItype\fP argument may take the following legal values:
|
||||
.TP 20
|
||||
\fBCONT_POLY\fP
|
||||
links \fBPOLY\fP and \fBALU1\fP
|
||||
.TP
|
||||
\fBCONT_DIF_N\fP
|
||||
links \fBNDIF\fP and \fBALU1\fP
|
||||
.TP
|
||||
\fBCONT_DIF_P\fP
|
||||
links \fBPDIF\fP and \fBALU1\fP
|
||||
.TP
|
||||
\fBCONT_BODY_N\fP
|
||||
links \fBNTIE\fP and \fBALU1\fP
|
||||
.TP
|
||||
\fBCONT_BODY_P\fP
|
||||
links \fBPTIE\fP and \fBALU1\fP
|
||||
.TP
|
||||
\fBCONT_VIA\fP
|
||||
links \fBALU1\fP and \fBALU2\fP
|
||||
.TP
|
||||
\fBCONT_VIA2\fP
|
||||
links \fBALU2\fP and \fBALU3\fP
|
||||
.TP
|
||||
\fBC_X_N\fP
|
||||
corner for L-shaped (and S-shaped) N transistor
|
||||
.TP
|
||||
\fBC_X_P\fP
|
||||
corner for L-shaped (and S-shaped) P transistor
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PHVIA impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a via inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphvia : type is XX at \fIx, y\fP"
|
||||
.ft R
|
||||
.RS
|
||||
The \fItype\fP parameter does not have a legal value, but \fIXX\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
.
|
||||
/\(** Put a via \(**/
|
||||
PHVIA(CONT_VIA, 12L, 10L);
|
||||
.
|
||||
.
|
||||
DEF_AB(0L, 0L, 0L, 0L);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PLACE_VIA_REF (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
.\" $Id: GENLIB_PLACE.3,v 1.1 2000/09/28 15:19:56 fred Exp $
|
||||
.\" @(#)PLACE.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
PLACE
|
||||
.XE \}
|
||||
.TH PLACE 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
PLACE \- place a physical instance in the current figure at absolute coordinates
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void PLACE(modelname, insname, symetry, x, y)
|
||||
char \(**modelname, \(**insname;
|
||||
char symetry;
|
||||
long x,y;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fImodelname\fP
|
||||
Name of the layout figure to be instanciated
|
||||
.TP
|
||||
\fIinsname\fP
|
||||
Name to be given to the instance on the model
|
||||
.TP
|
||||
\fIsymetry\fP
|
||||
Geometrical operation to be performed on the instance before beeing placed
|
||||
.TP
|
||||
\fIx, y\fP
|
||||
Coordinates of the lower left corner of the abutment box on the instance in
|
||||
the current figure
|
||||
.SH DESCRIPTION
|
||||
\fBPLACE\fP add an instance in the current layout cell. The bottom left corner
|
||||
of the instance of the model \fImodelname\fP is placed, after beeing
|
||||
symetrized and/or rotated, at \fI(x, y)\fP coordinates.
|
||||
The placed instance becomes the new "reference instance", used in
|
||||
the relative placement functions.
|
||||
.br
|
||||
The \fIinsname\fP is the name given to the instance and must be unique at
|
||||
a given hierarchy level.
|
||||
.br
|
||||
The \fIsymetry\fP argument can take eight legal values :
|
||||
.TP 20
|
||||
\fBNOSYM\fP
|
||||
no geometrical operation is performed
|
||||
.TP
|
||||
\fBSYM_Y\fP
|
||||
Y becomes -Y, that means toward X axe symetry
|
||||
.TP
|
||||
\fBSYM_X\fP
|
||||
X becomes -X, that means toward Y axe symetry
|
||||
.TP
|
||||
\fBSYMXY\fP
|
||||
X becomes -X, Y becomes -Y
|
||||
.TP
|
||||
\fBROT_P\fP
|
||||
a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBROT_M\fP
|
||||
a negative 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RP\fP
|
||||
Y becomes -Y, and then a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RM\fP
|
||||
Y becomes -Y, and then a negative 90 degrees rotation take place
|
||||
.PP
|
||||
The model of the figure to be placed must be available, on disk or in memory.
|
||||
The path to the library is specified in the \fBMBK_CATA_LIB\fP (1) and
|
||||
\fBMBK_WORK_LIB\fP (1) environment
|
||||
variables, and its format is given by the \fBMBK_IN_PH\fP (1) environment
|
||||
variable.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphins : transformation is x in insname"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIsymetry\fP parameter is not one of the define given, but has the
|
||||
integer value \fBx\fP.
|
||||
.RE
|
||||
.br
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
/\(** Place two instances \(**/
|
||||
PLACE("gapg0_b","ins1", NOSYM, 0L, 0L);
|
||||
PLACE("gapg8_b","ins2", SYM_X, 80L, 100L);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PLACE_TOP (3),
|
||||
.BR PLACE_BOTTOM (3),
|
||||
.BR PLACE_LEFT (3),
|
||||
.BR PLACE_RIGHT (3),
|
||||
.BR MBK_CATA_LIB (1),
|
||||
.BR MBK_WORK_LIB (1),
|
||||
.BR MBK_IN_PH (1).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,146 @@
|
|||
.\" $Id: GENLIB_PLACE_BOTTOM.3,v 1.1 2000/09/28 15:19:56 fred Exp $
|
||||
.\" @(#)PLACE_BOTTOM.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
PLACE_BOTTOM
|
||||
.XE \}
|
||||
.TH PLACE_BOTTOM 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
PLACE_BOTTOM \- place a physical instance in the current figure under
|
||||
the "reference instance"
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void PLACE_BOTTOM(modelname, insname, symetry)
|
||||
char \(**modelname, \(**insname;
|
||||
char symetry;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fImodelname\fP
|
||||
Name of the layout figure to be instanciated
|
||||
.TP
|
||||
\fIinsname\fP
|
||||
Name to be given to the instance on the model
|
||||
.TP
|
||||
\fIsymetry\fP
|
||||
Geometrical operation to be performed on the instance before beeing placed
|
||||
.SH DESCRIPTION
|
||||
\fBPLACE_BOTTOM\fP add a instance of model \fImodelname\fP
|
||||
in the current layout cell.
|
||||
The bottom left corner
|
||||
of the abutment box of the instance is placed, after beeing symetrized
|
||||
and/or rotated,
|
||||
toward the bottom left corner of the abutment box of the
|
||||
"reference instance". The newly
|
||||
placed instance becomes the "reference instance".
|
||||
.br
|
||||
The \fIinsname\fP is the name given to the instance and must be unique at
|
||||
a given hierarchy level.
|
||||
.br
|
||||
The \fIsymetry\fP argument can take eight legal values :
|
||||
.TP 20
|
||||
\fBNOSYM\fP
|
||||
no geometrical operation is performed
|
||||
.TP
|
||||
\fBSYM_Y\fP
|
||||
Y becomes -Y, that means toward X axe symetry
|
||||
.TP
|
||||
\fBSYM_X\fP
|
||||
X becomes -X, that means toward Y axe symetry
|
||||
.TP
|
||||
\fBSYMXY\fP
|
||||
X becomes -X, Y becomes -Y
|
||||
.TP
|
||||
\fBROT_P\fP
|
||||
a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBROT_M\fP
|
||||
a negative 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RP\fP
|
||||
Y becomes -Y, and then a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RM\fP
|
||||
Y becomes -Y, and then a negative 90 degrees rotation take place
|
||||
.PP
|
||||
The model of the figure to be placed must be available, on disk or in memory.
|
||||
The path to the library is specified in the \fBMBK_CATA_LIB\fP (1) and
|
||||
\fBMBK_WORK_LIB\fP (1) environment
|
||||
variables, and its format is given by the \fBMBK_IN_PH\fP (1) environment
|
||||
variable.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_BOTTOM impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_BOTTOM impossible : No previous instance"
|
||||
.ft R
|
||||
.RS
|
||||
There are no instances placed in the current layout cell, so it's
|
||||
impossible to know where to place from. Use a \fBPLACE\fP call before.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphins : transformation is x in insname"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIsymetry\fP parameter is not one of the define given, but has the
|
||||
integer value \fBx\fP.
|
||||
.RE
|
||||
.br
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHSC("cell");
|
||||
/\(** Place two instances \(**/
|
||||
PLACE_PLACE("grbos", "ins1", SYMXY, -3L, 0L);
|
||||
PLACE_BOTTOM("gln", "ins2", NOSYM);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHSC();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PLACE (3),
|
||||
.BR PLACE_TOP (3),
|
||||
.BR PLACE_RIGHT (3),
|
||||
.BR PLACE_LEFT (3),
|
||||
.BR MBK_CATA_LIB (1),
|
||||
.BR MBK_WORK_LIB (1),
|
||||
.BR MBK_IN_PH (1).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,173 @@
|
|||
.\" $Id: GENLIB_PLACE_CON_REF.3,v 1.1 2000/09/28 15:19:57 fred Exp $
|
||||
.\" @(#)PLACE_CON_REF.3 2.11 01/92; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
PLACE_CON_REF
|
||||
.XE \}
|
||||
.TH PLACE_CON_REF 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
PLACE_CON_REF \- put a connector on top of a reference belonging an
|
||||
instance in the current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void PLACE_CON_REF(insname, refname, conname, layer, width, face)
|
||||
char \(**insname, \(**refname, \(**conname;
|
||||
char layer, face;
|
||||
long width;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name of the instance in the which the reference is to be searched for
|
||||
.TP
|
||||
\fIrefname\fP
|
||||
Name of the reference to be used for the connector placement
|
||||
.TP
|
||||
\fIconname\fP
|
||||
Name of the connector to be placed
|
||||
.TP
|
||||
\fIlayer\fP
|
||||
Physical layer of the connector
|
||||
.TP
|
||||
\fIwidth\fP
|
||||
Width of the connector
|
||||
.TP
|
||||
\fIface\fP
|
||||
Face of the figure on which the connector is to be placed
|
||||
.SH DESCRIPTION
|
||||
\fBPLACE_CON_REF\fP places a connector called \fIconname\fP ragarding the
|
||||
position of the reference, \fIrefname\fP, in the instance called \fIinsname\fP.
|
||||
The connector coordinates are computed from the reference coordinates and
|
||||
the face given as argument.
|
||||
.br
|
||||
Two behaviours are expected, regarding the reference coordinates:
|
||||
.TP 20
|
||||
the reference is on the given face of the \fIabutment box\fP
|
||||
a connector called \fIconname\fP is added on top of the reference, with
|
||||
the given \fIlayer\fP and \fIwidth\fP.
|
||||
.TP
|
||||
the reference is anywhere else
|
||||
a connector called \fIconname\fP is added on the given face, \fIface\fP, of the
|
||||
\fIabutment box\fP, at the y coordinates of the reference if the \fIface\fP
|
||||
is \fBEAST\fP or \fBWEST\fP, or x one if the \fIface\fP is \fBNORTH\fP or
|
||||
\fBSOUTH\fP. Then a segment is drawn between the reference and the connector.
|
||||
All drawn objects are given \fIlayer\fP and \fIwidth\fP as caracteristics.
|
||||
.br
|
||||
The \fIface\fP argument is meant in the placed instance, and can take any of
|
||||
the following values:
|
||||
.TP 20
|
||||
\fBNORTH\fP
|
||||
for a connector placed on the top of the cell.
|
||||
.TP
|
||||
\fBSOUTH\fP
|
||||
for a connector placed on the bottom of the cell.
|
||||
.TP
|
||||
\fBEAST\fP
|
||||
for a connector placed on the right side of the cell.
|
||||
.TP
|
||||
\fBWEST\fP
|
||||
for a connector placed on the left side of the cell.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_CON_REF impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a reference inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_CON_REF impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a reference inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_CON_REF impossible : no abutment box"
|
||||
.ft R
|
||||
.RS
|
||||
The current figure does not have an \fIabutment box\fI. Use \fIDEF_AB\fP(3)
|
||||
before this function.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal PLACE_CON_REF : orientation is XX"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIface\fP parameter does not have a legal value, but \fIXX\fP.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance called \fIinsname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No instance called \fIinsname\fP exists in the current figure
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphref : references called \fIrefname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No reference called \fIrefname\fP exists in the model of the instance
|
||||
\fIinsname\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
PLACE("gaci0_b", "r1", NOSYM, 23L, 54L);
|
||||
/\(** Put a reference \(**/
|
||||
PLACE_CON_REF("r1", "a_0", ALU2, 2, NORTH);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PHREF (3),
|
||||
.BR PHCON (3),
|
||||
.BR COPY_UP_REF (3),
|
||||
.BR COPY_UP_ALL_REF (3),
|
||||
.BR PLACE_CON_REF (3),
|
||||
.BR PLACE_SEG_REF (3),
|
||||
.BR PLACE_CON_REF (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,146 @@
|
|||
.\" $Id: GENLIB_PLACE_LEFT.3,v 1.1 2000/09/28 15:19:57 fred Exp $
|
||||
.\" @(#)PLACE_LEFT.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
PLACE_LEFT
|
||||
.XE \}
|
||||
.TH PLACE_LEFT 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
PLACE_LEFT \- place a physical instance in the current figure at the left of the
|
||||
"reference instance"
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void PLACE_LEFT(modelname, insname, symetry)
|
||||
char \(**modelname, \(**insname;
|
||||
char symetry;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fImodelname\fP
|
||||
Name of the layout figure to be instanciated
|
||||
.TP
|
||||
\fIinsname\fP
|
||||
Name to be given to the instance on the model
|
||||
.TP
|
||||
\fIsymetry\fP
|
||||
Geometrical operation to be performed on the instance before beeing placed
|
||||
.SH DESCRIPTION
|
||||
\fBPLACE_LEFT\fP add an instance of model \fImodelname\fP
|
||||
in the current layout cell.
|
||||
The bottom right corner
|
||||
of the abutment box of the instance is placed, after beeing symetrized
|
||||
and/or rotated,
|
||||
toward the bottom left corner of the abutment box of the
|
||||
"reference instance". The newly
|
||||
placed instance becomes the "reference instance".
|
||||
.br
|
||||
The \fIinsname\fP is the name given to the instance and must be unique at
|
||||
a given hierarchy level.
|
||||
.br
|
||||
The \fIsymetry\fP argument can take eight legal values :
|
||||
.TP 20
|
||||
\fBNOSYM\fP
|
||||
no geometrical operation is performed
|
||||
.TP
|
||||
\fBSYM_Y\fP
|
||||
Y becomes -Y, that means toward X axe symetry
|
||||
.TP
|
||||
\fBSYM_X\fP
|
||||
X becomes -X, that means toward Y axe symetry
|
||||
.TP
|
||||
\fBSYMXY\fP
|
||||
X becomes -X, Y becomes -Y
|
||||
.TP
|
||||
\fBROT_P\fP
|
||||
a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBROT_M\fP
|
||||
a negative 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RP\fP
|
||||
Y becomes -Y, and then a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RM\fP
|
||||
Y becomes -Y, and then a negative 90 degrees rotation take place
|
||||
.PP
|
||||
The model of the figure to be placed must be available, on disk or in memory.
|
||||
The path to the library is specified in the \fBMBK_CATA_LIB\fP (1) and
|
||||
\fBMBK_WORK_LIB\fP (1) environment
|
||||
variables, and its format is given by the \fBMBK_IN_PH\fP (1) environment
|
||||
variable.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_LEFT impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_LEFT impossible : No previous instance"
|
||||
.ft R
|
||||
.RS
|
||||
There are no instances placed in the current layout cell, so it's
|
||||
impossible to know where to place from. Use a \fBPLACE\fP call before.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphins : transformation is x in insname"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIsymetry\fP parameter is not one of the define given, but has the
|
||||
integer value \fBx\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
/\(** Place two instances \(**/
|
||||
PLACE("grbdo_3","ins1", NOSYM, 0L, 0L);
|
||||
/\(** negative placement values are allowed \(**/
|
||||
PLACE_LEFT("grxwh_k","ins2", SYMXY);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PLACE (3),
|
||||
.BR PLACE_TOP (3),
|
||||
.BR PLACE_BOTTOM (3),
|
||||
.BR PLACE_RIGHT (3),
|
||||
.BR MBK_CATA_LIB (1),
|
||||
.BR MBK_WORK_LIB (1),
|
||||
.BR MBK_IN_PH (1).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
.\" $Id: GENLIB_PLACE_ON.3,v 1.1 2000/09/28 15:19:57 fred Exp $
|
||||
.\" @(#)PLACE_ON.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
PLACE_ON
|
||||
.XE \}
|
||||
.TH PLACE_ON 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
PLACE_ON \- place a physical instance in the current figure matching
|
||||
connectors
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void PLACE_ON(figname,ins1,con1,index1,symetry,ins2,con2,index2)
|
||||
char \(**figname, \(**ins1, \(**con1, \(**ins2, \(**con2;
|
||||
char symetry;
|
||||
long index1, index2;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIfigname\fP
|
||||
Name of the layout figure to be instanciated
|
||||
.TP
|
||||
\fIins1\fP
|
||||
Name to be given to the instance in the model
|
||||
.TP
|
||||
\fIcon1\fP
|
||||
Name of the connector of the instance to be used for placement
|
||||
.TP
|
||||
\fIindex1\fP
|
||||
Index of the connector, or reference, \fIcon1\fP of the model to be used
|
||||
for placement
|
||||
.TP
|
||||
\fIsymetry\fP
|
||||
Geometrical operation to be performed on the instance before beeing placed
|
||||
.TP
|
||||
\fIins2\fP
|
||||
Name of the instance to be used for relative placement
|
||||
.TP
|
||||
\fIcon2\fP
|
||||
Name of the connector of the instance \fIins2\fP on which the placement will
|
||||
take place
|
||||
.TP
|
||||
\fIindex2\fP
|
||||
Index of the connector \fIcon2\fP of the instance to be used for relative
|
||||
placement
|
||||
.SH DESCRIPTION
|
||||
\fBPLACE_ON\fP add an instance in the current layout cell. The bottom left corner
|
||||
of the instance of the model \fImodelname\fP is placed, after beeing
|
||||
symetrized and/or rotated, at \fI(x, y)\fP coordinates.
|
||||
The placed instance becomes the new "reference instance", used in
|
||||
the relative placement functions.
|
||||
.br
|
||||
The \fIinsname\fP is the name given to the instance and must be unique at
|
||||
a given hierarchy level.
|
||||
.br
|
||||
The \fIsymetry\fP argument can take eight legal values :
|
||||
.TP 20
|
||||
\fBNOSYM\fP
|
||||
no geometrical operation is performed
|
||||
.TP
|
||||
\fBSYM_Y\fP
|
||||
Y becomes -Y, that means toward X axe symetry
|
||||
.TP
|
||||
\fBSYM_X\fP
|
||||
X becomes -X, that means toward Y axe symetry
|
||||
.TP
|
||||
\fBSYMXY\fP
|
||||
X becomes -X, Y becomes -Y
|
||||
.TP
|
||||
\fBROT_P\fP
|
||||
a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBROT_M\fP
|
||||
a negative 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RP\fP
|
||||
Y becomes -Y, and then a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RM\fP
|
||||
Y becomes -Y, and then a negative 90 degrees rotation take place
|
||||
.PP
|
||||
The model of the figure to be placed must be available, on disk or in memory.
|
||||
The path to the library is specified in the \fBMBK_CATA_LIB\fP (1) and
|
||||
\fBMBK_WORK_LIB\fP (1) environment
|
||||
variables, and its format is given by the \fBMBK_IN_PH\fP (1) environment
|
||||
variable.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_ON impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphins : transformation is x in insname"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIsymetry\fP parameter is not one of the define given, but has the
|
||||
integer value \fBx\fP.
|
||||
.RE
|
||||
.br
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
/\(** Place two instances \(**/
|
||||
PLACE_ON("gapg0_b","ins1", NOSYM, 0L, 0L);
|
||||
PLACE_ON("gapg8_b","ins2", SYM_X, 80L, 100L);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PLACE_TOP (3),
|
||||
.BR PLACE_BOTTOM (3),
|
||||
.BR PLACE_LEFT (3),
|
||||
.BR PLACE_RIGHT (3),
|
||||
.BR MBK_CATA_LIB (1),
|
||||
.BR MBK_WORK_LIB (1),
|
||||
.BR MBK_IN_PH (1).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
.\" $Id: GENLIB_PLACE_RIGHT.3,v 1.1 2000/09/28 15:19:57 fred Exp $
|
||||
.\" @(#)PLACE_RIGHT.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
PLACE_RIGHT
|
||||
.XE \}
|
||||
.TH PLACE_RIGHT 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
PLACE_RIGHT \- place a physical instance in the current figure at
|
||||
the right of the "reference instance"
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void PLACE_RIGHT(modelname, insname, symetry)
|
||||
char \(**modelname, \(**insname;
|
||||
char symetry;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fImodelname\fP
|
||||
Name of the layout figure to be instanciated
|
||||
.TP
|
||||
\fIinsname\fP
|
||||
Name to be given to the instance on the model
|
||||
.TP
|
||||
\fIsymetry\fP
|
||||
Geometrical operation to be performed on the instance before beeing placed
|
||||
.SH DESCRIPTION
|
||||
\fBPLACE_RIGHT\fP add an instance of model \fImodelname\fP
|
||||
in the current layout cell.
|
||||
The bottom left corner
|
||||
of the abutment box of the instance is placed, after beeing symetrized
|
||||
and/or rotated,
|
||||
toward the bottom right corner of the abutment box of the
|
||||
"reference instance". The newly
|
||||
placed instance becomes the "reference instance".
|
||||
.br
|
||||
The \fIinsname\fP is the name given to the instance and must be unique at
|
||||
a given hierarchy level.
|
||||
.br
|
||||
The \fIsymetry\fP argument can take eight legal values :
|
||||
.TP 20
|
||||
\fBNOSYM\fP
|
||||
no geometrical operation is performed
|
||||
.TP
|
||||
\fBSYM_Y\fP
|
||||
Y becomes -Y, that means toward X axe symetry
|
||||
.TP
|
||||
\fBSYM_X\fP
|
||||
X becomes -X, that means toward Y axe symetry
|
||||
.TP
|
||||
\fBSYMXY\fP
|
||||
X becomes -X, Y becomes -Y
|
||||
.TP
|
||||
\fBROT_P\fP
|
||||
a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBROT_M\fP
|
||||
a negative 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RP\fP
|
||||
Y becomes -Y, and then a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RM\fP
|
||||
Y becomes -Y, and then a negative 90 degrees rotation take place
|
||||
.PP
|
||||
The model of the figure to be placed must be available, on disk or in memory.
|
||||
The path to the library is specified in the \fBMBK_CATA_LIB\fP (1) and
|
||||
\fBMBK_WORK_LIB\fP (1) environment
|
||||
variables, and its format is given by the \fBMBK_IN_PH\fP (1) environment
|
||||
variable.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_RIGHT impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_RIGHT impossible : No previous instance"
|
||||
.ft R
|
||||
.RS
|
||||
There are no instances placed in the current layout cell, so it's
|
||||
impossible to know where to place from. Use a \fBPLACE\fP call before.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphins : transformation is x in insname"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIsymetry\fP parameter is not one of the define given, but has the
|
||||
integer value \fBx\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
/\(** Place two instances \(**/
|
||||
PLACE("rsa16","ins1", ROT_P, -5L, 5L);
|
||||
PLACE_RIGHT("gnr32x16", "ins2", SYM_X);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PLACE (3),
|
||||
.BR PLACE_TOP (3),
|
||||
.BR PLACE_BOTTOM (3),
|
||||
.BR PLACE_LEFT (3),
|
||||
.BR MBK_CATA_LIB (1),
|
||||
.BR MBK_WORK_LIB (1),
|
||||
.BR MBK_IN_PH (1).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,175 @@
|
|||
.\" $Id: GENLIB_PLACE_SEG_REF.3,v 1.1 2000/09/28 15:19:58 fred Exp $
|
||||
.\" @(#)PLACE_SEG_REF.3 2.11 01/92; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
PLACE_SEG_REF
|
||||
.XE \}
|
||||
.TH PLACE_SEG_REF 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
PLACE_SEG_REF \- put a segment on a reference belonging an
|
||||
instance in the current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void PLACE_SEG_REF(insname, refname, layer, width, face)
|
||||
char \(**insname, \(**refname;
|
||||
char layer, face;
|
||||
long width;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name of the instance in the which the reference is to be searched for
|
||||
.TP
|
||||
\fIrefname\fP
|
||||
Name of the reference to be used for the segment placement
|
||||
.TP
|
||||
\fIlayer\fP
|
||||
Physical layer of the segment
|
||||
.TP
|
||||
\fIwidth\fP
|
||||
Width of the segment
|
||||
.TP
|
||||
\fIface\fP
|
||||
Face of the figure on which the segment is to be placed
|
||||
.SH DESCRIPTION
|
||||
\fBPLACE_SEG_REF\fP places a segment regarding the position
|
||||
of the reference, \fIrefname\fP, in the instance called \fIinsname\fP.
|
||||
The segment coordinates are computed from the reference coordinates and
|
||||
the face given as argument.
|
||||
.br
|
||||
Two behaviours are expected, regarding the reference coordinates:
|
||||
.TP 20
|
||||
the reference is on the given face of the \fIabutment box\fP
|
||||
the segment is not added, since it would have zero as length
|
||||
.TP
|
||||
the reference is anywhere else
|
||||
A segment is drawn between the reference and the \fIabutment box\fP, and is
|
||||
given \fIlayer\fP and \fIwidth\fP as attributs.
|
||||
One of its endpoint is given by the reference coordinates, the other one
|
||||
comes from the \fIface\fP.
|
||||
The \fIface\fP argument is meant in the placed instance, and can take any of
|
||||
the following values:
|
||||
.TP 20
|
||||
\fBNORTH\fP
|
||||
the other endpoint has, for absissa, the x coordinate of the top of the
|
||||
\fIabutment box\fP of the cell, and for ordinate, the y coordinate of
|
||||
the reference.
|
||||
.TP
|
||||
\fBSOUTH\fP
|
||||
the other endpoint has, for absissa, the x coordinate of the bottom of the
|
||||
\fIabutment box\fP of the cell, and for ordinate, the y coordinate of
|
||||
the reference.
|
||||
.TP
|
||||
\fBEAST\fP
|
||||
the other endpoint has, for absissa, the x coordinate of the reference and
|
||||
for ordinate, the y coordinate of the right of the \fIabutment box\fP of the
|
||||
cell.
|
||||
.TP
|
||||
\fBWEST\fP
|
||||
the other endpoint has, for absissa, the x coordinate of the reference and
|
||||
for ordinate, the y coordinate of the left of the \fIabutment box\fP of the
|
||||
cell.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_SEG_REF impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a reference inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_SEG_REF impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a reference inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_SEG_REF impossible : no abutment box"
|
||||
.ft R
|
||||
.RS
|
||||
The current figure does not have an \fIabutment box\fI. Use \fIDEF_AB\fP(3)
|
||||
before this function.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal PLACE_SEG_REF : orientation is XX"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIface\fP parameter does not have a legal value, but \fIXX\fP.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance called \fIinsname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No instance called \fIinsname\fP exists in the current figure
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphref : references called \fIrefname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No reference called \fIrefname\fP exists in the model of the instance
|
||||
\fIinsname\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
PLACE("gaci0_b", "r1", NOSYM, 23L, 54L);
|
||||
/\(** Put a reference \(**/
|
||||
PLACE_SEG_REF("r1", "a_0", ALU2, 2, NORTH);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PHREF (3),
|
||||
.BR PHSEG (3),
|
||||
.BR COPY_UP_REF (3),
|
||||
.BR COPY_UP_ALL_REF (3),
|
||||
.BR PLACE_SEG_REF (3),
|
||||
.BR PLACE_SEG_REF (3),
|
||||
.BR PLACE_SEG_REF (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,146 @@
|
|||
.\" $Id: GENLIB_PLACE_TOP.3,v 1.1 2000/09/28 15:19:58 fred Exp $
|
||||
.\" @(#)PLACE_TOP.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
PLACE_TOP
|
||||
.XE \}
|
||||
.TH PLACE_TOP 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
PLACE_TOP \- place a physical instance in the current figure on the top of the
|
||||
"reference instance"
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void PLACE_TOP(modelname, insname, symetry)
|
||||
char \(**modelname, \(**insname;
|
||||
char symetry;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fImodelname\fP
|
||||
Name of the layout figure to be instanciated
|
||||
.TP
|
||||
\fIinsname\fP
|
||||
Name to be given to the instance on the model
|
||||
.TP
|
||||
\fIsymetry\fP
|
||||
Geometrical operation to be performed on the instance before beeing placed
|
||||
.SH DESCRIPTION
|
||||
\fBPLACE_TOP\fP add an instance of model \fImodelname\fP
|
||||
in the current layout cell.
|
||||
The bottom left corner
|
||||
of the abutment box of the instance is placed, after beeing symetrized
|
||||
and/or rotated,
|
||||
toward the top left corner of the abutment box of the
|
||||
"reference instance". The newly
|
||||
placed instance becomes the "reference instance".
|
||||
.br
|
||||
The \fIinsname\fP is the name given to the instance and must be unique at
|
||||
a given hierarchy level.
|
||||
.br
|
||||
The \fIsymetry\fP argument can take eight legal values :
|
||||
.TP 20
|
||||
\fBNOSYM\fP
|
||||
no geometrical operation is performed
|
||||
.TP
|
||||
\fBSYM_Y\fP
|
||||
Y becomes -Y, that means toward X axe symetry
|
||||
.TP
|
||||
\fBSYM_X\fP
|
||||
X becomes -X, that means toward Y axe symetry
|
||||
.TP
|
||||
\fBSYMXY\fP
|
||||
X becomes -X, Y becomes -Y
|
||||
.TP
|
||||
\fBROT_P\fP
|
||||
a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBROT_M\fP
|
||||
a negative 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RP\fP
|
||||
Y becomes -Y, and then a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RM\fP
|
||||
becomes -Y, and then a negative 90 degrees rotation take place
|
||||
.PP
|
||||
The model of the figure to be placed must be available, on disk or in memory.
|
||||
The path to the library is specified in the \fBMBK_CATA_LIB\fP (1) and
|
||||
\fBMBK_WORK_LIB\fP (1) environment
|
||||
variables, and its format is given by the \fBMBK_IN_PH\fP (1) environment
|
||||
variable.
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_TOP impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_TOP impossible : No previous instance"
|
||||
.ft R
|
||||
.RS
|
||||
There are no instances placed in the current layout cell, so it's
|
||||
impossible to know where to place from. Use a \fBPLACE\fP call before.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphins : transformation is x in insname"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIsymetry\fP parameter is not one of the define given, but has the
|
||||
integer value \fBx\fP.
|
||||
.RE
|
||||
.br
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
/\(** Place two instances \(**/
|
||||
PLACE("dgl", "ins1", ROT_P, 0L, 0L);
|
||||
PLACE_TOP("idv", "ins2", SY_RP);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PLACE (3),
|
||||
.BR PLACE_RIGHT (3),
|
||||
.BR PLACE_BOTTOM (3),
|
||||
.BR PLACE_LEFT (3),
|
||||
.BR MBK_CATA_LIB (1),
|
||||
.BR MBK_WORK_LIB (1),
|
||||
.BR MBK_IN_PH (1).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
.\" $Id: GENLIB_PLACE_VIA_REF.3,v 1.1 2000/09/28 15:19:58 fred Exp $
|
||||
.\" @(#)PLACE_VIA_REF.3 2.11 01/92; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
PLACE_VIA_REF
|
||||
.XE \}
|
||||
.TH PLACE_VIA_REF 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
PLACE_VIA_REF \- put a via on top of a reference belonging to an instance
|
||||
in the current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void PLACE_VIA_REF(insname, refname, viatype)
|
||||
char \(**insname, \(**refname;
|
||||
char viatype;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name of the instance in the which the reference is to be searched for
|
||||
.TP
|
||||
\fIrefname\fP
|
||||
Name of the reference to be used as target point
|
||||
.TP
|
||||
\fIviatype\fP
|
||||
Type of via to be placed
|
||||
.SH DESCRIPTION
|
||||
\fBPLACE_VIA_REF\fP places a via of type \fIviatype\fP on top of the specified
|
||||
reference, \fIrefname\fP, in the instance called \fIinsname\fP.
|
||||
This function may be used to generate many cells from a single one, in order
|
||||
to "program" decoders for example, or in conjuction with \fBPLACE_SEG_REF\fP(3)
|
||||
or \fBPLACE_CON_REF\fP(3) to translate virtual connectors into fixed ones.
|
||||
.br
|
||||
The \fIviatype\fP argument may take the following legal values:
|
||||
.TP 20
|
||||
\fBCONT_POLY\fP
|
||||
links \fBPOLY\fP and \fBALU1\fP
|
||||
.TP
|
||||
\fBCONT_DIF_N\fP
|
||||
links \fBNDIF\fP and \fBALU1\fP
|
||||
.TP
|
||||
\fBCONT_DIF_P\fP
|
||||
links \fBPDIF\fP and \fBALU1\fP
|
||||
.TP
|
||||
\fBCONT_BODY_N\fP
|
||||
links \fBNTIE\fP and \fBALU1\fP
|
||||
.TP
|
||||
\fBCONT_BODY_P\fP
|
||||
links \fBPTIE\fP and \fBALU1\fP
|
||||
.TP
|
||||
\fBCONT_VIA\fP
|
||||
links \fBALU1\fP and \fBALU2\fP
|
||||
.TP
|
||||
\fBCONT_VIA2\fP
|
||||
links \fBALU2\fP and \fBALU3\fP
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"PLACE_VIA_REF impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a reference inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance \fIinsname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
The instance called \fIinsname\fP does not currently belong to the figure.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphref : references called \fIrefname\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
No reference called \fIrefname\fP exists in the model of the instance
|
||||
\fIinsname\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
PLACE("gaci0_b", "r1", NOSYM, 23L, 54L);
|
||||
/\(** Put a reference \(**/
|
||||
PLACE_VIA_REF("a_0", "r1", CONT_VIA);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR dpr (1),
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR PHREF (3),
|
||||
.BR PHVIA (3),
|
||||
.BR COPY_UP_REF (3),
|
||||
.BR COPY_UP_ALL_REF (3),
|
||||
.BR PLACE_CON_REF (3),
|
||||
.BR PLACE_SEG_REF (3),
|
||||
.BR PLACE_VIA_REF (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
.\" $Id: GENLIB_REVERSE_PHCON.3,v 1.1 2000/09/28 15:19:58 fred Exp $
|
||||
.\" @(#)REVERSE_PHCON.3 2.11 93/09/03 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
REVERSE_PHCON
|
||||
.XE \}
|
||||
.TH REVERSE_PHCON 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
REVERSE_PHCON \- reverse the order of physical connectors on a bus.
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void REVERSE_PHCON(basename)
|
||||
char \(**basename;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIbasename\fP
|
||||
Radical of the vector to be reversed.
|
||||
.SH DESCRIPTION
|
||||
\fBREVERSE_PHCON\fP will change the indexes of the vector called
|
||||
\fIbasename\fP, making the greatest values the smallest and so on.
|
||||
Both hard connectors, created by \fBPHCON\fR(3) like functions and
|
||||
virtual ones, done with \fBPHREF\fR(3), will be taken into account for
|
||||
the reverse operation.
|
||||
This function is mainly useful to implement the \fBmsb0\fR options of
|
||||
the \fBAlliance\fR CAD system module generators, as the whole design can
|
||||
be done with the designer choosen bit ordering, and modified on user
|
||||
demand only before saving.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
DEF_PHFIG("rom");
|
||||
/\(** Create a figure to work on \(**/
|
||||
.
|
||||
.
|
||||
.
|
||||
/\(** Reverse the bit ordering if needed \(**/
|
||||
if (msb0)
|
||||
REVERSE_PHCON("adr");
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR PHCON (3),
|
||||
.BR PHREF (3),
|
||||
.BR COPY_UP_CON (3),
|
||||
.BR COPY_UP_ALL_CON (3),
|
||||
.BR COPY_UP_CON_FACE (3),
|
||||
.BR COPY_UP_REF (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
.\" $Id: GENLIB_SAVE_LOFIG.3,v 1.1 2000/09/28 15:19:58 fred Exp $
|
||||
.\" @(#)SAVE_LOFIOG.3 2.11 01/92; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
SAVE_LOFIG
|
||||
.XE \}
|
||||
.TH SAVE_LOFIG 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
SAVE_LOFIG \- save a netlist on disk
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void SAVE_LOFIG();
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH DESCRIPTION
|
||||
\fBSAVE_LOFIG\fP saves the current working figure previously definded by
|
||||
a \fBDEF_LOFIG\fP call. \fBSAVE_LOFIG\fP uses environment variables to
|
||||
choose the file format and the path to the file.
|
||||
\fBMBK_OUT_LO\fP set up the output file format, the valid ones beeing :
|
||||
.RS
|
||||
\fBhns
|
||||
.br
|
||||
fne
|
||||
.br
|
||||
al
|
||||
.br
|
||||
alx\fP
|
||||
.RE
|
||||
you could for example do :
|
||||
.br
|
||||
.RS
|
||||
\fBsetenv MBK_OUT_LO al\fP
|
||||
.RE
|
||||
\fBMBK_WORK_LIB\fP set up the output file path. Any valid unix path is
|
||||
ok.
|
||||
.br
|
||||
for example :
|
||||
.RS
|
||||
\fBsetenv MBK_WORK_LIB ~fred/booth/genlib\fP
|
||||
.RE
|
||||
\fBSAVE_LOFIG\fP doesn't look on disk for the figure \fIcellname\fP,
|
||||
so be careful not to overwrite an existing file while saving.
|
||||
.SH ERROR
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SAVE_LOFIG impossible : missing DEF_LOFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_LOFIG\fP. So it isn't
|
||||
possible to save anything. you must call \fBDEF_LOFIG\fP before any other
|
||||
netlist call.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_LOFIG("mycell");
|
||||
/\(** define interface \(**/
|
||||
LOCON("i", INPUT, "sig1");
|
||||
LOCON("o", OUTPUT, "sig2");
|
||||
/\(** Place an instance \(**/
|
||||
LOINS("model","instance", "sig1", "sig2", EOL);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_LOFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_LOFIG(3),
|
||||
.BR MBK_OUT_LO (1),
|
||||
.BR MBK_WORK_LIB (1).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
.\" $Id: GENLIB_SAVE_PHFIG.3,v 1.1 2000/09/28 15:19:59 fred Exp $
|
||||
.\" @(#)SAVE_PHFIG.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
SAVE_PHFIG
|
||||
.XE \}
|
||||
.TH SAVE_PHFIG 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
SAVE_PHFIG \- save a layout on disk
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void SAVE_PHFIG();
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH DESCRIPTION
|
||||
\fBSAVE_PHFIG\fP saves the current working figure previously definded by
|
||||
a \fBDEF_PHFIG\fP call. \fBSAVE_PHFIG\fP uses environment variables to
|
||||
choose the file format and the path to the file.
|
||||
.br
|
||||
\fBMBK_OUT_PH\fP set up the output file format, the valid ones beeing :
|
||||
.RS
|
||||
\fBcp
|
||||
.br
|
||||
ap\fP
|
||||
.RE
|
||||
you could for example do :
|
||||
.RS
|
||||
\fBsetenv MBK_OUT_PH ap\fP
|
||||
.RE
|
||||
\fBMBK_WORK_LIB\fP set up the output file path. Any valid unix path is
|
||||
ok.
|
||||
.br
|
||||
for example :
|
||||
.RS
|
||||
\fBsetenv MBK_WORK_LIB ~fred/booth/genlib\fP
|
||||
.RE
|
||||
\fBSAVE_PHFIG\fP doesn't look on disk for the figure \fIcellname\fP,
|
||||
so be careful not to overwrite an existing file while saving.
|
||||
.SH ERROR
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SAVE_PHFIG impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to save anything. you must call \fBDEF_PHFIG\fP before any other
|
||||
layout action.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("mycell");
|
||||
/\(** Place an instance \(**/
|
||||
PLACE("mymodel","firstinstance", NOSYM,0L,0L);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR SAVE_PHSC (3),
|
||||
.BR MBK_OUT_PH (1),
|
||||
.BR MBK_WORK_LIB (1).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
.\" $Id: GENLIB_SAVE_PHSC.3,v 1.1 2000/09/28 15:19:59 fred Exp $
|
||||
.\" @(#)SAVE_PHSC.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
SAVE_PHSC
|
||||
.XE \}
|
||||
.TH SAVE_PHSC 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
SAVE_PHSC \- save a layout on disk
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void SAVE_PHSC();
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH DESCRIPTION
|
||||
\fBSAVE_PHSC\fP saves the current working figure previously definded by
|
||||
a \fBDEF_PHFIG\fP or \fBDEF_PHSC\fP call, and performs a
|
||||
\fBDEF_AB(0L, 0L, 0L, 0L)\fP just before saving the figure, in order to give
|
||||
it the appropriate size for standard cell blocks.
|
||||
\fBSAVE_PHSC\fP uses environment variables to choose the file format and
|
||||
the path to the file.
|
||||
.br
|
||||
No check is made to see if a file with the same name already exists on disk, so
|
||||
be careful not to overwrite some precious data.
|
||||
.SH ERROR
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SAVE_PHSC impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP or
|
||||
\fBDEF_PHSC\fB. So it isn't
|
||||
possible to save anything. you must call \fBDEF_PHFIG\fP before any other
|
||||
layout action.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a physical figure to work on \(**/
|
||||
DEF_PHSC("cell");
|
||||
/\(** Place an instance \(**/
|
||||
SC_PLACE("finst", NOSYM,0L,0L);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHSC();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHSC (3),
|
||||
.BR MBK_OUT_PH (1),
|
||||
.BR MBK_WORK_LIB (1).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,148 @@
|
|||
.\" $Id: GENLIB_SC_BOTTOM.3,v 1.1 2000/09/28 15:19:59 fred Exp $
|
||||
.\" @(#)SC_BOTTOM.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
SC_BOTTOM
|
||||
.XE \}
|
||||
.TH SC_BOTTOM 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
SC_BOTTOM \- place an instance in the current figure at the right of the
|
||||
"reference instance"
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void SC_BOTTOM(insname, symetry)
|
||||
char \(**insname;
|
||||
char symetry;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name to be given to the instance on the model
|
||||
.TP
|
||||
\fIsymetry\fP
|
||||
Geometrical operation to be performed on the instance before beeing placed
|
||||
.SH DESCRIPTION
|
||||
\fBSC_BOTTOM\fP add an instance in the current cell. The bottom left corner
|
||||
of the abutment box of the instance is placed, after beeing symetrized
|
||||
and/or rotated,
|
||||
toward the bottom left corner of the abutment box of the
|
||||
"reference instance". The newly
|
||||
placed instance becomes the "reference instance".
|
||||
The placement takes place only if the netlist is up to day,
|
||||
because the model of the instance is seeked there, in order to ensure
|
||||
consistency.
|
||||
.LP
|
||||
The \fIsymetry\fP argument can take eight legal values :
|
||||
.TP 20
|
||||
\fBNOSYM\fP
|
||||
no geometrical operation is performed
|
||||
.TP
|
||||
\fBSYM_Y\fP
|
||||
Y becomes -Y, that means toward X axe symetry
|
||||
.TP
|
||||
\fBSYM_X\fP
|
||||
X becomes -X, that means toward Y axe symetry
|
||||
.TP
|
||||
\fBSYMXY\fP
|
||||
X becomes -X, Y becomes -Y
|
||||
.TP
|
||||
\fBROT_P\fP
|
||||
a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBROT_M\fP
|
||||
a negative 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RP\fP
|
||||
Y becomes -Y, and then a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RM\fP
|
||||
Y becomes -Y, and then a negative 90 degrees rotation take place
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_BOTTOM impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_BOTTOM impossible : missing DEF_LOFIG"
|
||||
.ft R
|
||||
.RS
|
||||
The current netlist figure is not define, so \fBSC_BOTTOM\fP doesn't know
|
||||
where to pick up the model. A \fBDEF_LOFIG\fP or a \fBDEF_PHSC\fP
|
||||
is to be performed to avoid this error.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_BOTTOM impossible : no logical instance insname"
|
||||
.ft R
|
||||
.RS
|
||||
The instance \fIinsname\fP does not exist in the netlist representation
|
||||
of the cell. It may lead us to believe that there is a consistency
|
||||
problem between the two representation of this cell.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphins : transformation is x in insname"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIsymetry\fP parameter is not one of the define given, but has the
|
||||
integer value \fBx\fP.
|
||||
.RE
|
||||
.br
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHSC("cell");
|
||||
/\(** Place two instances \(**/
|
||||
SC_PLACE("ins1", NOSYM, 0L, 0L);
|
||||
SC_BOTTOM("ins2", SYMXY);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHSC();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHSC (3),
|
||||
.BR SAVE_PHSC (3),
|
||||
.BR SC_PLACE (3),
|
||||
.BR SC_TOP (3),
|
||||
.BR SC_RIGHT (3),
|
||||
.BR SC_LEFT (3),
|
||||
.BR DEF_PHINS (3),
|
||||
.BR FLATTEN_PHFIG (3),
|
||||
.BR FLATTEN_ALL_PHINS (3),
|
||||
.BR LOINS (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,149 @@
|
|||
.\" $Id: GENLIB_SC_LEFT.3,v 1.1 2000/09/28 15:19:59 fred Exp $
|
||||
.\" @(#)SC_LEFT.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
SC_LEFT
|
||||
.XE \}
|
||||
.TH SC_LEFT 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
SC_LEFT \- place an instance in the current figure at the right of the
|
||||
"reference instance"
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void SC_LEFT(insname, symetry)
|
||||
char \(**insname;
|
||||
char symetry;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name to be given to the instance on the model
|
||||
.TP
|
||||
\fIsymetry\fP
|
||||
Geometrical operation to be performed on the instance before beeing placed
|
||||
.SH DESCRIPTION
|
||||
\fBSC_LEFT\fP add an instance in the current cell. The bottom right corner
|
||||
of the abutment box of the instance is placed, after beeing symetrized
|
||||
and/or rotated,
|
||||
toward the bottom left corner of the abutment box of the
|
||||
"reference instance". The newly
|
||||
placed instance becomes the "reference instance".
|
||||
The placement takes place only if the netlist is up to day,
|
||||
because the model of the instance is seeked there, in order to ensure
|
||||
consistency.
|
||||
.LP
|
||||
The \fIsymetry\fP argument can take eight legal values :
|
||||
.TP 20
|
||||
\fBNOSYM\fP
|
||||
no geometrical operation is performed
|
||||
.TP
|
||||
\fBSYM_Y\fP
|
||||
Y becomes -Y, that means toward X axe symetry
|
||||
.TP
|
||||
\fBSYM_X\fP
|
||||
X becomes -X, that means toward Y axe symetry
|
||||
.TP
|
||||
\fBSYMXY\fP
|
||||
X becomes -X, Y becomes -Y
|
||||
.TP
|
||||
\fBROT_P\fP
|
||||
a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBROT_M\fP
|
||||
a negative 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RP\fP
|
||||
Y becomes -Y, and then a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RM\fP
|
||||
Y becomes -Y, and then a negative 90 degrees rotation take place
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_LEFT impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_LEFT impossible : missing DEF_LOFIG"
|
||||
.ft R
|
||||
.RS
|
||||
The current netlist figure is not define, so \fISC_LEFT\fP doesn't know
|
||||
where to pick up the model. A \fIDEF_LOFIG\fP or a \fIDEF_PHSC\fP
|
||||
is to be performed to avoid this error.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_LEFT impossible : no logical instance insname"
|
||||
.ft R
|
||||
.RS
|
||||
The instance \fIinsname\fP does not exist in the netlist representation
|
||||
of the cell. It may lead us to believe that there is a consistency
|
||||
problem between the two representation of this cell.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphins : transformation is x in insname"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIsymetry\fP parameter is not one of the define given, but has the
|
||||
integer value \fBx\fP.
|
||||
.RE
|
||||
.br
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHSC("cell");
|
||||
/\(** Place two instances \(**/
|
||||
SC_PLACE("ins1", NOSYM, 0L, 0L);
|
||||
/\(** negative placement values are allowed \(**/
|
||||
SC_LEFT("ins2", SYM_Y);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHSC();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib(1),
|
||||
.BR DEF_PHSC(3),
|
||||
.BR SAVE_PHSC(3),
|
||||
.BR SC_PLACE(3),
|
||||
.BR SC_TOP(3),
|
||||
.BR SC_BOTTOM(3),
|
||||
.BR SC_RIGHT(3),
|
||||
.BR DEF_PHINS (3),
|
||||
.BR FLATTEN_PHFIG (3),
|
||||
.BR FLATTEN_ALL_PHINS (3),
|
||||
.BR LOINS(3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,150 @@
|
|||
.\" $Id: GENLIB_SC_PLACE.3,v 1.1 2000/09/28 15:20:00 fred Exp $
|
||||
.\" @(#)SC_PLACE.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
SC_PLACE
|
||||
.XE \}
|
||||
.TH SC_PLACE 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
SC_PLACE \- place an instance in the current figure at absolute coordinates
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void SC_PLACE(insname, symetry, x, y)
|
||||
char \(**insname;
|
||||
char symetry;
|
||||
long x,y;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name to be given to the instance on the model
|
||||
.TP
|
||||
\fIsymetry\fP
|
||||
Geometrical operation to be performed on the instance before beeing placed
|
||||
.TP
|
||||
\fIx, y\fP
|
||||
Coordinates of the lower left corner of the abutment box of the model in
|
||||
the current figure
|
||||
.SH DESCRIPTION
|
||||
\fISC_PLACE\fP add an instance in the current cell. The bottom left corner
|
||||
of the instance is placed, after beeing symetrized and/or rotated,
|
||||
at \fI(x, y)\fP
|
||||
coordinates. The placement takes place only if the netlist is up to day,
|
||||
because the model of the instance is seeked there, in order to ensure
|
||||
consistency.
|
||||
The placed instance becomes the new "reference instance", used in
|
||||
the relative placement functions.
|
||||
.br
|
||||
The \fIsymetry\fP argument can take eight legal values :
|
||||
.TP 20
|
||||
\fBNOSYM\fP
|
||||
no geometrical operation is performed
|
||||
.TP
|
||||
\fBSYM_Y\fP
|
||||
Y becomes -Y, that means toward X axe symetry
|
||||
.TP
|
||||
\fBSYM_X\fP
|
||||
X becomes -X, that means toward Y axe symetry
|
||||
.TP
|
||||
\fBSYMXY\fP
|
||||
X becomes -X, Y becomes -Y
|
||||
.TP
|
||||
\fBROT_P\fP
|
||||
a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBROT_M\fP
|
||||
a negative 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RP\fP
|
||||
Y becomes -Y, and then a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RM\fP
|
||||
Y becomes -Y, and then a negative 90 degrees rotation take place
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_PLACE impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_PLACE impossible : missing DEF_LOFIG"
|
||||
.ft R
|
||||
.RS
|
||||
The current netlist figure is not define, so \fBSC_PLACE\fP doesn't know
|
||||
where to pick up the model. A \fBDEF_LOFIG\fP or a \fBDEF_PHSC\fP
|
||||
is to be performed to avoid this error.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_PLACE impossible : no logical instance insname"
|
||||
.ft R
|
||||
.RS
|
||||
The instance \fIinsname\fP does not exist in the netlist representation
|
||||
of the cell. It may lead us to believe that there is a consistency
|
||||
problem between the two representation of this cell.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphins : transformation is x in insname"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIsymetry\fP parameter is not one of the define given, but has the
|
||||
integer value \fBx\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHSC("cell");
|
||||
/\(** Place two instances \(**/
|
||||
SC_PLACE("ins1", NOSYM, 0L, 0L);
|
||||
SC_PLACE("ins2", NOSYM, 80L, 100L);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHSC();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHSC (3),
|
||||
.BR SAVE_PHSC (3),
|
||||
.BR SC_TOP (3),
|
||||
.BR SC_BOTTOM (3),
|
||||
.BR SC_LEFT (3),
|
||||
.BR SC_RIGHT (3),
|
||||
.BR DEF_PHINS (3),
|
||||
.BR FLATTEN_PHFIG (3),
|
||||
.BR FLATTEN_ALL_PHINS (3),
|
||||
.BR LOINS (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,147 @@
|
|||
.\" $Id: GENLIB_SC_RIGHT.3,v 1.1 2000/09/28 15:20:00 fred Exp $
|
||||
.\" @(#)SC_RIGHT.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
SC_RIGHT
|
||||
.XE \}
|
||||
.TH SC_RIGHT 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
SC_RIGHT \- place an instance in the current figure at the right of the
|
||||
"reference instance"
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void SC_RIGHT(insname, symetry)
|
||||
char \(**insname;
|
||||
char symetry;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name to be given to the instance on the model
|
||||
.TP
|
||||
\fIsymetry\fP
|
||||
Geometrical operation to be performed on the instance before beeing placed
|
||||
.SH DESCRIPTION
|
||||
\fBSC_RIGHT\fP add an instance in the current cell. The bottom left corner
|
||||
of the abutment box of the instance is placed, after beeing symetrized
|
||||
and/or rotated,
|
||||
toward the bottom right corner of the abutment box of the
|
||||
"reference instance". The newly
|
||||
placed instance becomes the "reference instance".
|
||||
The placement takes place only if the netlist is up to day,
|
||||
because the model of the instance is seeked there, in order to ensure
|
||||
consistency.
|
||||
.LP
|
||||
The \fIsymetry\fP argument can take eight legal values :
|
||||
.TP 20
|
||||
\fBNOSYM\fP
|
||||
no geometrical operation is performed
|
||||
.TP
|
||||
\fBSYM_Y\fP
|
||||
Y becomes -Y, that means toward X axe symetry
|
||||
.TP
|
||||
\fBSYM_X\fP
|
||||
X becomes -X, that means toward Y axe symetry
|
||||
.TP
|
||||
\fBSYMXY\fP
|
||||
X becomes -X, Y becomes -Y
|
||||
.TP
|
||||
\fBROT_P\fP
|
||||
a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBROT_M\fP
|
||||
a negative 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RP\fP
|
||||
Y becomes -Y, and then a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RM\fP
|
||||
Y becomes -Y, and then a negative 90 degrees rotation take place
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_RIGHT impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_RIGHT impossible : missing DEF_LOFIG"
|
||||
.ft R
|
||||
.RS
|
||||
The current netlist figure is not define, so \fBSC_RIGHT\fP doesn't know
|
||||
where to pick up the model. A \fBDEF_LOFIG\fP or a \fBDEF_PHSC\fP
|
||||
is to be performed to avoid this error.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_RIGHT impossible : no logical instance insname"
|
||||
.ft R
|
||||
.RS
|
||||
The instance \fIinsname\fP does not exist in the netlist representation
|
||||
of the cell. It may lead us to believe that there is a consistency
|
||||
problem between the two representation of this cell.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphins : transformation is x in insname"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIsymetry\fP parameter is not one of the define given, but has the
|
||||
integer value \fBx\fP.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHSC("cell");
|
||||
/\(** Place two instances \(**/
|
||||
SC_PLACE("ins1", NOSYM, 0L, 0L);
|
||||
SC_RIGHT("ins2", SYM_X);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHSC();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib(1),
|
||||
.BR DEF_PHSC(3),
|
||||
.BR SAVE_PHSC(3),
|
||||
.BR SC_PLACE(3),
|
||||
.BR SC_TOP(3),
|
||||
.BR SC_BOTTOM(3),
|
||||
.BR SC_LEFT(3),
|
||||
.BR DEF_PHINS (3),
|
||||
.BR FLATTEN_PHFIG (3),
|
||||
.BR FLATTEN_ALL_PHINS (3),
|
||||
.BR LOINS(3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,148 @@
|
|||
.\" $Id: GENLIB_SC_TOP.3,v 1.1 2000/09/28 15:20:00 fred Exp $
|
||||
.\" @(#)SC_TOP.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
SC_TOP
|
||||
.XE \}
|
||||
.TH SC_TOP 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
SC_TOP \- place an instance in the current figure at the right of the
|
||||
"reference instance"
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void SC_TOP(insname, symetry)
|
||||
char \(**insname;
|
||||
char symetry;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIinsname\fP
|
||||
Name to be given to the instance on the model
|
||||
.TP
|
||||
\fIsymetry\fP
|
||||
Geometrical operation to be performed on the instance before beeing placed
|
||||
.SH DESCRIPTION
|
||||
\fBSC_TOP\fP add an instance in the current cell. The bottom left corner
|
||||
of the abutment box of the instance is placed, after beeing symetrized
|
||||
and/or rotated,
|
||||
toward the top left corner of the abutment box of the
|
||||
"reference instance". The newly
|
||||
placed instance becomes the "reference instance".
|
||||
The placement takes place only if the netlist is up to day,
|
||||
because the model of the instance is seeked there, in order to ensure
|
||||
consistency.
|
||||
.LP
|
||||
The \fIsymetry\fP argument can take eight legal values :
|
||||
.TP 20
|
||||
\fBNOSYM\fP
|
||||
no geometrical operation is performed
|
||||
.TP
|
||||
\fBSYM_Y\fP
|
||||
Y becomes -Y, that means toward X axe symetry
|
||||
.TP
|
||||
\fBSYM_X\fP
|
||||
X becomes -X, that means toward Y axe symetry
|
||||
.TP
|
||||
\fBSYMXY\fP
|
||||
X becomes -X, Y becomes -Y
|
||||
.TP
|
||||
\fBROT_P\fP
|
||||
a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBROT_M\fP
|
||||
a negative 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RP\fP
|
||||
Y becomes -Y, and then a positive 90 degrees rotation take place
|
||||
.TP
|
||||
\fBSY_RM\fP
|
||||
Y becomes -Y, and then a negative 90 degrees rotation take place
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_TOP impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_TOP impossible : missing DEF_LOFIG"
|
||||
.ft R
|
||||
.RS
|
||||
The current netlist figure is not define, so \fBSC_TOP\fP doesn't know
|
||||
where to pick up the model. A \fBDEF_LOFIG\fP or a \fBDEF_PHSC\fP
|
||||
is to be performed to avoid this error.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"SC_TOP impossible : no logical instance insname"
|
||||
.ft R
|
||||
.RS
|
||||
The instance \fIinsname\fP does not exist in the netlist representation
|
||||
of the cell. It may lead us to believe that there is a consistency
|
||||
problem between the two representation of this cell.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphins : transformation is x in insname"
|
||||
.ft R
|
||||
.RS
|
||||
The \fIsymetry\fP parameter is not one of the define given, but has the
|
||||
integer value \fBx\fP.
|
||||
.RE
|
||||
.br
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHSC("cell");
|
||||
/\(** Place two instances \(**/
|
||||
SC_PLACE("ins1", NOSYM, 0L, 0L);
|
||||
SC_TOP("ins2", SYM_X);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_PHSC();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHSC (3),
|
||||
.BR SAVE_PHSC (3),
|
||||
.BR SC_PLACE (3),
|
||||
.BR SC_RIGHT (3),
|
||||
.BR SC_BOTTOM (3),
|
||||
.BR SC_LEFT (3),
|
||||
.BR DEF_PHINS (3),
|
||||
.BR FLATTEN_PHFIG (3),
|
||||
.BR FLATTEN_ALL_PHINS (3),
|
||||
.BR LOINS (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,141 @@
|
|||
.\" $Id: GENLIB_THRU_CON_H.3,v 1.1 2000/09/28 15:20:00 fred Exp $
|
||||
.\" @(#)THRU_CON_H.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
THRU_CON_H
|
||||
.XE \}
|
||||
.TH THRU_CON_H 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
THRU_CON_H \- draw an horizontal wire from side to side of the
|
||||
\fIabutment box\fP of the current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void THRU_CON_H(layer, width, name, y)
|
||||
char layer;
|
||||
long width;
|
||||
char \(**name;
|
||||
long y;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIlayer\fP
|
||||
Layout layer of the wire and connectors
|
||||
.TP
|
||||
\fIwidth\fP
|
||||
Width of the wire and connectors
|
||||
.TP
|
||||
\fIname\fP
|
||||
Name of the connectors
|
||||
.TP
|
||||
\fIy\fP
|
||||
Absolute y coordinate of the wire and connectors
|
||||
.SH DESCRIPTION
|
||||
\fBTHRU_CON_H\fP adds an horizontal segment in the current layout cell.
|
||||
Two connectors are created on the \fBWEST\fP and \fPEQST\fP sides of the
|
||||
\fIabutment box\fP, at the \fIy\fP coordinates, and given the name \fIname\fP.
|
||||
The segment is drawn thru the figure, from the \fBWEST\fP connector to the
|
||||
\fBEAST\fP one.
|
||||
.br
|
||||
This function is mostly used to put \fIthrough routes\fP on a figure, and
|
||||
therefore, the \fBT\fP prefixed layer names are the most likely to be used
|
||||
here.
|
||||
.br
|
||||
The \fIlayer\fP argument can take the following legal values:
|
||||
.RS
|
||||
.TP
|
||||
\fBNWELL\fP
|
||||
.TP
|
||||
\fBPWELL\fP
|
||||
.TP
|
||||
\fBNTIE\fP
|
||||
.TP
|
||||
\fBPTIE\fP
|
||||
.TP
|
||||
\fBNDIF\fP
|
||||
.TP
|
||||
\fBPDIF\fP
|
||||
.TP
|
||||
\fBNTRANS\fP
|
||||
.TP
|
||||
\fBPTRANS\fP
|
||||
.TP
|
||||
\fBPOLY\fP
|
||||
.TP
|
||||
\fBALU1\fP
|
||||
.TP
|
||||
\fBALU2\fP
|
||||
.TP
|
||||
\fBALU3\fP
|
||||
.TP
|
||||
\fBTPOLY\fP
|
||||
.TP
|
||||
\fBTALU1\fP
|
||||
.TP
|
||||
\fBTALU2\fP
|
||||
.TP
|
||||
\fBTALU3\fP
|
||||
.RE
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"THRU_CON_H impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a connector inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"THRU_CON_H impossible : no or illegal abutment box"
|
||||
.ft R
|
||||
.RS
|
||||
The current figure has either no abutment box defined yet, or has a heigth
|
||||
of zero. \fBDEF_AB\fP is to be called.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
.
|
||||
.
|
||||
.
|
||||
DEF_AB(0L, 0L, 0L, 0L);
|
||||
/\(** Put a wire through the figure \(**/
|
||||
THRU_CON_H(TALU2, 1, "pwet", 32L);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR THRU_H (3),
|
||||
.BR THRU_V (3),
|
||||
.BR THRU_CON_V (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,144 @@
|
|||
.\" $Id: GENLIB_THRU_CON_V.3,v 1.1 2000/09/28 15:20:00 fred Exp $
|
||||
.\" @(#)THRU_CON_V.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
THRU_CON_V
|
||||
.XE \}
|
||||
.TH THRU_CON_V 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
THRU_CON_V \- draw a vertical wire with connectors from side to side
|
||||
of the \fIabutment box\fP of the current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void THRU_CON_V(layer, width, name, x)
|
||||
char layer;
|
||||
long width;
|
||||
char \(**name;
|
||||
long x;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIlayer\fP
|
||||
Layout layer of the wire and connectors
|
||||
.TP
|
||||
\fIwidth\fP
|
||||
Width of the wire and connectors
|
||||
.TP
|
||||
\fIname\fP
|
||||
Name of the connectors
|
||||
.TP
|
||||
\fIx\fP
|
||||
Absolute x coordinate of the wire and connectors
|
||||
.SH DESCRIPTION
|
||||
\fBTHRU_CON_V\fP adds a vertical segment and two connectors in the current
|
||||
layout cell.
|
||||
The \fIx\fP coordinates gives the wire and connectors horizontal position,
|
||||
vertical ones beeing extracted from the figure \fIabutment box\fP.
|
||||
Two connectors are created on the \fBNORTH\fP and \fPSOUTH\fP sides of the
|
||||
\fIabutment box\fP, at the \fIx\fP coordinates, and given the name \fIname\fP.
|
||||
The segment is drawn thru the figure, from the \fBNORTH\fP connector to the
|
||||
\fBSOUTH\fP one.
|
||||
.br
|
||||
This function is mostly used to put \fIthrough routes\fP on a figure, and
|
||||
therefore, the \fBT\fP prefixed layer names are the most likely to be used
|
||||
here.
|
||||
.br
|
||||
The \fIlayer\fP argument can take the following legal values:
|
||||
.RS
|
||||
.TP
|
||||
\fBNWELL\fP
|
||||
.TP
|
||||
\fBPWELL\fP
|
||||
.TP
|
||||
\fBNTIE\fP
|
||||
.TP
|
||||
\fBPTIE\fP
|
||||
.TP
|
||||
\fBNDIF\fP
|
||||
.TP
|
||||
\fBPDIF\fP
|
||||
.TP
|
||||
\fBNTRANS\fP
|
||||
.TP
|
||||
\fBPTRANS\fP
|
||||
.TP
|
||||
\fBPOLY\fP
|
||||
.TP
|
||||
\fBALU1\fP
|
||||
.TP
|
||||
\fBALU2\fP
|
||||
.TP
|
||||
\fBALU3\fP
|
||||
.TP
|
||||
\fBTPOLY\fP
|
||||
.TP
|
||||
\fBTALU1\fP
|
||||
.TP
|
||||
\fBTALU2\fP
|
||||
.TP
|
||||
\fBTALU3\fP
|
||||
.RE
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"THRU_CON_V impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a connector inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"THRU_CON_V impossible : no or illegal abutment box"
|
||||
.ft R
|
||||
.RS
|
||||
The current figure has either no abutment box defined yet, or has an heigth
|
||||
of zero. \fBDEF_AB\fP is to be called.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
.
|
||||
.
|
||||
.
|
||||
DEF_AB(0L, 0L, 0L, 0L);
|
||||
/\(** Put a wire through the figure \(**/
|
||||
THRU_CON_V(TALU2, 1, "grumf", 12L);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR THRU_H (3),
|
||||
.BR THRU_V (3),
|
||||
.BR THRU_CON_V (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
.\" $Id: GENLIB_THRU_H.3,v 1.1 2000/09/28 15:20:01 fred Exp $
|
||||
.\" @(#)THRU_H.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
THRU_H
|
||||
.XE \}
|
||||
.TH THRU_H 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
\fBTHRU_H\fP \- draw an horizontal wire from side to side of the
|
||||
\fIabutment box\fP of the current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void THRU_H(layer, width, y)
|
||||
char layer;
|
||||
long width;
|
||||
long y;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIlayer\fP
|
||||
Layout layer of the wire
|
||||
.TP
|
||||
\fIwidth\fP
|
||||
Width of the wire
|
||||
.TP
|
||||
\fIy\fP
|
||||
Absolute y coordinate of the wire
|
||||
.SH DESCRIPTION
|
||||
\fBTHRU_H\fP adds an horizontal segment in the current layout cell.
|
||||
The \fIy\fP coordinates gives the wire its vertical position, horizontal ones
|
||||
beeing extracted from the figure \fIabutment box\fP.
|
||||
The segment is drawn thru the figure, from one side of the \fIabutment box\fP
|
||||
to the other side.
|
||||
.br
|
||||
This function is mostly used to put \fIthrough routes\fP on a figure, and
|
||||
therefore, the \fBT\fP prefixed layer names are the most likely to be used
|
||||
here.
|
||||
.br
|
||||
The \fIlayer\fP argument can take the following legal values:
|
||||
.RS
|
||||
.TP
|
||||
\fBNWELL\fP
|
||||
.TP
|
||||
\fBPWELL\fP
|
||||
.TP
|
||||
\fBNTIE\fP
|
||||
.TP
|
||||
\fBPTIE\fP
|
||||
.TP
|
||||
\fBNDIF\fP
|
||||
.TP
|
||||
\fBPDIF\fP
|
||||
.TP
|
||||
\fBNTRANS\fP
|
||||
.TP
|
||||
\fBPTRANS\fP
|
||||
.TP
|
||||
\fBPOLY\fP
|
||||
.TP
|
||||
\fBALU1\fP
|
||||
.TP
|
||||
\fBALU2\fP
|
||||
.TP
|
||||
\fBALU3\fP
|
||||
.TP
|
||||
\fBTPOLY\fP
|
||||
.TP
|
||||
\fBTALU1\fP
|
||||
.TP
|
||||
\fBTALU2\fP
|
||||
.TP
|
||||
\fBTALU3\fP
|
||||
.RE
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"THRU_H impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a connector inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"THRU_H impossible : no or illegal abutment box"
|
||||
.ft R
|
||||
.RS
|
||||
The current figure has either no abutment box defined yet, or has a width
|
||||
of zero. \fBDEF_AB\fP is to be called.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
.
|
||||
.
|
||||
.
|
||||
DEF_AB(0L, 0L, 0L, 0L);
|
||||
/\(** Put a wire through the figure \(**/
|
||||
THRU_H(TALU2, 1, 32L);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR THRU_V (3),
|
||||
.BR THRU_CON_H (3),
|
||||
.BR THRU_CON_V (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
.\" $Id: GENLIB_THRU_V.3,v 1.1 2000/09/28 15:20:01 fred Exp $
|
||||
.\" @(#)THRU_V.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
THRU_V
|
||||
.XE \}
|
||||
.TH THRU_V 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
THRU_V \- draw a vertical wire from side to side of the
|
||||
\fIabutment box\fP of the current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void THRU_V(layer, width, x)
|
||||
char layer;
|
||||
long width;
|
||||
long x;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIlayer\fP
|
||||
Layout layer of the wire
|
||||
.TP
|
||||
\fIwidth\fP
|
||||
Width of the wire
|
||||
.TP
|
||||
\fIx\fP
|
||||
Absolute x coordinate of the wire
|
||||
.SH DESCRIPTION
|
||||
\fBTHRU_V\fP adds a vertical segment in the current layout cell.
|
||||
The \fIx\fP coordinates gives the wire its horizontal position, vertical ones
|
||||
beeing extracted from the figure \fIabutment box\fP.
|
||||
The segment is drawn thru the figure, from one side of the \fIabutment box\fP
|
||||
to the other side.
|
||||
.br
|
||||
This function is mostly used to put \fIthrough routes\fP on a figure, and
|
||||
therefore, the \fBT\fP prefixed layer names are the most likely to be used
|
||||
here.
|
||||
.br
|
||||
The \fIlayer\fP argument can take the following legal values:
|
||||
.RS
|
||||
.TP
|
||||
\fBNWELL\fP
|
||||
.TP
|
||||
\fBPWELL\fP
|
||||
.TP
|
||||
\fBNTIE\fP
|
||||
.TP
|
||||
\fBPTIE\fP
|
||||
.TP
|
||||
\fBNDIF\fP
|
||||
.TP
|
||||
\fBPDIF\fP
|
||||
.TP
|
||||
\fBNTRANS\fP
|
||||
.TP
|
||||
\fBPTRANS\fP
|
||||
.TP
|
||||
\fBPOLY\fP
|
||||
.TP
|
||||
\fBALU1\fP
|
||||
.TP
|
||||
\fBALU2\fP
|
||||
.TP
|
||||
\fBALU3\fP
|
||||
.TP
|
||||
\fBTPOLY\fP
|
||||
.TP
|
||||
\fBTALU1\fP
|
||||
.TP
|
||||
\fBTALU2\fP
|
||||
.TP
|
||||
\fBTALU3\fP
|
||||
.RE
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"THRU_V impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place a connector inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"THRU_V impossible : no or illegal abutment box"
|
||||
.ft R
|
||||
.RS
|
||||
The current figure has either no abutment box defined yet, or has a width
|
||||
of zero. \fBDEF_AB\fP is to be called.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
.
|
||||
.
|
||||
.
|
||||
DEF_AB(0L, 0L, 0L, 0L);
|
||||
/\(** Put a wire through the figure \(**/
|
||||
THRU_V(TALU2, 1, 32L);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR THRU_H (3),
|
||||
.BR THRU_CON_H (3),
|
||||
.BR THRU_CON_V (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
.\" $Id: GENLIB_UNFLATTEN_LOFIG.3,v 1.1 2000/09/28 15:20:01 fred Exp $
|
||||
.\" @(#)UNFLATTEN_LOFIG.3 2.11 91/08/22; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
UNFLATTEN_LOFIG
|
||||
.XE \}
|
||||
.TH UNFLATTEN_LOFIG 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
\fBUNFLATTEN_LOFIG\fP \- creates a hierarchy level from instances in the current logical figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void UNFLATTEN_LOFIG(figurename, instancename, list_of_instances, 0)
|
||||
char \(**figurename;
|
||||
char \(**instancename;
|
||||
char \(**list_of_instances;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIfigurename\fP
|
||||
Name of the figure of the new hierarchy to be created
|
||||
.TP
|
||||
\fIinstancename\fP
|
||||
Name to be given at the instanciation of \fIfigurename\fP into the current
|
||||
structual figure
|
||||
.TP
|
||||
\fIlist_of_instances\fP
|
||||
List of strings representing the instances to be inserted into the new figure
|
||||
.SH DESCRIPTION
|
||||
\fBUNFLATTEN_LOFIG\fP creates a new level of hierarchy, whose model name will
|
||||
be \fIfigurename\fP, and instanciate it under the name \fIinstancename\fP in
|
||||
the current figure.
|
||||
The instances whose name belong to the \fIlist_of_instances\fP parameters are
|
||||
added in the new figure, and destroyed from the current figure.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_LOFIG("mycell");
|
||||
.
|
||||
.
|
||||
.
|
||||
/\(** Place an instance \(**/
|
||||
LOINS("model","instance", "sig1", "sig2", EOL);
|
||||
/\(** flatten an instance \(**/
|
||||
UNFLATTEN_LOFIG("newfig", "newins", "instance", ..., 0);
|
||||
/\(** Save all that on disk \(**/
|
||||
SAVE_LOFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR FLATTEN_LOFIG (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
.\" $Id: GENLIB_WIDTH.3,v 1.1 2000/09/28 15:20:01 fred Exp $
|
||||
.\" @(#)WIDTH.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
WIDTH
|
||||
.XE \}
|
||||
.TH WIDTH 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
WIDTH \- compute the width of a model
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
long WIDTH(cellname)
|
||||
char \(**cellname;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIcellname\fP
|
||||
Name of the cell which width is needed
|
||||
.SH DESCRIPTION
|
||||
\fBWIDTH\fP looks for the figure called \fIcellname\fP on memory, and then on
|
||||
disk. When found, the figure \fIabutment box\fP width is calculated, and
|
||||
returned.
|
||||
.SH RETURN VALUE
|
||||
\fBWIDTH\fP returns a long int beeing the cell \fIabutment box\fP width.
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
long cellWidth;
|
||||
main()
|
||||
{
|
||||
cellWidth = WIDTH("n1_y");
|
||||
DEF_PHFIG("pwet");
|
||||
.
|
||||
.
|
||||
.
|
||||
PLACE("na2_y","ins1", NOSYM, 0L, 4 * cellWidth);
|
||||
/\(** Save all that on disk \(**/
|
||||
DEF_AB(0L, 0L, 0L, 0L);
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR HEIGHT (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,175 @@
|
|||
.\" $Id: GENLIB_WIRE1.3,v 1.1 2000/09/28 15:20:01 fred Exp $
|
||||
.\" @(#)WIRE1.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
WIRE1
|
||||
.XE \}
|
||||
.TH WIRE1 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
WIRE1 \- place a physical segment in the current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void WIRE1(layer, width, ins1, con1, index1, ins2, con2, index2)
|
||||
char layer;
|
||||
long width;
|
||||
char \(**ins1, \(**con1, \(**ins2, \(**con2;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIlayer\fP
|
||||
Layout layer of the segment
|
||||
.TP
|
||||
\fIwidth\fP
|
||||
Width of the segment
|
||||
.TP
|
||||
\fIins1\fP
|
||||
Name of the instance in which the connector \fIcon1\fP is to be looked for
|
||||
.TP
|
||||
\fIcon1\fP
|
||||
Name of a connector, or reference, used as first endpoint of the wire
|
||||
.TP
|
||||
\fIins2\fP
|
||||
Name of the instance in which the connector \fIcon2\fP is to be looked for
|
||||
.TP
|
||||
\fIcon2\fP
|
||||
Name of a connector, or reference, used as last endpoint of the wire
|
||||
.SH DESCRIPTION
|
||||
\fBWIRE1\fP adds a segment made of the \fIlayer\fP level in the current
|
||||
layout cell, the starting point
|
||||
beeing the connector, or reference, \fIcon1\fP of the instance \fIins1\fP, and
|
||||
the ending point beeing the connector, or reference, \fIcon2\fP of the instance
|
||||
\fIins1\fP. The segment is drawn between the coordinates of \fIcon1\fP in
|
||||
the current figure and the
|
||||
coordinates of \fIcon2\fP in the current figure.
|
||||
.LP
|
||||
If the endpoints are connectors, the indexes \fIindex1\fP and \fIindex2\fP must
|
||||
respectivly refer to \fIcon1\fP and \fIcon2\fP.
|
||||
If they are references, then they are not taked care of.
|
||||
One shall notice that connectors and references of a given model should not
|
||||
share names if \fBWIRE1\fP is to be used.
|
||||
.LP
|
||||
The \fIlayer\fP argument can take the following legal values :
|
||||
.RS
|
||||
.TP
|
||||
\fBNWELL\fP
|
||||
.TP
|
||||
\fBPWELL\fP
|
||||
.TP
|
||||
\fBNTIE\fP
|
||||
.TP
|
||||
\fBPTIE\fP
|
||||
.TP
|
||||
\fBNDIF\fP
|
||||
.TP
|
||||
\fBPDIF\fP
|
||||
.TP
|
||||
\fBNTRANS\fP
|
||||
.TP
|
||||
\fBPTRANS\fP
|
||||
.TP
|
||||
\fBPOLY\fP
|
||||
.TP
|
||||
\fBALU1\fP
|
||||
.TP
|
||||
\fBALU2\fP
|
||||
.TP
|
||||
\fBALU3\fP
|
||||
.TP
|
||||
\fBTPOLY\fP
|
||||
.TP
|
||||
\fBTALU1\fP
|
||||
.TP
|
||||
\fBTALU2\fP
|
||||
.TP
|
||||
\fBTALU3\fP
|
||||
.RE
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"WIRE1 impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphseg : x1, y1, x2, y2"
|
||||
.ft R
|
||||
.RS
|
||||
A symbolic segment must be either vertical or horizontal, so either
|
||||
\fIx1 = x2\fP, or \fIy1 = y2\fP. Since \fBWIRE1\fP creates a segment from
|
||||
relative coordinates, care must be taken to follow the previous rule.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"WIRE1 impossible : same name \fIconX\fP, for connector and reference in
|
||||
\fIinsX\fP"
|
||||
.ft R
|
||||
.RS
|
||||
The model of the instance \fIinsX\fP has both a connector and a reference
|
||||
that matches the \fIconX\fP name. This is not legal since genlib doesn't know
|
||||
which one to choose as point.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance \fIinsX\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
The instance called \fIinsX\fP does not currently belong to the figure.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
PLACE("gaci0_b", "r_addin_1", NOSYM, 0, 0);
|
||||
PLACE_RIGHT("gapgn_b", "pg", NOSYM);
|
||||
PLACE_RIGHT("gacin_b", "r_addin_2", NOSYM);
|
||||
/\(** Draw a segment \(**/
|
||||
WIRE1(ALU1, 1, "r_addin_1", "out", 0L, "r_addin_2", "in", 1L);
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR COPY_UP_SEG (3),
|
||||
.BR PHSEG (3),
|
||||
.BR THRU_H (3),
|
||||
.BR THRU_CON_H (3),
|
||||
.BR THRU_V (3),
|
||||
.BR THRU_CON_V (3),
|
||||
.BR WIRE2 (3),
|
||||
.BR WIRE3 (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,181 @@
|
|||
.\" $Id: GENLIB_WIRE2.3,v 1.1 2000/09/28 15:20:02 fred Exp $
|
||||
.\" @(#)WIRE2.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
WIRE2
|
||||
.XE \}
|
||||
.TH WIRE2 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
WIRE2 \- place two physical segments in the current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void WIRE2(layer, width, ins1, con1, index1, ins2, con2, index2, x, y)
|
||||
char layer;
|
||||
long width;
|
||||
char \(**ins1, \(**con1, \(**ins2, \(**con2;
|
||||
long x, y;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIlayer\fP
|
||||
Layout layer of the segment
|
||||
.TP
|
||||
\fIwidth\fP
|
||||
Width of the segment
|
||||
.TP
|
||||
\fIins1\fP
|
||||
Name of the instance in which the connector \fIcon1\fP is to be looked for
|
||||
.TP
|
||||
\fIcon1\fP
|
||||
Name of a connector, or reference, used as first endpoint of the wire
|
||||
.TP
|
||||
\fIins2\fP
|
||||
Name of the instance in which the connector \fIcon2\fP is to be looked for
|
||||
.TP
|
||||
\fIcon2\fP
|
||||
Name of a connector, or reference, used as last endpoint of the wire
|
||||
.TP
|
||||
\fIx, y\fP
|
||||
Coordinates of the segment's elbow in the current figure
|
||||
.SH DESCRIPTION
|
||||
\fBWIRE2\fP adds two segments made of the \fIlayer\fP level in the current
|
||||
layout cell, the starting point
|
||||
beeing the connector, or reference, \fIcon1\fP of the instance \fIins1\fP, and
|
||||
the ending point beeing the connector, or reference, \fIcon2\fP of the instance
|
||||
\fIins1\fP. The first segment is drawn between the coordinates of \fIcon1\fP in
|
||||
the current figure and \fIx, y\fP, and the second one between \fIx, y\fP and the
|
||||
coordinates of \fIcon2\fP in the current figure.
|
||||
.LP
|
||||
If the endpoints are connectors, the indexes \fIindex1\fP and \fIindex2\fP must
|
||||
respectivly refer to \fIcon1\fP and \fIcon2\fP.
|
||||
If they are references, then they are not taked care of.
|
||||
One shall notice that connectors and references of a given model should not
|
||||
share names if \fBWIRE2\fP is to be used.
|
||||
.LP
|
||||
The \fIlayer\fP argument can take the following legal values :
|
||||
.RS
|
||||
.TP
|
||||
\fBNWELL\fP
|
||||
.TP
|
||||
\fBPWELL\fP
|
||||
.TP
|
||||
\fBNTIE\fP
|
||||
.TP
|
||||
\fBPTIE\fP
|
||||
.TP
|
||||
\fBNDIF\fP
|
||||
.TP
|
||||
\fBPDIF\fP
|
||||
.TP
|
||||
\fBNTRANS\fP
|
||||
.TP
|
||||
\fBPTRANS\fP
|
||||
.TP
|
||||
\fBPOLY\fP
|
||||
.TP
|
||||
\fBALU1\fP
|
||||
.TP
|
||||
\fBALU2\fP
|
||||
.TP
|
||||
\fBALU3\fP
|
||||
.TP
|
||||
\fBTPOLY\fP
|
||||
.TP
|
||||
\fBTALU1\fP
|
||||
.TP
|
||||
\fBTALU2\fP
|
||||
.TP
|
||||
\fBTALU3\fP
|
||||
.RE
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"WIRE2 impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphseg : x1, y1, x2, y2"
|
||||
.ft R
|
||||
.RS
|
||||
A symbolic segment must be either vertical or horizontal, so either
|
||||
\fIx1 = x2\fP, or \fIy1 = y2\fP. Since \fBWIRE2\fP creates segments from
|
||||
relative coordinates, care must be taken to follow the previous rule.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"WIRE2 impossible : same name \fIconX\fP, for connector and reference in
|
||||
\fIinsX\fP"
|
||||
.ft R
|
||||
.RS
|
||||
The model of the instance \fIinsX\fP has both a connector and a reference
|
||||
that matches the \fIconX\fP name. This is not legal since genlib doesn't know
|
||||
which one to choose as point.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance \fIinsX\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
The instance called \fIinsX\fP does not currently belong to the figure.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
main()
|
||||
{
|
||||
/\(** Create a figure to work on \(**/
|
||||
DEF_PHFIG("cell");
|
||||
PLACE("gaci0_b", "r_addin_1", NOSYM, 0, 0);
|
||||
PLACE_TOP("gacin_b", "r_addin_2", NOSYM);
|
||||
PLACE_RIGHT("gapgn_b", "pg", NOSYM);
|
||||
/\(** Draw a segment \(**/
|
||||
WIRE2(ALU1, 1, "r_addin_1", "out", 0L, "pg", "g", 1L,
|
||||
GET_CON_X("pg", "g", 1L),
|
||||
GET_CON_Y("r_addin_1", "out", 0L));
|
||||
/\(** Save that on disk \(**/
|
||||
SAVE_PHFIG();
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR COPY_UP_SEG (3),
|
||||
.BR PHSEG (3),
|
||||
.BR THRU_H (3),
|
||||
.BR THRU_CON_H (3),
|
||||
.BR THRU_V (3),
|
||||
.BR THRU_CON_V (3),
|
||||
.BR WIRE1 (3),
|
||||
.BR WIRE3 (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
|
@ -0,0 +1,184 @@
|
|||
.\" $Id: GENLIB_WIRE3.3,v 1.1 2000/09/28 15:20:02 fred Exp $
|
||||
.\" @(#)WIRE3.3 2.11 91/08/22 ; Labo Cao-vlsi; Author : Frederic Petrot
|
||||
.if t \{\
|
||||
.so man1/alc_contents.mac
|
||||
.XS \n%
|
||||
.ti 0.2i
|
||||
WIRE3
|
||||
.XE \}
|
||||
.TH WIRE3 3 "October 1, 1997" "ASIM/LIP6" "PROCEDURAL GENERATION LANGUAGE"
|
||||
.SH NAME
|
||||
WIRE3 \- place three physical segments in the current figure
|
||||
.SH SYNOPSYS
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
void WIRE3(layer, width, ins1, con1, index1, ins2, con2, index2, x1, y1, x2, y2)
|
||||
char layer;
|
||||
long width;
|
||||
char \(**ins1, \(**con1, \(**ins2, \(**con2;
|
||||
long x1, y1, x2, y2;
|
||||
.ft R
|
||||
.fi
|
||||
.so man1/alc_origin.1
|
||||
.SH PARAMETERS
|
||||
.TP 20
|
||||
\fIlayer\fP
|
||||
Layout layer of the segment
|
||||
.TP
|
||||
\fIwidth\fP
|
||||
Width of the segment
|
||||
.TP
|
||||
\fIins1\fP
|
||||
Name of the instance in which the connector \fIcon1\fP is to be looked for
|
||||
.TP
|
||||
\fIcon1\fP
|
||||
Name of a connector, or reference, used as first endpoint of the wire
|
||||
.TP
|
||||
\fIins2\fP
|
||||
Name of the instance in which the connector \fIcon2\fP is to be looked for
|
||||
.TP
|
||||
\fIcon2\fP
|
||||
Name of a connector, or reference, used as last endpoint of the wire
|
||||
.TP
|
||||
\fIx1, y1\fP
|
||||
Coordinates of the segment's first elbow endpoint in the current figure
|
||||
.TP
|
||||
\fIx2, y2\fP
|
||||
Coordinates of the segment's second elbow endpoint in the current figure
|
||||
.SH DESCRIPTION
|
||||
\fBWIRE3\fP adds three segments made of the \fIlayer\fP level in the current
|
||||
layout cell, the starting point
|
||||
beeing the connector, or reference, \fIcon1\fP of the instance \fIins1\fP, and
|
||||
the ending point beeing the connector, or reference, \fIcon2\fP of the instance
|
||||
\fIins1\fP. The first segment is drawn between the coordinates of \fIcon1\fP in
|
||||
the current figure and \fIx1, y1\fP. The second one between \fIx1, y1\fP and
|
||||
\fIx2, y2\fP, and the last, but not the least, between \fIx2, y2\fP and the
|
||||
coordinates of \fIcon2\fP in the current figure.
|
||||
.LP
|
||||
If the endpoints are connectors, the indexes \fIindex1\fP and \fIindex2\fP must
|
||||
respectivly refer to \fIcon1\fP and \fIcon2\fP.
|
||||
If they are references, then they are not taked care of.
|
||||
One shall notice that connectors and references of a given model should not
|
||||
share names if \fBWIRE3\fP is to be used.
|
||||
.LP
|
||||
The \fIlayer\fP argument can take the following legal values :
|
||||
.RS
|
||||
.TP
|
||||
\fBNWELL\fP
|
||||
.TP
|
||||
\fBPWELL\fP
|
||||
.TP
|
||||
\fBNTIE\fP
|
||||
.TP
|
||||
\fBPTIE\fP
|
||||
.TP
|
||||
\fBNDIF\fP
|
||||
.TP
|
||||
\fBPDIF\fP
|
||||
.TP
|
||||
\fBNTRANS\fP
|
||||
.TP
|
||||
\fBPTRANS\fP
|
||||
.TP
|
||||
\fBPOLY\fP
|
||||
.TP
|
||||
\fBALU1\fP
|
||||
.TP
|
||||
\fBALU2\fP
|
||||
.TP
|
||||
\fBALU3\fP
|
||||
.TP
|
||||
\fBTPOLY\fP
|
||||
.TP
|
||||
\fBTALU1\fP
|
||||
.TP
|
||||
\fBTALU2\fP
|
||||
.TP
|
||||
\fBTALU3\fP
|
||||
.RE
|
||||
.SH ERRORS
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"WIRE3 impossible : missing DEF_PHFIG"
|
||||
.ft R
|
||||
.RS
|
||||
No figure has been yet specified by a call to \fBDEF_PHFIG\fP. So it isn't
|
||||
possible to place an instance inside it.
|
||||
you must call \fBDEF_PHFIG\fP before any other layout action.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal addphseg : x1, y1, x2, y2"
|
||||
.ft R
|
||||
.RS
|
||||
A symbolic segment must be either vertical or horizontal, so either
|
||||
\fIx1 = x2\fP, or \fIy1 = y2\fP. Since \fBWIRE3\fP creates segments from
|
||||
relative coordinates, care must be taken to follow the previous rule.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"WIRE3 impossible : same name \fIconX\fP, for connector and reference in
|
||||
\fIinsX\fP"
|
||||
.ft R
|
||||
.RS
|
||||
The model of the instance \fIinsX\fP has both a connector and a reference
|
||||
that matches the \fIconX\fP name. This is not legal since genlib doesn't know
|
||||
which one to choose as point.
|
||||
.RE
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
"illegal getphins : instance \fIinsX\fP does not exist"
|
||||
.ft R
|
||||
.RS
|
||||
The instance called \fIinsX\fP does not currently belong to the figure.
|
||||
.RE
|
||||
.SH EXAMPLE
|
||||
.nf
|
||||
.if n \{\
|
||||
.ft B \}
|
||||
.if t \{\
|
||||
.ft CR \}
|
||||
#include <genlib.h>
|
||||
draw_wire(cellHeight)
|
||||
long cellHeight;
|
||||
{
|
||||
/* draw a wire made of 1, 2, or 3 segments, given from and to connectors
|
||||
or reference, and the x and y coordinates of each elbow points */
|
||||
WIRE1(ALU1,1,"lastpg2","g2",1,"cabl31","sg",2);
|
||||
WIRE3(ALU1,1,"cabl31","sp",2, "celout2", "cin", 1,
|
||||
GET_CON_X("cabl31","sp",2),
|
||||
GET_CON_Y("cabl31","sp",2) + cellHeight / 2,
|
||||
GET_CON_X("celout2", "cin", 1),
|
||||
GET_CON_Y("cabl31","sp",2) + cellHeight / 2);
|
||||
WIRE1(POLY,1,"celout3","g",1,"celout2","co",0);
|
||||
}
|
||||
.ft R
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
.BR genlib (1),
|
||||
.BR DEF_PHFIG (3),
|
||||
.BR SAVE_PHFIG (3),
|
||||
.BR COPY_UP_SEG (3),
|
||||
.BR PHSEG (3),
|
||||
.BR THRU_H (3),
|
||||
.BR THRU_CON_H (3),
|
||||
.BR THRU_V (3),
|
||||
.BR THRU_CON_V (3),
|
||||
.BR WIRE1 (3),
|
||||
.BR WIRE2 (3).
|
||||
|
||||
|
||||
.so man1/alc_bug_report.1
|
||||
|
Loading…
Reference in New Issue