aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2019-06-13 18:39:16 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2019-06-13 18:39:16 +0200
commit4de147d9e42d7c932773544011a36e4550530a9e (patch)
tree076ab4930c4bb36be05aa3711f08e929c4b713b2
parentc760b0326182c3779373fba1f77aad200c9b1b89 (diff)
downloadnextpnr-4de147d9e42d7c932773544011a36e4550530a9e.tar.gz
nextpnr-4de147d9e42d7c932773544011a36e4550530a9e.tar.bz2
nextpnr-4de147d9e42d7c932773544011a36e4550530a9e.zip
Save settings that we saved in project
-rw-r--r--common/command.cc4
-rw-r--r--ecp5/main.cc2
-rw-r--r--ice40/main.cc2
-rw-r--r--json/jsonparse.cc1
4 files changed, 7 insertions, 2 deletions
diff --git a/common/command.cc b/common/command.cc
index 43707c83..4822585c 100644
--- a/common/command.cc
+++ b/common/command.cc
@@ -229,6 +229,10 @@ void CommandHandler::setupContext(Context *ctx)
ctx->timing_driven = true;
if (vm.count("no-tmdriv"))
ctx->timing_driven = false;
+
+ settings->set("arch.name", std::string(ctx->archId().c_str(ctx)));
+ settings->set("arch.type", std::string(ctx->archArgsToId(ctx->archArgs()).c_str(ctx)));
+ settings->set("seed", ctx->rngstate);
}
int CommandHandler::executeMain(std::unique_ptr<Context> ctx)
diff --git a/ecp5/main.cc b/ecp5/main.cc
index bb18aa58..9d0241e9 100644
--- a/ecp5/main.cc
+++ b/ecp5/main.cc
@@ -150,6 +150,8 @@ std::unique_ptr<Context> ECP5CommandHandler::createContext()
}
}
auto ctx = std::unique_ptr<Context>(new Context(chipArgs));
+ ctx->settings[ctx->id("arch.package")] = ctx->archArgs().package;
+ ctx->settings[ctx->id("arch.speed")] = std::to_string(ctx->archArgs().speed);
return ctx;
}
diff --git a/ice40/main.cc b/ice40/main.cc
index 9b79a08c..4cbca2d4 100644
--- a/ice40/main.cc
+++ b/ice40/main.cc
@@ -167,7 +167,7 @@ std::unique_ptr<Context> Ice40CommandHandler::createContext()
chipArgs.package = vm["package"].as<std::string>();
auto ctx = std::unique_ptr<Context>(new Context(chipArgs));
-
+ ctx->settings[ctx->id("arch.package")] = ctx->archArgs().package;
if (vm.count("promote-logic"))
ctx->settings[ctx->id("promote_logic")] = "1";
if (vm.count("no-promote-globals"))
diff --git a/json/jsonparse.cc b/json/jsonparse.cc
index f0d0069a..df8f45db 100644
--- a/json/jsonparse.cc
+++ b/json/jsonparse.cc
@@ -907,7 +907,6 @@ bool parse_json_file(std::istream &f, std::string &filename, Context *ctx)
log_info("Checksum: 0x%08x\n", ctx->checksum());
log_break();
- ctx->settings[ctx->id("input/json")] = filename;
ctx->attributesToArchInfo();
return true;
} catch (log_execution_error_exception) {