Improve packer diagnostics

Signed-off-by: David Shah <davey1576@gmail.com>
This commit is contained in:
David Shah 2018-06-12 15:33:53 +02:00
parent 6707b985b4
commit 6e79b93c6e

View File

@ -52,6 +52,7 @@ static void pack_lut_lutffs(Design *design)
auto lut_bel = ci->attrs.find("BEL"); auto lut_bel = ci->attrs.find("BEL");
bool packed_dff = false; bool packed_dff = false;
if (dff) { if (dff) {
log_info("found attached dff %s\n", dff->name.c_str());
auto dff_bel = dff->attrs.find("BEL"); auto dff_bel = dff->attrs.find("BEL");
if (lut_bel != ci->attrs.end() && dff_bel != dff->attrs.end() && if (lut_bel != ci->attrs.end() && dff_bel != dff->attrs.end() &&
lut_bel->second != dff_bel->second) { lut_bel->second != dff_bel->second) {
@ -91,9 +92,11 @@ static void pack_nonlut_ffs(Design *design)
CellInfo *ci = cell.second; CellInfo *ci = cell.second;
if (is_ff(ci)) { if (is_ff(ci)) {
CellInfo *packed = create_ice_cell(design, "ICESTORM_LC", CellInfo *packed = create_ice_cell(design, "ICESTORM_LC",
ci->name.str() + "_LC"); ci->name.str() + "_DFFLC");
std::copy(ci->attrs.begin(), ci->attrs.end(), std::copy(ci->attrs.begin(), ci->attrs.end(),
std::inserter(packed->attrs, packed->attrs.begin())); std::inserter(packed->attrs, packed->attrs.begin()));
log_info("packed cell %s into %s\n", ci->name.c_str(),
packed->name.c_str());
packed_cells.insert(ci->name); packed_cells.insert(ci->name);
new_cells.push_back(packed); new_cells.push_back(packed);
dff_to_lc(ci, packed, true); dff_to_lc(ci, packed, true);