Cleanup abc9 code

This commit is contained in:
Eddie Hung 2019-02-25 15:20:56 -08:00
parent 65c8ccf7b5
commit 292f80d231
1 changed files with 8 additions and 13 deletions

View File

@ -157,8 +157,11 @@ struct XAigerWriter
} }
} }
for (auto bit : input_bits) for (auto bit : input_bits) {
undriven_bits.erase(bit); undriven_bits.erase(bit);
// Erase POs that are also PIs
output_bits.erase(bit);
}
for (auto bit : output_bits) for (auto bit : output_bits)
unused_bits.erase(bit); unused_bits.erase(bit);
@ -215,12 +218,14 @@ struct XAigerWriter
SigBit I = sigmap(b); SigBit I = sigmap(b);
if (I != b) if (I != b)
alias_map[b] = I; alias_map[b] = I;
co_bits.insert(b); if (!output_bits.count(b))
co_bits.insert(b);
} }
} }
else if (cell->output(c.first)) { else if (cell->output(c.first)) {
SigBit O = sigmap(b); SigBit O = sigmap(b);
ci_bits.insert(O); if (!input_bits.count(O) && !output_bits.count(O))
ci_bits.insert(O);
} }
else log_abort(); else log_abort();
} }
@ -236,16 +241,6 @@ struct XAigerWriter
co_bits.erase(bit); co_bits.erase(bit);
output_bits.erase(bit); output_bits.erase(bit);
} }
// Erase all POs and CIs that are also PIs
for (auto bit : input_bits) {
output_bits.erase(bit);
ci_bits.erase(bit);
}
for (auto bit : output_bits) {
ci_bits.erase(bit);
// POs override COs
co_bits.erase(bit);
}
// Erase all CIs that are also COs // Erase all CIs that are also COs
for (auto bit : co_bits) for (auto bit : co_bits)
ci_bits.erase(bit); ci_bits.erase(bit);