Fixed handling of inverters (aka 1-input luts) in nlutmap

This commit is contained in:
Clifford Wolf 2016-03-23 08:56:08 +01:00
parent b4bf787f10
commit 9717495401
1 changed files with 2 additions and 2 deletions

View File

@ -64,7 +64,7 @@ struct NlutmapWorker
{ {
vector<int> available_luts = config.luts; vector<int> available_luts = config.luts;
while (!available_luts.empty()) while (GetSize(available_luts) > 1)
{ {
int n_luts = available_luts.back(); int n_luts = available_luts.back();
int lut_size = GetSize(available_luts); int lut_size = GetSize(available_luts);
@ -84,7 +84,7 @@ struct NlutmapWorker
if (cell->type != "$lut" || mapped_cells.count(cell)) if (cell->type != "$lut" || mapped_cells.count(cell))
continue; continue;
if (GetSize(cell->getPort("\\A")) == lut_size) if (GetSize(cell->getPort("\\A")) == lut_size || lut_size == 2)
candidate_ratings[cell] = 0; candidate_ratings[cell] = 0;
for (auto &conn : cell->connections()) for (auto &conn : cell->connections())