Increase temp and diameter after legalisation

Signed-off-by: David Shah <davey1576@gmail.com>
This commit is contained in:
David Shah 2018-06-29 15:30:00 +02:00
parent 4977b35d2f
commit 23789b7569

View File

@ -40,6 +40,7 @@
#include "place_common.h" #include "place_common.h"
#include "place_legaliser.h" #include "place_legaliser.h"
#include "util.h" #include "util.h"
#include "timing.h"
NEXTPNR_NAMESPACE_BEGIN NEXTPNR_NAMESPACE_BEGIN
class SAPlacer class SAPlacer
@ -215,6 +216,8 @@ class SAPlacer
if (cell.second->belStrength < STRENGTH_STRONG) if (cell.second->belStrength < STRENGTH_STRONG)
autoplaced.push_back(cell.second); autoplaced.push_back(cell.second);
} }
temp = post_legalise_temp;
diameter *= post_legalise_dia_scale;
ctx->shuffle(autoplaced); ctx->shuffle(autoplaced);
} }
@ -421,6 +424,8 @@ class SAPlacer
std::unordered_set<BelId> locked_bels; std::unordered_set<BelId> locked_bels;
bool require_legal = false; bool require_legal = false;
const float legalise_temp = 1; const float legalise_temp = 1;
const float post_legalise_temp = 20;
const float post_legalise_dia_scale = 2;
}; };
bool place_design_sa(Context *ctx, bool timing_driven) bool place_design_sa(Context *ctx, bool timing_driven)