mirror of https://github.com/YosysHQ/yosys.git
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));
|
||||
for (auto chunk : cell->getPort(QY).chunks())
|
||||
int smtoffset = 0;
|
||||
for (auto chunk : cell->getPort(QY).chunks()) {
|
||||
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)));
|
||||
if (cell->type == ID($anyseq))
|
||||
|
|
|
@ -223,7 +223,8 @@ struct SimInstance
|
|||
|
||||
if (wire->port_input && instance != nullptr && parent != nullptr) {
|
||||
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 New Issue