aboutsummaryrefslogtreecommitdiffstats
path: root/common/placer_heap.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/placer_heap.h')
-rw-r--r--common/placer_heap.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/common/placer_heap.h b/common/placer_heap.h
index a018aef8..46c00503 100644
--- a/common/placer_heap.h
+++ b/common/placer_heap.h
@@ -35,12 +35,21 @@ struct PlacerHeapCfg
{
PlacerHeapCfg(Context *ctx);
- float alpha;
+ float alpha, beta;
float criticalityExponent;
float timingWeight;
bool timing_driven;
+ float solverTolerance;
+ bool placeAllAtOnce;
+ int hpwl_scale_x, hpwl_scale_y;
+ int spread_scale_x, spread_scale_y;
+
+ // These cell types will be randomly locked to prevent singular matrices
std::unordered_set<IdString> ioBufTypes;
+ // These cell types are part of the same unit (e.g. slices split into
+ // components) so will always be spread together
+ std::vector<std::unordered_set<IdString>> cellGroups;
};
extern bool placer_heap(Context *ctx, PlacerHeapCfg cfg);