From 66e9f027e0ccfe6e423a62918c3d40e38eb436bd Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Tue, 6 Sep 2016 23:36:58 -0700 Subject: [PATCH] Add MuxT to mux on Tuple2 and Tuple3 --- src/main/scala/rocket/util.scala | 8 ++++++++ 1 file changed, 8 insertions(+) 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