:
last updated Fri Nov 05 1999
Andrew Caldwell
Andrew B. Kahng
Igor Markov
| I. | Introduction |
| II. | Hypergraphs (1 Overview. 2 .nodes, 3 .nets, 4 .wts) |
| III. | Extensions for master-instance hierarchy (.masters) |
| IV. | Addressing individual pins |
| V. | Examples
|
| VI. | Executables
|
Format name : filename1 filename2 ... filenameN
Format name must be recognized by the reader software and the following filenames must have recognizable suffixes. Filenames can be mentioned in an arbitrary order and will be processed in the order relevant for a given multi-file format. We also allow CD command in .aux files (a "command" is the word that precedes the colon) for changing the current directory and will publish relevant system-independent specifications if there is interest to them.
The following agreements are common for all component and aux files
We consider the following attributes of directed circuit hypergraphs
(many of them optional):
II.2. The .nodes format
NumNodes : total number of nodes
Then, one line for each node with format as follows:
nodeName
[ nodeDimensions (default (0,0)]
[ : symmetry (default none)]
[ terminal (default is non-terminal)]
The file starts with
Standard header (as specified in
section I.2)
followed by at least total number of number of nets
netSpecifications
that list all nodes incident to each individual net.
Each netSpecification consists of:
NetDegree : number of pins on the net
[netName]
Net names should comply with the same restrictions as node names (above)
but are optional. Unnamed nets may be assigned default names by the
parser - 27-th net should be named NET27 etc (even if some nets 1-27
were named). If this collides with other named nets, the parser
should add lowercase letters until it finds an available name (e.g.,
NET27a, NET27b,.. NET27aa etc). Note that checks for name clashes
may need to be performed atfer all names nets are parsed.
If the number of nodeNames does not match the netDegree, a fatal
parser error should occur with a relevant error message printed.
A nodeName may appear more than once for the same net. This
indicates multiple connections to a node. This functionality is
intended to support block placement, but is not very essential in
standard cell placement, in which case it is acceptable to ignore all
but the first incidence of a node.
The optional pinDirection is given exactly as in the
.netD format. (I for input, O for output, B
for bidirectional)
A .nets parser should additionally check for an optional colon (:)
separated by blanks as the next word. If the colon is not found,
everything is ignored until the end of the line, and the pin is
placed at the center of the node.
If the slash is found, two doubles are expected, separated by blanks -
x and y pin offset from the origin (center) of the node.
Each double can start with a percent sign, in which case it is relative
to 1/2 of the respective (X or Y) dimension of the respective node
(this is useful for soft macros in floorplanning).
nodeName
weight1
[weight2]
[weight3]
or
netName
weight1
[weight2]
[weight3]
where nodeName and netName use characters
allowed for nodenames in .nodes files. Net names
may be default net names (e.g., NET27) that generated when reading
.nets files. Each weight is a double.
nodeName
[ nodeDimensions (default 0 0]
[ : symmetry (default none)]
[ terminal (default is non-terminal)]
we also allow (i.e., either syntax is allowed)
nodeName isA masterName
with literal "isA". This means that pin geometries for
nodeName are exactly as in masterName
II. Hypergraphs with pins
II.1. Overview of the multi-file format
The above attributes are distributed among three files with extensions:
.nodes, .nets and .wts.
One may use one-line .aux files of the following format to assemble
the relevant files.
HGraphWDims : file.nodes file.nets [file.wts]
or
HGraph : file.nodes file.nets [file.wts]
where the files can be mentioned in any order
(in the latter case, it is assumed that pin offsets are not specified).
Note that the .wts file is optional. Missing .wts file
implies unit-area for all nodes.
The order in which files are parsed is independent of the order
in which they are mentioned in the .aux file and is as follows:
.nodes, .nets, .wts
All formats start with a line mentioning the format name and revision,
e.g.,
UCLA nets 1.0
UCLA wts 1.0
UCLA nodes 1.0
and are typically followed by commented lines with info about the
origin of the file
# Date:
and the like.
The .nodes file specifies the name and other optional information
about each node in the hypergraph. Each line specifies a single
node. After the standard header, the format specifies:
NumTerminals : number of terminal (pad etc.) nodes
II.3. The .nets format
The .nets format specifies the connections in the hypergraph.
The format is similar to the .net and .netD formats, as it
specifes nets by listing their incident nodes.
NumNets : total number of nets
NumPins : total number of net-node connections
nodeName1 [pinDirection]
[: pinOffset]
nodeName2 [pinDirection]
[: pinOffset]
....
nod3NameN [pinDirection]
[: pinOffset]
II.4 The .wts format (weights)
The .wts format specifies the weights for each node. The
format lists all weights for a given node on a single line.
All nodes need not appear, however, each line must include
the same number of weights. Missing nodes will have all
weights set to 0. The parser will determine the number of
weights by counting the number of values given for the first node.
taken from the first line. Nodes may appear in any order.
The format of each line is:
III. Extensions for master-instance hierarchy(.masters)
The extensions for master-instance hierarchy consist of
Instead of
| SmallTestcase 1 | (desrciption) | (nodes/nets/wts) | (netD/areM) |
| ISPD '98 Benchmark Suite | (description) | (nodes/nets/wts) | (netD/areM) |