3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-06-18 11:58:32 +00:00

SigSpec::extract to allow negative length

This commit is contained in:
Eddie Hung 2019-07-16 14:06:07 -07:00
parent 5d1ce04381
commit d086dfb5b0

View file

@ -3353,7 +3353,7 @@ RTLIL::SigSpec RTLIL::SigSpec::extract(int offset, int length) const
{ {
unpack(); unpack();
cover("kernel.rtlil.sigspec.extract_pos"); cover("kernel.rtlil.sigspec.extract_pos");
return std::vector<RTLIL::SigBit>(bits_.begin() + offset, bits_.begin() + offset + length); return std::vector<RTLIL::SigBit>(bits_.begin() + offset, length >= 0 ? bits_.begin() + offset + length : bits_.end() + length + 1);
} }
void RTLIL::SigSpec::append(const RTLIL::SigSpec &signal) void RTLIL::SigSpec::append(const RTLIL::SigSpec &signal)