3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-07 09:55:20 +00:00

Merge pull request #999 from jakobwenzel/setundefInitFix

initialize more registers in setundef -init
This commit is contained in:
Clifford Wolf 2019-06-05 09:50:15 +02:00 committed by GitHub
commit 00d32eb73d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -404,22 +404,29 @@ struct SetundefPass : public Pass {
initwires.insert(wire); initwires.insert(wire);
} }
for (int wire_types = 0; wire_types < 2; wire_types++) for (int wire_types = 0; wire_types < 2; wire_types++) {
for (auto wire : module->wires()) pool<SigBit> ffbitsToErase;
{ for (auto wire : module->wires()) {
if (wire->name[0] == (wire_types ? '\\' : '$')) if (wire->name[0] == (wire_types ? '\\' : '$')) {
next_wire: next_wire:
continue; continue;
}
for (auto bit : sigmap(wire)) for (auto bit : sigmap(wire))
if (!ffbits.count(bit)) if (!ffbits.count(bit)) {
goto next_wire; goto next_wire;
}
for (auto bit : sigmap(wire)) for (auto bit : sigmap(wire)) {
ffbits.erase(bit); ffbitsToErase.insert(bit);
}
initwires.insert(wire); initwires.insert(wire);
} }
for (const auto &bit : ffbitsToErase) {
ffbits.erase(bit);
}
}
for (auto wire : initwires) for (auto wire : initwires)
{ {