From 4cf8549f5c8b33c9c2363fc7f22c70e9d50357bf Mon Sep 17 00:00:00 2001 From: David Shah Date: Tue, 8 Jan 2019 10:36:30 +0000 Subject: placer1: Legalise after reaching a diameter, not temperature Signed-off-by: David Shah --- common/placer1.cc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'common/placer1.cc') diff --git a/common/placer1.cc b/common/placer1.cc index b180ebfb..767dbae6 100644 --- a/common/placer1.cc +++ b/common/placer1.cc @@ -317,7 +317,7 @@ class SAPlacer } // Once cooled below legalise threshold, run legalisation and start requiring // legal moves only - if (temp < legalise_temp && require_legal) { + if (diameter < legalise_dia && require_legal) { if (legalise_relative_constraints(ctx)) { // Only increase temperature if something was moved autoplaced.clear(); @@ -329,8 +329,8 @@ class SAPlacer else if (cell.second->belStrength < STRENGTH_STRONG) autoplaced.push_back(cell.second); } - temp = post_legalise_temp; - diameter = std::min(M, diameter * post_legalise_dia_scale); + // temp = post_legalise_temp; + // diameter = std::min(M, diameter * post_legalise_dia_scale); ctx->shuffle(autoplaced); // Legalisation is a big change so force a slack redistribution here @@ -901,9 +901,7 @@ class SAPlacer std::vector net_by_udata; std::vector old_udata; bool require_legal = true; - const float legalise_temp = 0.001; - const float post_legalise_temp = 0.002; - const float post_legalise_dia_scale = 1.5; + const int legalise_dia = 4; Placer1Cfg cfg; }; -- cgit v1.2.3