remove de mans en trop

This commit is contained in:
Olivier Sirol 1999-09-24 16:28:34 +00:00
parent d6d3e7c695
commit 09f6fc0e33
8 changed files with 0 additions and 737 deletions

View File

@ -1,44 +0,0 @@
.\" $Id: action.3,v 1.1 1999/05/31 17:30:16 alliance Exp $
.\" @(#)ACTION.2 1.9 Sep 15 1992 UPMC ; VUONG H.N.
.TH ACTION 3 "October 1, 1997" "ASIM/LIP6" "GENPAT functions"
.SH NAME
.PP
\fBaction\fP, GENPAT Package
.SH SYNOPSYS
.PP
.nf
action("instruction");
.fi
.so man1/alc_origin.1
.SH PARAMETERS
.PP
.TP 10
\fIinstruction\fP
The action asked.
There is only one instruction available : S, to save the current state of the circuit at the end of the simulation.
.SH DESCRIPTION
.PP
To give instructions to the simulator.
.SH EXAMPLES
.PP
.nf
action("S");
.fi
.SH SEE ALSO
.PP
genpat(1), pat(5)
.SH DIAGNOSTICS
.PP
All the ports used in an array, if they are declared elsewhere must be declared before the declaration of the Array.
.so man1/alc_bug_report.1

View File

@ -1,65 +0,0 @@
.\" $Id: array.3,v 1.1 1999/05/31 17:30:17 alliance Exp $
.\" @(#)ARRAY.2 1.9 UPMC ; VUONG H.N.
.TH ARRAY 3 "October 1, 1997" "ASIM/LIP6" "GENPAT functions"
.SH NAME
.PP
\fBarray\fP, GENPAT Package
.so man1/alc_origin.1
.SH SYNOPSYS
.PP
.nf
array("ident","ident", ... ,":nb_space","format","type","ident_group",0);
.fi
.SH PARAMETERS
.PP
.TP 10
\fIident\fP
name of a bused connector (output only), a bused signal or a bused
register, or for a scalar : name (followed with a number if part of a
bused signal) of a connector, a signal or a register.The number of character is limited to 20
.TP 10
\fInb_space\fP
Specify the number of blank space between each group of value. 0,1,2,3,4,5,6,7,8,9 or nothing.
.TP 10
\fIformat\fP
Specify the format that will be used to represent the value associated to
the connectors. X for Hexadecimal, O for Octal and B for Binary.
.TP 10
\fItype\fP
Specify the type of the connectors. R for Register, S for Signal, O for Output.
.TP 10
\fIident_group\fP
Specify the array's name, the first ident is associated with the lsb of the
array.
.SH DESCRIPTION
.PP
Describes a set of vectors of the same format and type. The vectors
may be either PORT, REGISTER or SIGNAL, ( for a PORT only the mode OUT is
allowed). The vectors may have been yet declared.
.SH EXAMPLES
.PP
.nf
array("regt","reg 9",":2","B","R","Y",0);
describes : regt, reg 9.
format : Binary.
type : Register.
each group is separated of the others with 2 blank spaces.
identifier : Y
if regt is not yet declared or declared of size 1 :
regt is associated with Y 0, reg 9 is associated with Y 1.
if regt is yet declared of size n :
regt is associated with Y 0 TO n, reg is associated with Y n+1.
.fi
.SH SEE ALSO
.PP
port(3), signal(3), register(3), genpat(1), pat(5)
.so man1/alc_bug_report.1

View File

@ -1,39 +0,0 @@
.\" $Id: def_genpat.3,v 1.1 1999/05/31 17:30:19 alliance Exp $
.\" @(#)DEF_GENPAT.2 1.9 UPMC ; VUONG H.N.
.TH DEF_GENPAT 3 "October 1, 1997" "ASIM/LIP6" "GENPAT functions"
.SH NAME
.PP
\fBdef_genpat\fP, GENPAT Package
.so man1/alc_origin.1
.SH SYNOPSYS
.PP
.nf
def_genpat("ident");
.fi
.SH PARAMETERS
.PP
.TP 10
\fIident\fP
Output file's name.
.SH DESCRIPTION
.PP
Gives the output file's name.
.SH EXAMPLE
.PP
.nf
def_genpat("kiki");
declares the output file's name as kiki.<VH_PATSFX>, usually kiki.pat.
.fi
.SH SEE ALSO
.PP
sav_genpat(3), genpat(1), pat(5)
.so man1/alc_bug_report.1

