|
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.