diff options
author | David Shah <davey1576@gmail.com> | 2018-12-26 16:27:29 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-26 16:27:29 +0000 |
commit | eb456ef476e8342b4709d71cbff6ef22a714d6ec (patch) | |
tree | 3c0c56e5755e51d9d136f5243b9148efeffc62b2 /ice40/main.cc | |
parent | 6c01f9b4ac5321a56d7deaf94bca28c5a2457caa (diff) | |
parent | 4444a39fd481cafebb527850e9c7fff38d846154 (diff) | |
download | nextpnr-eb456ef476e8342b4709d71cbff6ef22a714d6ec.tar.gz nextpnr-eb456ef476e8342b4709d71cbff6ef22a714d6ec.tar.bz2 nextpnr-eb456ef476e8342b4709d71cbff6ef22a714d6ec.zip |
Merge pull request #196 from YosysHQ/pio_error
ice40: Improve handling of unconstrained IO
Diffstat (limited to 'ice40/main.cc')
-rw-r--r-- | ice40/main.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ice40/main.cc b/ice40/main.cc index 543bd229..286f68db 100644 --- a/ice40/main.cc +++ b/ice40/main.cc @@ -70,6 +70,8 @@ po::options_description Ice40CommandHandler::getArchOptions() specific.add_options()("no-promote-globals", "disable all global promotion"); specific.add_options()("opt-timing", "run post-placement timing optimisation pass (experimental)"); specific.add_options()("tmfuzz", "run path delay estimate fuzzer"); + specific.add_options()("pcf-allow-unconstrained", "don't require PCF to constrain all IO"); + return specific; } void Ice40CommandHandler::validate() @@ -87,6 +89,8 @@ void Ice40CommandHandler::customAfterLoad(Context *ctx) std::ifstream pcf(filename); if (!apply_pcf(ctx, filename, pcf)) log_error("Loading PCF failed.\n"); + } else { + log_warning("No PCF file specified; IO pins will be placed automatically\n"); } } void Ice40CommandHandler::customBitstream(Context *ctx) @@ -164,6 +168,9 @@ std::unique_ptr<Context> Ice40CommandHandler::createContext() ctx->settings[ctx->id("no_promote_globals")] = "1"; if (vm.count("opt-timing")) ctx->settings[ctx->id("opt_timing")] = "1"; + if (vm.count("pcf-allow-unconstrained")) + ctx->settings[ctx->id("pcf_allow_unconstrained")] = "1"; + return ctx; } |