OpenFPGA/abc_with_bb_support/src/phys/place
Baudouin Chauviere afbe5bd3ff need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
..
Makefile need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
README need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
hpwl need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
libhmetis.h need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
module.make need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
place_base.c need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
place_base.h need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
place_bin.c need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
place_genqp.c need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
place_gordian.c need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
place_gordian.h need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
place_inc.c need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
place_io.c need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
place_legalize.c need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
place_pads.c need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
place_partition.c need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
place_qpsolver.c need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
place_qpsolver.h need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00
place_test.c need abc_with_bb_support for ace compilation 2018-12-09 15:45:09 -07:00

README

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