mirror of https://github.com/YosysHQ/yosys.git
Constant driven signals are also an input to submodules
This commit is contained in:
parent
4fdcf8f7d7
commit
8119383f81
|
@ -33,7 +33,7 @@ struct SubmodWorker
|
||||||
CellTypes ct;
|
CellTypes ct;
|
||||||
RTLIL::Design *design;
|
RTLIL::Design *design;
|
||||||
RTLIL::Module *module;
|
RTLIL::Module *module;
|
||||||
pool<Wire*> outputs;
|
pool<Wire*> constants, outputs;
|
||||||
|
|
||||||
bool copy_mode;
|
bool copy_mode;
|
||||||
std::string opt_name;
|
std::string opt_name;
|
||||||
|
@ -125,7 +125,7 @@ struct SubmodWorker
|
||||||
RTLIL::Wire *wire = it.first;
|
RTLIL::Wire *wire = it.first;
|
||||||
wire_flags_t &flags = it.second;
|
wire_flags_t &flags = it.second;
|
||||||
|
|
||||||
if (wire->port_input)
|
if (wire->port_input || constants.count(wire))
|
||||||
flags.is_ext_driven = true;
|
flags.is_ext_driven = true;
|
||||||
if (wire->port_output || outputs.count(wire))
|
if (wire->port_output || outputs.count(wire))
|
||||||
flags.is_ext_used = true;
|
flags.is_ext_used = true;
|
||||||
|
@ -235,6 +235,14 @@ struct SubmodWorker
|
||||||
outputs.insert(c.wire);
|
outputs.insert(c.wire);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for (auto wire : module->wires()) {
|
||||||
|
auto sig = sigmap(wire);
|
||||||
|
for (auto c : sig.chunks()) {
|
||||||
|
if (c.wire)
|
||||||
|
continue;
|
||||||
|
constants.insert(wire);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (opt_name.empty())
|
if (opt_name.empty())
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue