Use flags for each step

This commit is contained in:
Miodrag Milanovic 2019-06-14 09:59:04 +02:00
parent ca7e944d7a
commit 36ccc22fc9
7 changed files with 9 additions and 11 deletions

View File

@ -524,7 +524,7 @@ bool Arch::place()
} }
permute_luts(); permute_luts();
getCtx()->attrs[getCtx()->id("step")] = "place"; getCtx()->settings[getCtx()->id("place")] = "1";
archInfoToAttributes(); archInfoToAttributes();
return true; return true;
} }
@ -561,7 +561,7 @@ bool Arch::route()
log_info(" base %d adder %d\n", speed_grade->pip_classes[locInfo(slowest_pip)->pip_data[slowest_pip.index].timing_class].max_base_delay, log_info(" base %d adder %d\n", speed_grade->pip_classes[locInfo(slowest_pip)->pip_data[slowest_pip.index].timing_class].max_base_delay,
speed_grade->pip_classes[locInfo(slowest_pip)->pip_data[slowest_pip.index].timing_class].max_fanout_adder); speed_grade->pip_classes[locInfo(slowest_pip)->pip_data[slowest_pip.index].timing_class].max_fanout_adder);
#endif #endif
getCtx()->attrs[getCtx()->id("step")] = "route"; getCtx()->settings[getCtx()->id("route")] = "1";
archInfoToAttributes(); archInfoToAttributes();
return result; return result;
} }

View File

@ -2429,7 +2429,7 @@ bool Arch::pack()
Ecp5Packer(ctx).pack(); Ecp5Packer(ctx).pack();
log_info("Checksum: 0x%08x\n", ctx->checksum()); log_info("Checksum: 0x%08x\n", ctx->checksum());
assignArchInfo(); assignArchInfo();
ctx->attrs[ctx->id("step")] = "pack"; ctx->settings[ctx->id("pack")] = "1";
archInfoToAttributes(); archInfoToAttributes();
return true; return true;
} catch (log_execution_error_exception) { } catch (log_execution_error_exception) {

View File

@ -497,7 +497,7 @@ bool Arch::place()
// FIXME: No HeAP because it needs a list of IO buffers // FIXME: No HeAP because it needs a list of IO buffers
if (placer == "sa") { if (placer == "sa") {
bool retVal = placer1(getCtx(), Placer1Cfg(getCtx())); bool retVal = placer1(getCtx(), Placer1Cfg(getCtx()));
getCtx()->attrs[getCtx()->id("step")] = "place"; getCtx()->settings[getCtx()->id("place")] = "1";
archInfoToAttributes(); archInfoToAttributes();
return retVal; return retVal;
} else { } else {
@ -507,7 +507,7 @@ bool Arch::place()
bool Arch::route() { bool Arch::route() {
bool retVal = router1(getCtx(), Router1Cfg(getCtx())); bool retVal = router1(getCtx(), Router1Cfg(getCtx()));
getCtx()->attrs[getCtx()->id("step")] = "route"; getCtx()->settings[getCtx()->id("route")] = "1";
archInfoToAttributes(); archInfoToAttributes();
return retVal; return retVal;
} }

View File

@ -282,7 +282,7 @@ bool Arch::pack()
pack_io(ctx); pack_io(ctx);
pack_lut_lutffs(ctx); pack_lut_lutffs(ctx);
pack_nonlut_ffs(ctx); pack_nonlut_ffs(ctx);
ctx->attrs[ctx->id("step")] = "pack"; ctx->settings[ctx->id("pack")] = "1";
ctx->assignArchInfo(); ctx->assignArchInfo();
log_info("Checksum: 0x%08x\n", ctx->checksum()); log_info("Checksum: 0x%08x\n", ctx->checksum());
return true; return true;

View File

@ -689,14 +689,14 @@ bool Arch::place()
tocfg.cellTypes.insert(id_ICESTORM_LC); tocfg.cellTypes.insert(id_ICESTORM_LC);
retVal = timing_opt(getCtx(), tocfg); retVal = timing_opt(getCtx(), tocfg);
} }
getCtx()->attrs[getCtx()->id("step")] = "place"; getCtx()->settings[getCtx()->id("place")] = "1";
archInfoToAttributes(); archInfoToAttributes();
return retVal; return retVal;
} }
bool Arch::route() { bool Arch::route() {
bool retVal = router1(getCtx(), Router1Cfg(getCtx())); bool retVal = router1(getCtx(), Router1Cfg(getCtx()));
getCtx()->attrs[getCtx()->id("step")] = "route"; getCtx()->settings[getCtx()->id("route")] = "1";
archInfoToAttributes(); archInfoToAttributes();
return retVal; return retVal;
} }

View File

@ -1421,7 +1421,7 @@ bool Arch::pack()
ctx->assignArchInfo(); ctx->assignArchInfo();
constrain_chains(ctx); constrain_chains(ctx);
ctx->assignArchInfo(); ctx->assignArchInfo();
ctx->attrs[ctx->id("step")] = "pack"; ctx->settings[ctx->id("pack")] = "1";
archInfoToAttributes(); archInfoToAttributes();
log_info("Checksum: 0x%08x\n", ctx->checksum()); log_info("Checksum: 0x%08x\n", ctx->checksum());
return true; return true;

View File

@ -740,8 +740,6 @@ void json_import(Context *ctx, string modname, JsonNode *node)
for (int attrid = 0; attrid < GetSize(attr_node->data_dict_keys); attrid++) { for (int attrid = 0; attrid < GetSize(attr_node->data_dict_keys); attrid++) {
json_import_top_attrib(ctx, modname, attr_node, &ctx->attrs, attrid); json_import_top_attrib(ctx, modname, attr_node, &ctx->attrs, attrid);
} }
if (ctx->attrs.find(ctx->id("step")) == ctx->attrs.end())
ctx->attrs[ctx->id("step")] = "synth";
JsonNode *ports_parent = nullptr; JsonNode *ports_parent = nullptr;
if (node->data_dict.count("ports") > 0) if (node->data_dict.count("ports") > 0)