machxo2: Remove HeAP placer for now, fix typos.

This commit is contained in:
William D. Jones 2020-06-27 20:22:00 -04:00 committed by gatecat
parent 512daf2c89
commit e5576448ea

View File

@ -342,35 +342,13 @@ ArcBounds Arch::getRouteBoundingBox(WireId src, WireId dst) const
bool Arch::place() bool Arch::place()
{ {
std::string placer = str_or_default(settings, id("placer"), defaultPlacer); std::string placer = str_or_default(settings, id("placer"), defaultPlacer);
if (placer == "heap") { if (placer == "sa") {
bool have_iobuf_or_constr = false;
for (auto cell : sorted(cells)) {
CellInfo *ci = cell.second;
if (ci->type == id("GENERIC_IOB") || ci->bel != BelId() || ci->attrs.count(id("BEL"))) {
have_iobuf_or_constr = true;
break;
}
}
bool retVal;
if (!have_iobuf_or_constr) {
log_warning("Unable to use HeAP due to a lack of IO buffers or constrained cells as anchors; reverting to "
"SA.\n");
retVal = placer1(getCtx(), Placer1Cfg(getCtx()));
} else {
PlacerHeapCfg cfg(getCtx());
cfg.ioBufTypes.insert(id("GENERIC_IOB"));
retVal = placer_heap(getCtx(), cfg);
}
getCtx()->settings[getCtx()->id("place")] = 1;
archInfoToAttributes();
return retVal;
} else if (placer == "sa") {
bool retVal = placer1(getCtx(), Placer1Cfg(getCtx())); bool retVal = placer1(getCtx(), Placer1Cfg(getCtx()));
getCtx()->settings[getCtx()->id("place")] = 1; getCtx()->settings[getCtx()->id("place")] = 1;
archInfoToAttributes(); archInfoToAttributes();
return retVal; return retVal;
} else { } else {
log_error("Generic architecture does not support placer '%s'\n", placer.c_str()); log_error("MachXO2 architecture does not support placer '%s'\n", placer.c_str());
} }
} }
@ -384,7 +362,7 @@ bool Arch::route()
router2(getCtx(), Router2Cfg(getCtx())); router2(getCtx(), Router2Cfg(getCtx()));
result = true; result = true;
} else { } else {
log_error("iCE40 architecture does not support router '%s'\n", router.c_str()); log_error("MachXO2 architecture does not support router '%s'\n", router.c_str());
} }
getCtx()->settings[getCtx()->id("route")] = 1; getCtx()->settings[getCtx()->id("route")] = 1;
archInfoToAttributes(); archInfoToAttributes();