Added RTLIL::SigSpec::to_single_sigbit()

This commit is contained in:
Clifford Wolf 2014-02-02 21:35:26 +01:00
parent 67b0ce2578
commit f9c4d33909
2 changed files with 10 additions and 0 deletions

View File

@ -1551,6 +1551,15 @@ std::vector<RTLIL::SigBit> RTLIL::SigSpec::to_sigbit_vector() const
return sigbits;
}
RTLIL::SigBit RTLIL::SigSpec::to_single_sigbit() const
{
log_assert(width == 1);
for (auto &c : chunks)
if (c.width)
return RTLIL::SigBit(c);
log_abort();
}
static void sigspec_parse_split(std::vector<std::string> &tokens, const std::string &text, char sep)
{
size_t start = 0, end = 0;

View File

@ -409,6 +409,7 @@ struct RTLIL::SigSpec {
bool match(std::string pattern) const;
std::set<RTLIL::SigBit> to_sigbit_set() const;
std::vector<RTLIL::SigBit> to_sigbit_vector() const;
RTLIL::SigBit to_single_sigbit() const;
static bool parse(RTLIL::SigSpec &sig, RTLIL::Module *module, std::string str);
static bool parse_rhs(const RTLIL::SigSpec &lhs, RTLIL::SigSpec &sig, RTLIL::Module *module, std::string str);
};