From: Clifford Wolf Date: Wed, 23 Jul 2014 19:34:14 +0000 (+0200) Subject: Added RTLIL::SigSpec::repeat() X-Git-Tag: yosys-0.4~468 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2a41afb7b2415f824ea1f60337050c9f41c0e33f;p=yosys.git Added RTLIL::SigSpec::repeat() --- diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index 7d031e174..d2f37cec4 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -1796,6 +1796,14 @@ void RTLIL::SigSpec::extend_u0(int width, bool is_signed) } +RTLIL::SigSpec RTLIL::SigSpec::repeat(int num) const +{ + RTLIL::SigSpec sig; + for (int i = 0; i < num; i++) + sig.append(*this); + return sig; +} + void RTLIL::SigSpec::check() const { if (packed()) diff --git a/kernel/rtlil.h b/kernel/rtlil.h index a13164c37..95de5f8c6 100644 --- a/kernel/rtlil.h +++ b/kernel/rtlil.h @@ -565,6 +565,8 @@ public: void extend(int width, bool is_signed = false); void extend_u0(int width, bool is_signed = false); + RTLIL::SigSpec repeat(int num) const; + bool operator <(const RTLIL::SigSpec &other) const; bool operator ==(const RTLIL::SigSpec &other) const; inline bool operator !=(const RTLIL::SigSpec &other) const { return !(*this == other); }