3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-13 04:28:18 +00:00

Fix $anyseq warning and cleanup

This commit is contained in:
Eddie Hung 2019-04-17 16:03:29 -07:00
parent 8fd455c910
commit 23cd2e5de0

View file

@ -252,7 +252,7 @@ struct XAigerWriter
RTLIL::Module* box_module = module->design->module(cell->type); RTLIL::Module* box_module = module->design->module(cell->type);
if (!box_module || !box_module->attributes.count("\\abc_box_id")) { if (!box_module || !box_module->attributes.count("\\abc_box_id")) {
for (const auto &c : cell->connections()) { for (const auto &c : cell->connections()) {
/*if (c.second.is_fully_const()) continue;*/ if (c.second.is_fully_const()) continue;
for (auto b : c.second.bits()) { for (auto b : c.second.bits()) {
Wire *w = b.wire; Wire *w = b.wire;
if (!w) continue; if (!w) continue;
@ -271,8 +271,7 @@ struct XAigerWriter
if (is_output) { if (is_output) {
SigBit O = sigmap(b); SigBit O = sigmap(b);
input_bits.insert(O); input_bits.insert(O);
if (!O.wire->port_output) undriven_bits.erase(O);
undriven_bits.erase(O);
} }
} }
} }
@ -312,24 +311,19 @@ struct XAigerWriter
cell->connections_.sort(RTLIL::sort_by_id_str()); cell->connections_.sort(RTLIL::sort_by_id_str());
for (const auto &c : cell->connections()) { for (const auto &c : cell->connections()) {
/*if (c.second.is_fully_const()) continue;*/
for (auto b : c.second.bits()) { for (auto b : c.second.bits()) {
auto is_input = cell->input(c.first); auto is_input = cell->input(c.first);
auto is_output = cell->output(c.first); auto is_output = cell->output(c.first);
log_assert(is_input || is_output); log_assert(is_input || is_output);
if (is_input) { if (is_input) {
/*if (!w->port_input)*/ { SigBit I = sigmap(b);
SigBit I = sigmap(b); if (I != b)
if (I != b) alias_map[b] = I;
alias_map[b] = I; co_bits.emplace_back(b, 0);
/*if (!output_bits.count(b))*/
co_bits.emplace_back(b, 0);
}
} }
if (is_output) { if (is_output) {
SigBit O = sigmap(b); SigBit O = sigmap(b);
/*if (!input_bits.count(O))*/ ci_bits.emplace_back(O, 0);
ci_bits.emplace_back(O, 0);
} }
} }
} }
@ -367,9 +361,6 @@ struct XAigerWriter
//co_bits.erase(bit); //co_bits.erase(bit);
output_bits.erase(bit); output_bits.erase(bit);
} }
// Erase all CIs that are also COs
//for (auto bit : co_bits)
// ci_bits.erase(bit);
// CIs cannot be undriven // CIs cannot be undriven
for (const auto &c : ci_bits) for (const auto &c : ci_bits)
undriven_bits.erase(c.first); undriven_bits.erase(c.first);