aboutsummaryrefslogtreecommitdiffstats
path: root/ice40
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-06-23 12:18:44 +0200
committerDavid Shah <davey1576@gmail.com>2018-06-23 12:18:44 +0200
commitd72fe0c230f79248a56e47c2f31f14b15c7f13fe (patch)
tree0c7bf06cdcc59ba644452fa62be99b1363d0e284 /ice40
parent289fca0976071eabaeccedb7caf9125f70740ef8 (diff)
downloadnextpnr-d72fe0c230f79248a56e47c2f31f14b15c7f13fe.tar.gz
nextpnr-d72fe0c230f79248a56e47c2f31f14b15c7f13fe.tar.bz2
nextpnr-d72fe0c230f79248a56e47c2f31f14b15c7f13fe.zip
place_sa: Add option to disable timing-driven placement
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'ice40')
-rw-r--r--ice40/main.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/ice40/main.cc b/ice40/main.cc
index ae8c7705..e60ce442 100644
--- a/ice40/main.cc
+++ b/ice40/main.cc
@@ -101,6 +101,7 @@ int main(int argc, char *argv[])
options.add_options()("up5k", "set device type to iCE40UP5K");
options.add_options()("freq", po::value<double>(),
"set target frequency for design in MHz");
+ options.add_options()("no-tmdriv", "disable timing-driven placement");
options.add_options()("package", po::value<std::string>(),
"set device package");
po::positional_options_description pos;
@@ -308,9 +309,11 @@ int main(int argc, char *argv[])
freq = vm["freq"].as<double>() * 1e6;
assign_budget(&ctx, freq);
print_utilisation(&ctx);
-
+ bool timing_driven = true;
+ if (vm.count("no-tmdriv"))
+ timing_driven = false;
if (!vm.count("pack-only")) {
- if (!place_design_sa(&ctx) && !ctx.force)
+ if (!place_design_sa(&ctx, timing_driven) && !ctx.force)
log_error("Placing design failed.\n");
if (!route_design(&ctx) && !ctx.force)
log_error("Routing design failed.\n");