diff options
author | Eddie Hung <eddieh@ece.ubc.ca> | 2019-02-25 15:20:56 -0800 |
---|---|---|
committer | Eddie Hung <eddieh@ece.ubc.ca> | 2019-02-25 15:20:56 -0800 |
commit | 292f80d231174951b8ebda5b1f9b70b6b95a545a (patch) | |
tree | 387ed519154fc786b6870876d543d7bcf7b23a23 /backends/aiger/xaiger.cc | |
parent | 65c8ccf7b57a69f1e1629a3b3df7505073b0474c (diff) | |
download | yosys-292f80d231174951b8ebda5b1f9b70b6b95a545a.tar.gz yosys-292f80d231174951b8ebda5b1f9b70b6b95a545a.tar.bz2 yosys-292f80d231174951b8ebda5b1f9b70b6b95a545a.zip |
Cleanup abc9 code
Diffstat (limited to 'backends/aiger/xaiger.cc')
-rw-r--r-- | backends/aiger/xaiger.cc | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/backends/aiger/xaiger.cc b/backends/aiger/xaiger.cc index 2b7f52d30..db0395d28 100644 --- a/backends/aiger/xaiger.cc +++ b/backends/aiger/xaiger.cc @@ -157,8 +157,11 @@ struct XAigerWriter } } - for (auto bit : input_bits) + for (auto bit : input_bits) { undriven_bits.erase(bit); + // Erase POs that are also PIs + output_bits.erase(bit); + } for (auto bit : output_bits) unused_bits.erase(bit); @@ -215,12 +218,14 @@ struct XAigerWriter SigBit I = sigmap(b); if (I != b) alias_map[b] = I; - co_bits.insert(b); + if (!output_bits.count(b)) + co_bits.insert(b); } } else if (cell->output(c.first)) { SigBit O = sigmap(b); - ci_bits.insert(O); + if (!input_bits.count(O) && !output_bits.count(O)) + ci_bits.insert(O); } else log_abort(); } @@ -236,16 +241,6 @@ struct XAigerWriter co_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 for (auto bit : co_bits) ci_bits.erase(bit); |