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 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 ECP5CommandHandler::createContext() } } auto ctx = std::unique_ptr(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 Ice40CommandHandler::createContext() chipArgs.package = vm["package"].as(); auto ctx = std::unique_ptr(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) {