156 if (it.second->port_input) {
165 for (
auto &conn : it.second->connections())
188 for (
auto &conn : it.second->connections_)
190 if (
ports.size() > 0 && !
ports.count(conn.first))
207 std::vector<std::pair<RTLIL::Wire*, RTLIL::SigSpec>> rework_wires;
218 rework_wires.push_back(std::pair<RTLIL::Wire*, RTLIL::SigSpec>(it.second, new_sig));
220 if (!it.second->port_input) {
223 rework_wires.push_back(std::pair<RTLIL::Wire*, RTLIL::SigSpec>(it.second,
spliced_signals_cache.at(sig)));
225 rework_wires.push_back(std::pair<RTLIL::Wire*, RTLIL::SigSpec>(it.second,
sliced_signals_cache.at(sig)));
228 for (
auto &it : rework_wires)
235 it.first->port_input =
false;
236 it.first->port_output =
false;
bool selected(T1 *module) const
std::map< RTLIL::SigSpec, RTLIL::SigSpec > sliced_signals_cache
std::map< RTLIL::IdString, RTLIL::Wire * > wires_
RTLIL::SigSpec get_spliced_signal(RTLIL::SigSpec sig)
std::set< RTLIL::IdString > ports
std::set< RTLIL::SigSpec > driven_chunks
bool cell_known(RTLIL::IdString type)
bool check_any(RTLIL::SigSpec sig)
void connect(const RTLIL::SigSig &conn)
std::map< RTLIL::SigSpec, RTLIL::SigSpec > spliced_signals_cache
bool cell_output(RTLIL::IdString type, RTLIL::IdString port)
RTLIL::Wire * addWire(RTLIL::IdString name, int width=1)
std::vector< RTLIL::SigBit > driven_bits
bool check_all(RTLIL::SigSpec sig)
static const char * id2cstr(const RTLIL::IdString &str)
void add(RTLIL::SigSpec sig)
std::map< RTLIL::IdString, RTLIL::Cell * > cells_
std::set< RTLIL::IdString > no_ports
std::map< RTLIL::SigBit, int > driven_bits_map
void log(const char *format,...)
bool cell_input(RTLIL::IdString type, RTLIL::IdString port)
std::pair< SigSpec, SigSpec > SigSig
std::vector< RTLIL::SigBit > to_sigbit_vector() const
void rename(RTLIL::Wire *wire, RTLIL::IdString new_name)