abc-master
|
Go to the source code of this file.
Data Structures | |
struct | Partition |
Macros | |
#define | ABC__phys__place__place_gordian_h |
#define | CLIQUE_PENALTY 1.0 |
#define | IGNORE_NETSIZE 20 |
#define | LARGEST_FINAL_SIZE 20 |
#define | PARTITION_AREA_ONLY true |
#define | REALLOCATE_PARTITIONS false |
#define | FINAL_REALLOCATE_PARTITIONS false |
#define | IGNORE_COG false |
#define | MAX_PARTITION_NONSYMMETRY 0.30 |
#define | REPARTITION_LEVEL_DEPTH 4 |
#define | REPARTITION_TARGET_FRACTION 0.15 |
#define | REPARTITION_FM false |
#define | REPARTITION_HMETIS true |
#define | FM_MAX_BIN 10 |
#define | FM_MAX_PASSES 10 |
Typedefs | |
typedef struct Partition | Partition |
Functions | |
void | initPartitioning () |
Initializes data structures necessary for partitioning. More... | |
void | incrementalPartition () |
Adds new cells to an existing partition. Partition sizes/locations are unchanged. More... | |
bool | refinePartitions () |
Splits large leaf partitions. More... | |
void | reallocPartitions () |
Reallocates the partitions based on placement information. More... | |
bool | refinePartition (Partition *p) |
Splits any large leaves within a partition. More... | |
void | resizePartition (Partition *p) |
Recomputes the bounding boxes of the child partitions based on their relative areas. More... | |
void | reallocPartition (Partition *p) |
Reallocates a partition and all of its children. More... | |
void | repartitionHMetis (Partition *parent) |
Repartitions the two subpartitions using the hMetis min-cut library. More... | |
void | repartitionFM (Partition *parent) |
Fiduccia-Matheyses mincut partitioning algorithm. More... | |
void | partitionScanlineMincut (Partition *parent) |
Scans the cells within a partition from left to right and chooses the min-cut. More... | |
void | partitionEqualArea (Partition *parent) |
Splits a partition into two halves of equal area. More... | |
void | sanitizePlacement () |
Moves any cells that are outside of the core bounds to the nearest location within. More... | |
void | constructQuadraticProblem () |
Constructs the matrices necessary to do analytical placement. More... | |
void | solveQuadraticProblem (bool useCOG) |
Calls quadratic solver. More... | |
Variables | |
int | g_place_numPartitions |
qps_problem_t * | g_place_qpProb |
Partition * | g_place_rootPartition |
#define ABC__phys__place__place_gordian_h |
Definition at line 11 of file place_gordian.h.
#define CLIQUE_PENALTY 1.0 |
Definition at line 21 of file place_gordian.h.
#define FINAL_REALLOCATE_PARTITIONS false |
Definition at line 28 of file place_gordian.h.
#define FM_MAX_BIN 10 |
Definition at line 39 of file place_gordian.h.
#define FM_MAX_PASSES 10 |
Definition at line 40 of file place_gordian.h.
#define IGNORE_COG false |
Definition at line 29 of file place_gordian.h.
#define IGNORE_NETSIZE 20 |
Definition at line 22 of file place_gordian.h.
#define LARGEST_FINAL_SIZE 20 |
Definition at line 25 of file place_gordian.h.
#define MAX_PARTITION_NONSYMMETRY 0.30 |
Definition at line 30 of file place_gordian.h.
#define PARTITION_AREA_ONLY true |
Definition at line 26 of file place_gordian.h.
#define REALLOCATE_PARTITIONS false |
Definition at line 27 of file place_gordian.h.
#define REPARTITION_FM false |
Definition at line 35 of file place_gordian.h.
#define REPARTITION_HMETIS true |
Definition at line 36 of file place_gordian.h.
#define REPARTITION_LEVEL_DEPTH 4 |
Definition at line 33 of file place_gordian.h.
#define REPARTITION_TARGET_FRACTION 0.15 |
Definition at line 34 of file place_gordian.h.
void constructQuadraticProblem | ( | ) |
Constructs the matrices necessary to do analytical placement.
Definition at line 53 of file place_genqp.c.
void incrementalPartition | ( | ) |
Adds new cells to an existing partition. Partition sizes/locations are unchanged.
The function recurses, adding new cells to appropriate subpartitions.
Definition at line 1103 of file place_partition.c.
void initPartitioning | ( | ) |
Initializes data structures necessary for partitioning.
Creates a valid g_place_rootPartition.
Definition at line 67 of file place_partition.c.
void partitionEqualArea | ( | Partition * | parent | ) |
Splits a partition into two halves of equal area.
Definition at line 834 of file place_partition.c.
void partitionScanlineMincut | ( | Partition * | parent | ) |
Scans the cells within a partition from left to right and chooses the min-cut.
Definition at line 879 of file place_partition.c.
void reallocPartition | ( | Partition * | p | ) |
Reallocates a partition and all of its children.
Definition at line 988 of file place_partition.c.
void reallocPartitions | ( | ) |
Reallocates the partitions based on placement information.
Definition at line 138 of file place_partition.c.
Splits any large leaves within a partition.
Definition at line 150 of file place_partition.c.
bool refinePartitions | ( | ) |
Splits large leaf partitions.
Definition at line 126 of file place_partition.c.
void repartitionFM | ( | Partition * | parent | ) |
Fiduccia-Matheyses mincut partitioning algorithm.
UNIMPLEMENTED (well, un-C-ified)
Definition at line 435 of file place_partition.c.
void repartitionHMetis | ( | Partition * | parent | ) |
Repartitions the two subpartitions using the hMetis min-cut library.
The number of cut nets between the two partitions will be minimized.
Definition at line 258 of file place_partition.c.
void resizePartition | ( | Partition * | p | ) |
Recomputes the bounding boxes of the child partitions based on their relative areas.
Definition at line 1022 of file place_partition.c.
void sanitizePlacement | ( | ) |
Moves any cells that are outside of the core bounds to the nearest location within.
Definition at line 125 of file place_gordian.c.
void solveQuadraticProblem | ( | bool | useCOG | ) |
Calls quadratic solver.
Definition at line 275 of file place_genqp.c.
int g_place_numPartitions |
Definition at line 28 of file place_gordian.c.
qps_problem_t* g_place_qpProb |
Definition at line 28 of file place_genqp.c.
Partition* g_place_rootPartition |
Definition at line 34 of file place_partition.c.