| /*===================================================================*/ | |
| // | |
| // 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 | |