diff --git a/src/main/scala/rocket/util.scala b/src/main/scala/rocket/util.scala index 7f810d2a..182c7ba9 100644 --- a/src/main/scala/rocket/util.scala +++ b/src/main/scala/rocket/util.scala @@ -34,6 +34,14 @@ object Util { } } +object MuxT { + def apply[T <: Data, U <: Data](cond: Bool, con: (T, U), alt: (T, U)): (T, U) = + (Mux(cond, con._1, alt._1), Mux(cond, con._2, alt._2)) + + def apply[T <: Data, U <: Data, W <: Data](cond: Bool, con: (T, U, W), alt: (T, U, W)): (T, U, W) = + (Mux(cond, con._1, alt._1), Mux(cond, con._2, alt._2), Mux(cond, con._3, alt._3)) +} + import Util._ object Str