placer1: Tuning

Signed-off-by: David Shah <davey1576@gmail.com>
This commit is contained in:
David Shah 2018-12-07 21:23:34 +00:00 committed by David Shah
parent 3938ea41fc
commit a218c27305

View File

@ -206,8 +206,8 @@ class SAPlacer
if (iter % 5 == 0 || iter == 1) if (iter % 5 == 0 || iter == 1)
log_info(" at iteration #%d: temp = %f, timing cost = " log_info(" at iteration #%d: temp = %f, timing cost = "
"%.0f, wirelen = %.0f est tns = %.02fns\n", "%.0f, wirelen = %.0f\n",
iter, temp, double(curr_timing_cost), double(curr_wirelen_cost), curr_tns); iter, temp, double(curr_timing_cost), double(curr_wirelen_cost));
for (int m = 0; m < 15; ++m) { for (int m = 0; m < 15; ++m) {
// Loop through all automatically placed cells // Loop through all automatically placed cells
@ -234,8 +234,8 @@ class SAPlacer
if (temp <= 1e-3 && n_no_progress >= 5) { if (temp <= 1e-3 && n_no_progress >= 5) {
log_info(" at iteration #%d: temp = %f, timing cost = " log_info(" at iteration #%d: temp = %f, timing cost = "
"%.0f, wirelen = %.0f est tns = %.02fns\n", "%.0f, wirelen = %.0f \n",
iter, temp, double(curr_timing_cost), double(curr_wirelen_cost), curr_tns); iter, temp, double(curr_timing_cost), double(curr_wirelen_cost));
break; break;
} }
@ -434,7 +434,7 @@ class SAPlacer
delta += (cfg.constraintWeight / temp) * (new_dist - old_dist) / last_wirelen_cost; delta += (cfg.constraintWeight / temp) * (new_dist - old_dist) / last_wirelen_cost;
n_move++; n_move++;
// SA acceptance criterea // SA acceptance criterea
if (delta < 0 || (temp > 1e-6 && (ctx->rng() / float(0x0fffffff)) <= std::exp(-delta / temp))) { if (delta < 0 || (temp > 1e-6 && (ctx->rng() / float(0x0fffffff)) <= std::exp(-100*delta / temp))) {
n_accept++; n_accept++;
} else { } else {
if (other_cell != nullptr) if (other_cell != nullptr)
@ -670,7 +670,6 @@ class SAPlacer
NetCriticalityMap net_crit; NetCriticalityMap net_crit;
Context *ctx; Context *ctx;
float curr_tns = 0;
float temp = 1000; float temp = 1000;
float crit_exp = 8; float crit_exp = 8;
float lambda = 0.5; float lambda = 0.5;