Work in progress:
last updated Sun Nov 21 1999
Andrew Caldwell
Andrew B. Kahng
Igor Markov
| 0. | Older version (including old format descriptions) |
| I. | Introduction |
| II. | Hypergraphs
(1 Overview.
2 .masters,
3 .masterpins,
4 .mastertime,
5 .nodes,
6 .nets,
7 .wts)
|
| III. | Examples
|
| IV. | Executables
|
All Netlist/Hypergraph format follow the general bookshelf format guidelines.
We consider the following attributes of directed circuit hypergraphs
(many of them optional):
II.2. The .masters format
If you do not need to know pin directions/offsets, node dimensions
and other information (e.g. for weighted hypergraph partitioning),
you do not need to parse the .masters file (the .nodes file contains
the names of all instances, and the .nets provides connectivity information).
proposed .masters DTD
The following give semantic constraints (not enforced by XML) and
some aspects of [semantic] interpretation.
II.3. The .masterpins format
If you do not care about any of the information contained in the .masters
format (i.e. for balanced hypergraph partitioning), you may ignore everything
but the instanceName. The .nodes file then simply supplies the list
of node names in the instance.
proposed .nodes DTD
II.6. The .nets format
proposed .nets DTD
The format of each line is:
nodeName
weight1
[weight2]
[weight3]
or
netName
weight1
[weight2]
[weight3]
where nodeName and netName use characters
allowed for nodenames in .nodes files.
NOTE!! These are out of date! We are converting to XML.
All executables below were built to read/write the older nodes/nets format.
They will be updated very shortly.
II. Hypergraphs with pins
II.1. Overview of the multi-file format
The above attributes are distributed among four files with extensions:
.masters, .nodes, .nets and .wts.
Currently defined .aux file tags are:
Note that the files can be mentioned in any order.
The .wts file is always optional. Missing .wts file
implies unit-weight 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:
.masters, .nodes, .nets, .wts
All formats start with an XML element, a < header>. The
header currently contains an entry for the author name, and
creation date.
Netlist : file.masters file.nodes file.nets [file.wts]
specifies a complete netlist. The .masters file contains information
for each node, including pin offsets and directionalities, and cell
dimensions. The .nodes file defines instances of the masters.
You should use this format if you are doing
standard cell placement, routing (global or detailed) or block
packing (floorplanning) and in all situations calling for
a netlist. HGraph : file.nodes file.nets [file.wts]
The .masters format defines information about master nodes.
It can be viewed as a libary of node types in the hypergraph.
Each vertex in the .nodes file is an instance of
a master node (an identical copy). For example, a typical standard cell
netlist will define a small number of master node in the .masters
file, with many instances of each in the .nodes file. A block placement
instance, where each block is unique, will have a N master nodes
and N instances in the .nets file -- each master will have
only one instance.
sample masters XML file
(best viewed with MS Internet Explorer5.0 -- Netscape4.7 does not support XML)
BEGIN MASTERPIN
MASTERCELLNAME
II.4. The .mastertime format
BEGIN TIMINGMODELS CellMasterName
FROMPIN pinId
TOPIN pinId
DIRECTION {RISE | FALL}
DELAY {CELL | TRANSITION}
UNATENESS {INVERT | NONINVERT}
TABLEDIMENSIONS N1 N2
TABLEAXIS1 f1, f2, ..., fN1
TABLEAXIS2 f1, f2, ..., fN2
INTERPOLATION {LINEAR | SPLINE}
TABLEENTRIES
(( min11 typ11 max11 ) (min12 typ12 max12) ... (min1fN2 typ1fN2 max1fN2))
(( min21 typ21 max21 ) (min22 typ22 max22) ... (min2fN2 typ2fN2 max2fN2))
...
(( minfN11 typfN11 maxfN11 ) (minfN12 typfN12 maxfN12) ... (minfN1fN2 typfN1fN2 maxfN1fN2))
END TIMINGMODELS
II.5. The .nodes format
The .nodes file specifies the name of nodes/cells/blocks
in the netlist/hypergraph. Each is an instance (a copy) of
a MASTER defined in the .masters file.
sample nodes XML file
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 and optionally the pin
on the node.
sample nets XML file
II.7 The .wts format (weights)
The .wts format specifies weights for nodes and nets.
The format lists all weights for a given node/net on a single line.
All nodes/nets need not appear. However, all nodes that are listed
must have the same number of weights, as must all nets. (nodes and
nets do not need to have the same number of weights...just all nodes,
and seperately, all nets). Missing nodes will have all
weights set to 0. Missing nets will have a weight of 1. This
is to accommodate the most common partitioning and placement use models.
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/nets may appear in any order, and may be mixed.
II. Examples
NOTE!! These examples are out of date! We are converting to XML (probably).
These examples are in the older format. They will be updated very
shortly.
IV. Executables
notation included in revision1.1 of this document.
Back to Bookshelf Slots