mirror of https://github.com/YosysHQ/yosys.git
Match $anyseq input if connected to public wire
This commit is contained in:
parent
4d80bc24c7
commit
bbfdea2f8a
|
@ -809,13 +809,19 @@ struct SimInstance
|
||||||
for (auto cell : module->cells())
|
for (auto cell : module->cells())
|
||||||
{
|
{
|
||||||
if (cell->type.in(ID($anyseq))) {
|
if (cell->type.in(ID($anyseq))) {
|
||||||
SigSpec sig_y= cell->getPort(ID::Y);
|
SigSpec sig_y = sigmap(cell->getPort(ID::Y));
|
||||||
if (sig_y.is_wire()) {
|
if (sig_y.is_wire()) {
|
||||||
Wire *wire = sig_y.as_wire();
|
bool found = false;
|
||||||
fstHandle id = shared->fst->getHandle(scope + "." + RTLIL::unescape_id(wire->name));
|
for(auto &item : fst_handles) {
|
||||||
if (id==0)
|
if (item.second==0) continue; // Ignore signals not found
|
||||||
log_error("Unable to find required '%s' signal in file\n",(scope + "." + RTLIL::unescape_id(wire->name)).c_str());
|
if (sig_y == sigmap(item.first)) {
|
||||||
inputs[wire] = id;
|
inputs[sig_y.as_wire()] = item.second;
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!found)
|
||||||
|
log_error("Unable to find required '%s' signal in file\n",(scope + "." + RTLIL::unescape_id(sig_y.as_wire()->name)).c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue