/*===================================================================*/
//
// GORDIAN-like placement package
//
// Aaron P. Hurst (ahurst@eecs.berkeley.edu)
// Addl code from Philip Chong (pchong@cadence.com)
// hMetis partitioner (www.cs.umn.edu/~metis)
//
/*===================================================================*/
1. Requirements
An i386 Linux system (though others will certainly work with some tweaks).
A standard ANSI C development platform.
The following are optional, but useful:
- hMetis partitioner. This can be obtained from (www.cs.umn.edu/~metis)
Place (links to) the files "libhmetis.a" and "libhtmetis.h" in this directory.
Otherwise, #define NO_HMETIS in the file "place_gordian.h"
- Java SDK, if compiling BookshelfView is desired.
- Perl, if additional script utilities are desired.
2. Descriptions of contents:
place_base.h contains the basic data structures and "external" API.
place_gordian.h contains the "internal" API and configuration options.
There are also several utilities:
i) place_test
Reads a netlist description in GSRC Bookshelf format, performs global placement,
and rewrites the placement file. An example usage:
./place_test ac97_emap.nodes ac97_emap.nets ac97_emap.pl
ii) BookshelfView
A simple Java GUI to view the resulting placements. It has been tested with
Java 5 and 6. Usage:
java BookshelfView ac97_emap.nodes ac97_emap.pl
iii) hpwl
A perl script to print the half-perimeter wirelength of a placement. Usage:
./hpwl ac97_emap.nets ac97_emal.pl