feng shui 5.0
(c) 2005, Prof. Patrick H. Madden and the BLAC CAD Research Group
feng shui is a suite of integrated circuit design tools. Version 5.0,
released in January 2005, features a recursive bisection based mix
size placement tool, and a placement tool optimized for circuits with a
great deal of structure. The placement legalizers and detailed
placement engine can also be accessed easily, for use with other
global placement tools.
In addition to the placement tools, a beta version of the dispersion
based global router is also included; this is perhaps most useful to
our colleagues working on routing, as a means to achieve common
benchmark file formats. Version 5.1, tentatively planned for April
2005, will have an expanded set of tools.
This software is released for academic use, and for industrial
benchmarking and research use, free of charge--with the license
restrictions as noted below. This software is provided "as is",
without warranty of any kind.
This software is part of active research; our objective
is to develop and evaluate novel techniques quickly.
We anticipate that our tools will be less stable than those based on
incremental improvements to traditional methods.
If you encounter bugs, please contact
the research group; while we may not be able to resolve the problem,
the information is useful for guiding our work.
This distribution includes the following.
We anticipate that the upcoming version 5.1 will include the
following; if you are interested in obtaining pre-release versions,
please contact the research group.
This starts the graphical version of the suite; we assume that a
modern X11-based desktop is running. The graphical version provides access to all
the tools in the suite, as well as integrated documentation. This
version uses the hMetis partitioner (see the license notes below).
- fs50placer [-aux Bookshelf.aux] [other arguments]
This starts the command line version of the placement tool.
Supported command line arguments are
This starts the graphical version, which has been linked to the
partitioner MLPart, rather than hMetis.
This starts the command line version of the placement tool, again
using MLPart for partitioning.
- Non-Manhattan global
- Lithography-aware detail router.
Supported File Formats
The graphical version of our tools supports a variety of file
formats. The command line version currently supports only the GSRC
The graphical verison of our tools supports a variety of sophisticated
ways to display a design. Our tool is multi-threaded, and it is
possible to observe the motion of circuit elements while placement is
This software contains several libraries developed by other groups.
Some of these have license constraints.
- The default version of the placement tools use the hMetis
partitioning library by Prof. George Karypis from the University of
Minnesota. The library is freely available for academic use, but
requires a license for commercial use. The complete license file is
here; please contact Prof.
Karypis if you have questions.
- The "M" version of the placement tools use the MLPart
partitioning library from UCLA and the University of Michigan. This
library has been released as open source, and there
are fewer constraints; the license file is here. The
library is part of "UMPack;" more information is available at
www.gigascale.org. Note: the placement tools have been tuned to
use hMetis, so performance using MLPart is not as competative. For
benchmarking, please use the hMetis version.
- The Cadence Open Source parser is used to read in the LEF/DEF
format. The license file is here. More
information is available at www.cadence.com.