Use flags for each step
This commit is contained in:
parent
ca7e944d7a
commit
36ccc22fc9
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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) {
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user