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