Save settings that we saved in project

This commit is contained in:
Miodrag Milanovic 2019-06-13 18:39:16 +02:00
parent c760b03261
commit 4de147d9e4
4 changed files with 7 additions and 2 deletions

View File

@ -229,6 +229,10 @@ void CommandHandler::setupContext(Context *ctx)
ctx->timing_driven = true; ctx->timing_driven = true;
if (vm.count("no-tmdriv")) if (vm.count("no-tmdriv"))
ctx->timing_driven = false; 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) int CommandHandler::executeMain(std::unique_ptr<Context> ctx)

View File

@ -150,6 +150,8 @@ std::unique_ptr<Context> ECP5CommandHandler::createContext()
} }
} }
auto ctx = std::unique_ptr<Context>(new Context(chipArgs)); 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; return ctx;
} }

View File

@ -167,7 +167,7 @@ std::unique_ptr<Context> Ice40CommandHandler::createContext()
chipArgs.package = vm["package"].as<std::string>(); chipArgs.package = vm["package"].as<std::string>();
auto ctx = std::unique_ptr<Context>(new Context(chipArgs)); auto ctx = std::unique_ptr<Context>(new Context(chipArgs));
ctx->settings[ctx->id("arch.package")] = ctx->archArgs().package;
if (vm.count("promote-logic")) if (vm.count("promote-logic"))
ctx->settings[ctx->id("promote_logic")] = "1"; ctx->settings[ctx->id("promote_logic")] = "1";
if (vm.count("no-promote-globals")) if (vm.count("no-promote-globals"))

View File

@ -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_info("Checksum: 0x%08x\n", ctx->checksum());
log_break(); log_break();
ctx->settings[ctx->id("input/json")] = filename;
ctx->attributesToArchInfo(); ctx->attributesToArchInfo();
return true; return true;
} catch (log_execution_error_exception) { } catch (log_execution_error_exception) {