aboutsummaryrefslogtreecommitdiffstats
path: root/nexus/main.cc
diff options
context:
space:
mode:
authorDavid Shah <dave@ds0.me>2020-11-23 14:41:40 +0000
committerDavid Shah <dave@ds0.me>2020-11-30 08:45:28 +0000
commitca73e14cf9456d96f9cd6b04c0390c5fc5ee0973 (patch)
tree99d6314a7435f7366a3ed0bc5eaa662122bd8eb5 /nexus/main.cc
parentf84850064fc6747ea13faf41e4bae8b85be0ae5f (diff)
downloadnextpnr-ca73e14cf9456d96f9cd6b04c0390c5fc5ee0973.tar.gz
nextpnr-ca73e14cf9456d96f9cd6b04c0390c5fc5ee0973.tar.bz2
nextpnr-ca73e14cf9456d96f9cd6b04c0390c5fc5ee0973.zip
nexus: Add post-place LUTFF optimisation
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'nexus/main.cc')
-rw-r--r--nexus/main.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/nexus/main.cc b/nexus/main.cc
index 495793a3..cced1b95 100644
--- a/nexus/main.cc
+++ b/nexus/main.cc
@@ -50,6 +50,8 @@ po::options_description NexusCommandHandler::getArchOptions()
specific.add_options()("device", po::value<std::string>(), "device name");
specific.add_options()("fasm", po::value<std::string>(), "fasm file to write");
specific.add_options()("pdc", po::value<std::string>(), "physical constraints file");
+ specific.add_options()("no-post-place-opt", "disable post-place repacking (debugging use only)");
+
return specific;
}
@@ -71,7 +73,10 @@ std::unique_ptr<Context> NexusCommandHandler::createContext(std::unordered_map<s
log_error("device must be specified on the command line (e.g. --device LIFCL-40-9BG400CES)\n");
}
chipArgs.device = vm["device"].as<std::string>();
- return std::unique_ptr<Context>(new Context(chipArgs));
+ auto ctx = std::unique_ptr<Context>(new Context(chipArgs));
+ if (vm.count("no-post-place-opt"))
+ ctx->settings[ctx->id("no_post_place_opt")] = Property::State::S1;
+ return ctx;
}
void NexusCommandHandler::customAfterLoad(Context *ctx)