1
0
mirror of synced 2026-04-17 10:11:18 +00:00

Merge pull request #1497 from YosysHQ/mwk/extract-fa-fix

Fix #1496.
This commit is contained in:
Clifford Wolf
2019-11-18 10:53:14 +01:00
committed by GitHub
2 changed files with 21 additions and 4 deletions

View File

@@ -262,10 +262,14 @@ struct ExtractFaWorker
pool<SigBit> new_leaves = leaves;
new_leaves.erase(bit);
if (cell->hasPort(ID::A)) new_leaves.insert(sigmap(SigBit(cell->getPort(ID::A))));
if (cell->hasPort(ID::B)) new_leaves.insert(sigmap(SigBit(cell->getPort(ID::B))));
if (cell->hasPort(ID(C))) new_leaves.insert(sigmap(SigBit(cell->getPort(ID(C)))));
if (cell->hasPort(ID(D))) new_leaves.insert(sigmap(SigBit(cell->getPort(ID(D)))));
for (auto port : {ID::A, ID::B, ID(C), ID(D)}) {
if (!cell->hasPort(port))
continue;
auto bit = sigmap(SigBit(cell->getPort(port)));
if (!bit.wire)
continue;
new_leaves.insert(bit);
}
if (GetSize(new_leaves) > maxbreadth)
continue;

13
tests/various/bug1496.ys Normal file
View File

@@ -0,0 +1,13 @@
read_ilang << EOF
module \top
wire input 1 \A
wire output 2 \Y
cell $_AND_ \sub
connect \A \A
connect \B 1'0
connect \Y \Y
end
end
EOF
extract_fa