aboutsummaryrefslogtreecommitdiffstats
path: root/common/placer1.cc
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2018-08-09 18:39:10 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2018-08-09 18:39:10 +0200
commit93a0d2456086b2c0e4a50d6ecc43ab028895bcad (patch)
tree962c150e9ca95837260bd99801e4e35309d3bdb9 /common/placer1.cc
parent8b04a646291bec7fb65b3580a08c266268acf010 (diff)
downloadnextpnr-93a0d2456086b2c0e4a50d6ecc43ab028895bcad.tar.gz
nextpnr-93a0d2456086b2c0e4a50d6ecc43ab028895bcad.tar.bz2
nextpnr-93a0d2456086b2c0e4a50d6ecc43ab028895bcad.zip
Use settings for placer1 and router1
Diffstat (limited to 'common/placer1.cc')
-rw-r--r--common/placer1.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/common/placer1.cc b/common/placer1.cc
index 91320240..4171e21b 100644
--- a/common/placer1.cc
+++ b/common/placer1.cc
@@ -23,6 +23,7 @@
#include "placer1.h"
#include <algorithm>
+#include <boost/lexical_cast.hpp>
#include <cmath>
#include <iostream>
#include <limits>
@@ -95,14 +96,12 @@ class SAPlacer
if (bel_type != cell->type) {
log_error("Bel \'%s\' of type \'%s\' does not match cell "
"\'%s\' of type \'%s\'\n",
- loc_name.c_str(), bel_type.c_str(ctx), cell->name.c_str(ctx),
- cell->type.c_str(ctx));
+ loc_name.c_str(), bel_type.c_str(ctx), cell->name.c_str(ctx), cell->type.c_str(ctx));
}
if (!ctx->isValidBelForCell(cell, bel)) {
log_error("Bel \'%s\' of type \'%s\' is not valid for cell "
"\'%s\' of type \'%s\'\n",
- loc_name.c_str(), bel_type.c_str(ctx), cell->name.c_str(ctx),
- cell->type.c_str(ctx));
+ loc_name.c_str(), bel_type.c_str(ctx), cell->name.c_str(ctx), cell->type.c_str(ctx));
}
ctx->bindBel(bel, cell, STRENGTH_USER);
@@ -461,6 +460,8 @@ class SAPlacer
Placer1Cfg cfg;
};
+Placer1Cfg::Placer1Cfg(Context *ctx) : Settings(ctx) { constraintWeight = get<float>("placer1/constraintWeight", 10); }
+
bool placer1(Context *ctx, Placer1Cfg cfg)
{
try {