diff options
Diffstat (limited to 'ecp5/main.cc')
-rw-r--r-- | ecp5/main.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ecp5/main.cc b/ecp5/main.cc index 15027a5a..de279e63 100644 --- a/ecp5/main.cc +++ b/ecp5/main.cc @@ -59,6 +59,8 @@ po::options_description ECP5CommandHandler::getArchOptions() specific.add_options()("um5g-45k", "set device type to LFE5UM5G-45F"); specific.add_options()("um5g-85k", "set device type to LFE5UM5G-85F"); + specific.add_options()("sa-placer", "use pure simulated annealing placer instead of HeAP analytic placer"); + specific.add_options()("package", po::value<std::string>(), "select device package (defaults to CABGA381)"); specific.add_options()("speed", po::value<int>(), "select device speedgrade (6, 7 or 8)"); @@ -149,8 +151,12 @@ std::unique_ptr<Context> ECP5CommandHandler::createContext() chipArgs.speed = ArchArgs::SPEED_6; } } + auto ctx = std::unique_ptr<Context>(new Context(chipArgs)); + + if (vm.count("sa-placer")) + ctx->settings[ctx->id("sa_placer")] = "1"; - return std::unique_ptr<Context>(new Context(chipArgs)); + return ctx; } void ECP5CommandHandler::customAfterLoad(Context *ctx) |