View File

@ -1,36 +0,0 @@
.\" $Id: label.3,v 1.1 1999/05/31 17:30:22 alliance Exp $
.\" @(#)LABEL.2 1.9 UPMC ; VUONG H.N.
.TH LABEL 3 "October 1, 1997" "ASIM/LIP6" "GENPAT functions"
.SH NAME
.PP
\fBlabel\fP, GENPAT Package
.so man1/alc_origin.1
.SH SYNOPSYS
.PP
.nf
label("ident");
.fi
.SH PARAMETERS
.PP
.TP 10
\fIident\fP
The LABEL asked.
.SH DESCRIPTION
.PP
Gives ident as the label of the current line of patterns in the output file. The current line of pattern is the pattern where the next AFFECT will aplly. That means than a LABEL must be written BEFORE an AFFECT, on which pattern it will apply.
.SH EXAMPLE
.PP
.nf
label("foo");
.fi
.SH SEE ALSO
genpat(1), pat(5)
.so man1/alc_bug_report.1

View File

@ -1,95 +0,0 @@
.\" $Id: openverticalchannel.3,v 1.1 1999/05/31 17:30:23 alliance Exp $
.\" @(#)OpenVerticalChannel.2 1.0 93/10/07 ; Labo masi cao-vlsi; Author : Xavier Picat
.if t \{\
.XS \n%
.ti 0.2i
OpenVerticalChannel
.XE
.XS2 \n%
.ti 0.2i
OpenVerticalChannel
.XE2 \}
.TH OPENVERTICALCHANNEL 3 "October 1, 1997" "ASIM/LIP6" "APR FUNCTIONS"
.SH NAME
OpenVerticalChannel \- open a vertical channel in a phfig
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "aprnnn.h"
phfig_list \(**OpenVerticalChannel(ptfig,x,epsilon,width)
phfig_list \(**ptfig;
unsigned long x;
unsigned long epsilon;
unsigned long width;
.ft R
.fi
.SH PARAMETER
.TP 20
\fIptfig\fP
Name of the figure to be created
.TP 20
\fIx\fP
Where the channel must be opened
.TP 20
\fIepsilon\fP
How much x can be changed
.TP 20
\fIwidth\fP
Width of the channel
.SH DESCRIPTION
\fBOpenVerticalChannel\fP shifts toward the right all the instances
of \fIptfig\fP, which have an \fIXINS\fP greater than the \fIx\fP
passed. The value of the shift is determined by the fact that none
of the instances which will have an \fIXINS\fP greater than \fIx\fP
must overlap. If epsilon doesn't equal zero, \fBOpenVerticalChannel\fP
looks at all the positions between \fIx\fP-\fIepsilon\fP and
\fIx\fP+\fIepsilon\fP, so that the gap created by the channel is the
smallest possible. The \fIwidth\fP is added to the shift to find of
how much the \fIXINS\fP of the instances which are to be moved must
be increased.
.br
\fIx\fP, \fIepsilon\fP and \fIwidth\fP must be a multiple of PITCH_X (defined in
scr.h).
.br
The least value recommended for \fIepsilon\fP is half the width of the largest
instance.
.br
Opening a channel is very fast (less than a second for 10 000 instances).
.br
.SH RETURN VALUE
\fBOpenVerticalChannel\fP returns a pointer to the modified \fIphfig\fP
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
none
.ft R
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "aprnnn.h"
phfig_list \(**open_in_middle(ptfig)
phfig_list \(**ptfig;
{
long x;
x = (ptphfig->XAB2-ptphfig->XAB1)>>1;
x = x - x%PITCH_X;
return (OpenVerticalChannel (ptfig,x, 5*PITCH_X, 10*PITCH_X));
}
.ft R
.fi
.SH SEE ALSO
.if n \{\
.br
.so man1/alc_bug_report.1

View File

@ -1,262 +0,0 @@
.\" $Id: place.3,v 1.1 1999/05/31 17:30:24 alliance Exp $
.\" @(#)place.1 1.0 93/07/29 ; Labo masi cao-vlsi; Author : Xavier Picat
.TH PLACE 3 "October 1, 1997" "ASIM/LIP6" "APR FUNCTIONS"
.SH NAME
place \- place the cells of a net list
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "aprnnn.h"
placement_fig \fB*place\fP(ptlofig,
nbmodif,
nbrow,
weightx,
weighty,
weightrows,
weightcon,
connectors)
lofig_list *ptlofig;
unsigned long nbmodif;
unsigned long nbrow;
unsigned long weightx;
unsigned long weighty;
unsigned long weightrows;
long weightcon;
PlaceConList *connectors;
.br
.SH PARAMETERS
.TP 15
\fIptlofig\fP
logical view to place
.TP 15
\fInbmodif\fP
how many times the placer must try for a better placement
.TP 15
\fInbrow\fP
number of rows the figure must have
.TP 15
\fIweightx\fP
weight of horizontal distances in the cost function
.TP 15
\fIweighty\fP
weight of vertical distances in the cost function
.TP 15
\fIweightrows\fP
weight of the length disparities in the cost function
.TP 15
\fIweightcon\fP
weight of the distances to the external connectors in the cost function
.TP 15
\fIconnectors\fP
constraints on the external connectors placement
.br
.SH DESCRIPTION
\fBplace\fP tries to place the instances of the logical view, in order to minimize the cost function.
.br
.TP 15
\fIptlofig\fP
logical view to place
.TP 15
\fInbmodif\fP
The greater \fInbmodif\fP, the better the placement (that is, the smallest the circuit will be after routing). The time used to place the view is proportionnal to \fInbmodif\fP, it also depends on the number of instances contained in the logical view. With \fInbmodif\fP = 1000 :
.br
80 instances(cells) -> 25 s
.br
450 instances(cells) -> 40 s
.br
If \fInbmodif\fP is lesser than the number of cells, it is set to that number, in order to avoid very bad placement.
.br
.TP 15
\fInbrow\fP
Number of rows on which the cells must be placed. If it equals 0, the program computes a value which will, hopefully, give a square shape.
.br
.bp
.PP
Here is the cost function used, in order to help you understand the use of the \fIweight\fP parameters:
.br
TotalCost = SignalsCost + (RowsCost*2)^\fIweightrows\fP
.br
SignalsCost = HorizontalCost*2^\fIweightx\fP + VerticalCost*2^\fIweighty\fP + ConnectorsCost*2^\fIweightcon\fP
.br
.TP 20
HorizontalCost
is an estimation to the total length of all the signals on the x axis (in lambdas).
.TP 20
VerticalCost
is an estimation to the total length of all the signals on the y axis (in lambdas).
.TP 20
RowsCost
represents the inequality of the Rows width (in lambdas).
.TP 20
ConnectorsCost
represents the total length of all the signals which are connected to a connector.
.TP 20
\fIweightx, weight\fP
All the cost coefficients are used as power of 2. So take care not to give a too big value to these parameters : neither \fIweightx\fP, nor \fIweighty\fP should be greater than 10(2^10 = 1024), because on big circuits it could result in an overflow during the TotalCost computing. In case of overflow, the area improvement will be low (<30%) wathever value of \fInbmodif\fP.
.TP 20
\fIweightrows\fP
must not be larger than 3, larger values, will result in a very, very, bad placement.
.TP 20
\fIconnectors\fP
Describe where some connectors shall be placed. If it is NULL, the \fIweightcon\fP parameter isn't taken in account.
.br
.PP
The PlaceConList structure contains the connectors placement constraints :
.br
typedef struct {
.IP
CaracConList *NEXT;
.br
char *NAME;
.br
long USER;
.br
} CaracConList;
.br
.fi
.TP 15
\fINEXT\fP
Pointer to the next connector placed on the same face.
.br
.TP 15
\fINAME\fP
Name of the connector; it must be present in the lofig_list.
.br
.TP 15
\fIUSER\fP
Row on which the connector must be placed. Take care that if you don't set the number of rows(\fInbrow\fP), you may place a connector on a row which doesn't exist (because if \fInbrow\fP = 0, the placer compute a value for \fInbrow\fP which may be too small).
.br
.PP
typedef struct {
.IP
CaracConList *NORTH_CON;
.br
CaracConList *SOUTH_CON;
.br
CaracConList *WEST_CON;
.br
CaracConList *EAST_CON;
.br
long VER_FEED;
.br
long HOR_FEED;
.br
} PlaceConList
.br
.TP 15
\fINORTH_CON\fP, \fISOUTH_CON\fP, \fIWEST_CON\fP, \fIEAST_CON\fP
All these fields point to a \fICaracConList\fP which tells the placer on which face the connectors of the concerned list are placed. One or all of these fields may be NULL.
.br
.TP 15
\fIVER_FEED\fP, \fIHOR_FEED\fP
These fields are ignored by the placer.
.br
.bp
.PP
The \fIplacement_fig\fP structure contains the cell placement given by the optimization procedure:
.br
typedef struct {
.IP
row_elt *Rows;
.br
long NbRow;
.br
cell_list *Cells;
.br
long NbCells;
.br
} placement_fig
.br
.TP 15
\fIRows\fP, \fINbRow\fP
Pointer to an array of \fINbRow\fP(=\fInbrow\fP if it wasn't null) \fIrow_elt\fP elements. Don't forget to free this array, allocated by \fBplace\fP, with a call to \fBmbkfree\fP.
.br
.TP 15
\fICells\fP,\fINbCells\fP
Pointer to an array of \fINbCells\fP \fIcell_list\fP elements. The main purpose of the field is to allow you to free this array, allocated by \fBplace\fP, with a call to \fBmbkfree\fP. The \fIhead\fP and \fItail\fP fields of the \fIrow_elt\fP structure point to an element of these array. All the elements of this array are chained together. So it cannot be freed until you have used it.
.PP
typedef struct {
.IP
cell_list *head;
.br
cell_list *tail;
.br
long width;
.br
} row_elt;
.br
.TP 15
\fIhead\fP, \fItail\fP
Pointer to the first and the last cells of the row.
.br
.TP 15
\fIwidth\fP
width of the row
.PP
typedef struct {
.br
cell_list *next;
.br
cell_list *prev;
.br
long width;
.br
long x;
.br
long y;
.br
long row;
.br
loins_list *ins;
.br
void *first;
.br
} cell_list
.IP "\fInext\fP, \fIprev\fP" 10n
These fields hold a pointer to the next and the previous cell in the row \fIrow\fP.
.br
.IP "\fIwidth\fP"
width of the cell (in lambda).
.br
.IP "\fIx\fP, \fIy\fP"
Position of the center of the cell. Do not rely on these values, as they aren't really the coordinates of the instance (they are only used to speed-up the placement processing).
.br
.IP "\fIrow\fP"
In which row the cell is in.
.br
.IP "\fIins\fP"
Pointer to the \fIloins_list\fP associated to the cell (taken from the \fIlofig_list\fP).
.br
.IP "\fIfirst\fP"
Undocumented.
Width of the row (it is this value which determines the RowsCost).
.br
.SH EXAMPLE
#include "aprnnn.h"
.br
phfig_list *place_the_fig(ptlofig)
.br
lofig_list *ptlofig;
.br
{
.br
return (Placer2scr(ptlofig->NAME,
.br
Place(ptlofig,1000,4,0,7,5,5,LeadPlaceConList));
.br
}
.br
.SH SEE ALSO
.BR mbkfree(1),
.BR loins(1),
.BR lofig(1),
.BR scr(1)
.BR apr(3)
.br
.so man1/alc_bug_report.1

View File

@ -1,32 +0,0 @@
.\" $Id: sav_genpat.3,v 1.1 1999/05/31 17:30:24 alliance Exp $
.\" @(#)SAV_GENPAT.2 1.9 UPMC ; VUONG H.N.
.TH SAV_GENPAT 3 "October 1, 1997" "ASIM/LIP6" "GENPAT functions"
.SH NAME
.PP
\fBsav_genpat\fP, GENPAT Package
.so man1/alc_origin.1
.SH SYNOPSYS
.PP
.nf
sav_genpat();
.fi
.SH DESCRIPTION
.PP
Indicates the end of the description.
.SH EXAMPLE
.PP
.nf
sav_genpat();
.fi
.SH SEE ALSO
.PP
def_genpat(3).genpat(1), pat(5)
.so man1/alc_bug_report.1

View File

@ -1,164 +0,0 @@
.\" $Id: symbolicchannelrouter.3,v 1.1 1999/05/31 17:30:25 alliance Exp $
.\" @(#)SymbolicChannelRouter.1 1.0 93/07/29 ; Labo masi cao-vlsi; Author : El housseine REJOUAN
.TH SYMBOLICCHANNELROUTER 3 "October 1, 1997" "ASIM/LIP6" "APR FUNCTIONS"
.SH NAME
SymbolicChannelRouter \- routes a given channel on a symbolic grid
.so man1/alc_origin.1
.SH SYNOPSYS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "aprnnn.h"
int \fBSymbolicChannelRouter\fP(ptNorthConList,
ptSouthConList,
ptWestConList,
ptEastConList,
ChannelWidth,
ChannelHeight,
ptHorSegList,
ptVerSegList,
ptViaList)
ConnectorList *ptNorthConList;
ConnectorList *ptSouthConList;
ConnectorList *ptWestConList;
ConnectorList *ptEastConList;
long *ChannelWidth;
long *ChannelHeight;
SegmentList **ptHorSegList;
SegmentList **ptVerSegList;
ViasList **ptViaList;
.ft R
.fi
.SH PARAMETERS
.TP 10
\fIptNorthConList\fP
List of the connectors located on the north side of the channel.
.TP 10
\fIptSouthConList\fP
List of the connectors located on the south side of the channel.
.TP 10
\fIptWestConList\fP
List of the connectors located on the west side of the channel.
.TP 10
\fIptEastConList\fP
List of the connectors located on the east side of the channel.
.TP 10
\fIChannelWidth\fP
Width of the channel.
.TP 10
\fIChannelHeight\fP
Height of the channel.
.TP 10
\fIptHorSegList\fP
List of horizontal wires produced by the \fBSymbolicChannelRouter\fP.
.TP 10
\fIptVerSegList\fP
List of vertical wires produced by the \fBSymbolicChannelRouter\fP.
.TP 10
\fIptViaList\fP
List of vias produced by the \fBSymbolicChannelRouter\fP.
.SH DESCRIPTION
\fBSymbolicChannelRouter\fP routes a given channel on symbolic grid using a greedy algorithm.
.br
The connectors on the west and east sides are
.br
The \fIptNorthConList\fP, \fIptSouthConList\fP, \fIptWestConList\fP and \fIptEastConList\fP
can be NULL.
.br
The \fIChannelWidth\fP is the width of the channel. It is a symbolic value.
.br
\fIChannelHeight\fP is the Height of the channel. It is a symbolic value and it may be a value zero.
.br
The \fIptHorSegList\fP, \fIptVerSegList\fP and \fIptViaList\fP are returned by the \fBSymbolicChannelRouter\fP.
.br
The SymbolicChannelRouter structure is described :
.nf
typedef struct SCR_ConnectorList
{
struct SCR_ConnectorList *NextCon;
long ConName;
long Mark;
} ConnectorList
.fi
.TP 10
\fINextCon\fP
Pointer to the next connector in the list.
.br
.TP 10
\fIConName\fP
Name of the connector.
.br
.TP 10
\fIMark\fP
Connector index on a symbolic grid.
.nf
.PP
typedef struct SCR_SegmentList
{
struct SCR_SegmentList *NextSeg;
char *SegName;
long X1Seg;
long Y1Seg;
long X2Seg;
long Y2Seg;
} SegmentList
.fi
.br
.TP 10
\fINextSeg\fP
Pointer to the next segment in the list.
.TP 10
\fISegName\fP
Name of the segment.
.br
.TP 10
\fIX1Seg\fP, \fIY1Seg\fP, \fIX2Seg\fP, \fIY2Seg\fP
Coordinates of each end of the segment. Since it's a symbolic segment.
.nf
.PP
typedef struct SCR_ViasList
{
struct SCR_ViasList *NextVia;
long XVia;
long YVia;
} ViasList
.fi
.br
.TP 10
\fINextVia\fP
Pointer to the next via in the list.
.TP 10
\fIXVia\fP,\fIYVia\fP
Coordinates of the center of the via.
.PP
.br
.RE
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "aprnnn.h"
if (SymbolicChannelRouter(ptNorthConList,
ptSouthConList,
ptWestConList,
ptEastConList,
&ChannelWidth,
&ChannelHeight,
&ptHorSegList,
&ptVerSegList,
&ptViaList))
printf("the channel width is modified;\n");
else printf("the channel width is not modified;\n");
.ft R
.fi
.SH SEE ALSO
.BR apr(3)
.so man1/alc_bug_report.1