Work in progress:
last updated Sat Nov 20 1999
Andrew Caldwell
Andrew B. Kahng
Igor Markov
The proposed file formats flexibly capture seeral traditional problem formulations in standard-cell placement and partitioning. We maximized the ease of use and modularity. One normally does not need to specify information beyond what's needed in a particular context, since our formats define reasonable defaults for unspecified data. Constructing parsers should be straightforward, assuming that a hash_map implementation is available (e.g., as in g++2.95). Parsers may choose not to implement some of the features below, in which case they should issue relevant error messages when they encounter such unimplemented features. We plan to make publiclly available a suite of binary utilities and, possibly, a parser.
| I. | Introduction (1 General. 2 Placement Formats) |
| II. | Hypergraphs with pins (.nodes, .nets, .wts) |
| III. | Standard cell layout (SCL) (1. Overview 2. .scl files) |
| IV. | Placement and orientation (.pl) |
| V. | Extensions for master-instance hierarchy (.masters) |
| VI. | Addressing individual pins |
| VII. | Examples
|
| VIII. | Conclusions and futures |
I.1. General
We are motivated by the desires to
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
I.2. File formats for placement
The purpose of the placement formats detailed here is to support
research and exchange of techniques on fundamental VLSI-CAD
problems. In particular, these formats should support:
The placement file formats are described as follows (by extension)
In this version of the format all rows are assumed to be
horizontal core rows. Additional row types, e.g., vertical
pad rows, will be possible in future revisions.
2. The .scl format
The .scl file format is essentially a template, and therefore can be
explained using a sample file.
This example declares 2 rows - the parser must read 2 rows
and ignore whatever follows. Failing to parse 2 row declarations
should result in a fatal error.
Orientations :
the default orientation is "vertically and face up" -
N (North). Rotate by 90deg clockwise to get E,
S and W,
flip to get FN, FE, FS and FW.
(think of a dial).
Placement files start with a line mentioning the format name and revision,
cellname info
in any order; lines with all blanks are ignored.
In .pl files,
A recent addition is an optional DIMS=(dx,dy)
that can be used to express floorplanning solutions for soft blocks.
While we consider the abstract syntax relatively solid, concrete
syntax (data formats) will be detailed over the next few days
(Nov 22-24, 1999).
Notes:
Extensions to be added soon include:
Therefore, we distribute placement information over several
component files.
To assemble multiple component files into problem instances, we use
.aux files that typically include one line of the form
We are aware of previous benchmarking efforts, especially those
by MCNC (F. Brglez et all) and C. Alpert. Whenever we depart from
those formats, this is mainly to ensure additional ease of use or
flexibility.
All legal combinations of files can be specified in a one-line
.aux file that defines a placement instance by mentioning
the above files in no particular order (the parsing order is
fixed and does not depend on the order in which files are mentioned), e.g.,
STDCellPlacement : test.nodes test.nets test.wts test.scl test.pl
Specified files are parsed in a predefined order that is determined by
their extensions (not the order in .aux file) -
.nodes, .nets, .wts, .scl, .pl.
II. Hypergraphs with pins
See the
Hypergraph slot (follow links to "old formats", i.e., no XML)
III. Standard cell layout (SCL)
1. Overview
The [single] file format for standard cell layout represents
configurations of individual rows in a standard cell layout.
Configurations of rows supply constraints for cell placement.
Every row consists of non-overlapping subrows that are aligned
at the coordinate of the row. Subrows can only differ by their
origin and the number of sites. All subrows in a row share the
following attributes of their row:
The interpretations of these attributes are given in the
next section (see also the .pl and .nets format descriptions below
for cell orientations and symmetries).
.scl files begin with a line mentioning the format name and
revision, e.g.
UCLA scl 1.0
and are typically followed by commented out lines with info about the
origin of the file
# Date:
and the like.
Allowed orientations of a cell in sites of a given row are treated as
a placement constraint and must be compared to the allowed orientations
of a given cell (i.e., cell's symmetries applied to cell's default
orientation). Placement without orientation consideration can be
represented by defaults (N) of orientations and constraints both in the
layout and hypergraph with pins.
IV. Placement and orientations (.pl format)
The single-file placement format represents (x,y)-placement of cells
(may be undefined for some cells), optional fixed status and optional
spatial orientation of each cells. Files in placement format have
extension .pl and are to be used with standard cell layuot
(.scl) files and [multi-file] specifications of hypergraph with
pins.
UCLA pl 1.0
and are typically followed by commented lines with info about the
origin of the file
# Date:
and the like. The body contains
a declaration of the number of cells (including pads) (XXX to be filled)
followed by lines of the form
V. Extensions for master-instance hierarchy(.masters)
See the
Hypergraph slot.
VI. Addressing individual pins
See the
Hypergraph slot.
VII. Examples
VIII. Conclusions and futures
We believe that our general guidelines can be used in a wide
variety of other instance formats for fundamental problems in VLSI
and are otherwise conducive of improved collaboration between
researchers.
Benchmark suites in proposed formats will be provided.
Back to Bookshelf Slots