connections_.push_back(RTLIL::SigSig(lhs, rhs));
}
-const std::vector<RTLIL::SigSig> &RTLIL::Module::connections()
+const std::vector<RTLIL::SigSig> &RTLIL::Module::connections() const
{
return connections_;
}
connections_[portname] = signal;
}
-RTLIL::SigSpec RTLIL::Cell::get(RTLIL::IdString portname) const
+const RTLIL::SigSpec &RTLIL::Cell::get(RTLIL::IdString portname) const
{
return connections_.at(portname);
}
-const std::map<RTLIL::IdString, RTLIL::SigSpec> &RTLIL::Cell::connections()
+const std::map<RTLIL::IdString, RTLIL::SigSpec> &RTLIL::Cell::connections() const
{
return connections_;
}
check();
}
-RTLIL::SigSpec RTLIL::SigSpec::extract(RTLIL::SigSpec pattern, RTLIL::SigSpec *other) const
+RTLIL::SigSpec RTLIL::SigSpec::extract(RTLIL::SigSpec pattern, const RTLIL::SigSpec *other) const
{
if (other)
cover("kernel.rtlil.sigspec.extract_other");
RTLIL::SigSpec ret;
if (other) {
- std::vector<RTLIL::SigBit> bits_other = other ? other->to_sigbit_vector() : bits_match;
+ std::vector<RTLIL::SigBit> bits_other = other->to_sigbit_vector();
for (int i = 0; i < width_; i++)
if (bits_match[i].wire && pat.count(bits_match[i]))
ret.append_bit(bits_other[i]);
void connect(const RTLIL::SigSig &conn);
void connect(const RTLIL::SigSpec &lhs, const RTLIL::SigSpec &rhs);
- const std::vector<RTLIL::SigSig> &connections();
+ const std::vector<RTLIL::SigSig> &connections() const;
void fixup_ports();
template<typename T> void rewrite_sigspecs(T functor);
// access cell ports
void unset(RTLIL::IdString portname);
void set(RTLIL::IdString portname, RTLIL::SigSpec signal);
- RTLIL::SigSpec get(RTLIL::IdString portname) const;
- const std::map<RTLIL::IdString, RTLIL::SigSpec> &connections();
+ const RTLIL::SigSpec &get(RTLIL::IdString portname) const;
+ const std::map<RTLIL::IdString, RTLIL::SigSpec> &connections() const;
void check();
void fixup_parameters(bool set_a_signed = false, bool set_b_signed = false);
void remove(int offset, int length = 1);
void remove_const();
- RTLIL::SigSpec extract(RTLIL::SigSpec pattern, RTLIL::SigSpec *other = NULL) const;
+ RTLIL::SigSpec extract(RTLIL::SigSpec pattern, const RTLIL::SigSpec *other = NULL) const;
RTLIL::SigSpec extract(int offset, int length = 1) const;
void append(const RTLIL::SigSpec &signal);