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