3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-06-06 06:03:23 +00:00

Added additional functionality and cleanups in sigtools.h and celltypes.h

This commit is contained in:
Clifford Wolf 2013-03-15 10:22:23 +01:00
parent 3377a04bf2
commit 89f009d171
2 changed files with 33 additions and 0 deletions

View file

@ -164,6 +164,18 @@ struct SigSet
}
}
void insert(RTLIL::SigSpec sig, const std::set<T> &data)
{
sig.expand();
for (auto &c : sig.chunks) {
if (c.wire == NULL)
continue;
assert(c.width == 1);
bitDef_t bit(c.wire, c.offset);
bits[bit].insert(data.begin(), data.end());
}
}
void erase(RTLIL::SigSpec sig)
{
sig.expand();
@ -188,6 +200,18 @@ struct SigSet
}
}
void erase(RTLIL::SigSpec sig, const std::set<T> &data)
{
sig.expand();
for (auto &c : sig.chunks) {
if (c.wire == NULL)
continue;
assert(c.width == 1);
bitDef_t bit(c.wire, c.offset);
bits[bit].erase(data.begin(), data.end());
}
}
void find(RTLIL::SigSpec sig, std::set<T> &result)
{
sig.expand();