mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-13 04:28:18 +00:00
Merge pull request #3767 from YosysHQ/krys/yw_fix
Assign wires an smtoffset
This commit is contained in:
commit
4f3d1be96a
|
@ -626,9 +626,12 @@ struct Smt2Worker
|
||||||
}
|
}
|
||||||
|
|
||||||
bool init_only = cell->type.in(ID($anyconst), ID($anyinit), ID($allconst));
|
bool init_only = cell->type.in(ID($anyconst), ID($anyinit), ID($allconst));
|
||||||
for (auto chunk : cell->getPort(QY).chunks())
|
int smtoffset = 0;
|
||||||
|
for (auto chunk : cell->getPort(QY).chunks()) {
|
||||||
if (chunk.is_wire())
|
if (chunk.is_wire())
|
||||||
decls.push_back(witness_signal(init_only ? "init" : "seq", chunk.width, chunk.offset, "", idcounter, chunk.wire));
|
decls.push_back(witness_signal(init_only ? "init" : "seq", chunk.width, chunk.offset, "", idcounter, chunk.wire, smtoffset));
|
||||||
|
smtoffset += chunk.width;
|
||||||
|
}
|
||||||
|
|
||||||
makebits(stringf("%s#%d", get_id(module), idcounter), GetSize(cell->getPort(QY)), log_signal(cell->getPort(QY)));
|
makebits(stringf("%s#%d", get_id(module), idcounter), GetSize(cell->getPort(QY)), log_signal(cell->getPort(QY)));
|
||||||
if (cell->type == ID($anyseq))
|
if (cell->type == ID($anyseq))
|
||||||
|
|
|
@ -223,7 +223,8 @@ struct SimInstance
|
||||||
|
|
||||||
if (wire->port_input && instance != nullptr && parent != nullptr) {
|
if (wire->port_input && instance != nullptr && parent != nullptr) {
|
||||||
for (int i = 0; i < GetSize(sig); i++) {
|
for (int i = 0; i < GetSize(sig); i++) {
|
||||||
in_parent_drivers.emplace(sig[i], parent->sigmap(instance->getPort(wire->name)[i]));
|
if (instance->hasPort(wire->name))
|
||||||
|
in_parent_drivers.emplace(sig[i], parent->sigmap(instance->getPort(wire->name)[i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue