summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman2016-05-26 01:01:55 -0700
committerAndrew Waterman2016-05-26 01:01:55 -0700
commit3b10267257de7662abbbc235d9bfd8a8b89f69f5 (patch)
treee9db587a15f049231eecd525352e281de7e9bb03
parentd742d70a05b5fa997517ea7b5eb2d15b23e7a431 (diff)
Fix type constraint on PriorityMux
-rw-r--r--chiselFrontend/src/main/scala/Chisel/SeqUtils.scala4
-rw-r--r--src/main/scala/Chisel/util/Mux.scala6
2 files changed, 5 insertions, 5 deletions
diff --git a/chiselFrontend/src/main/scala/Chisel/SeqUtils.scala b/chiselFrontend/src/main/scala/Chisel/SeqUtils.scala
index e3e58cb4..9a15fd5f 100644
--- a/chiselFrontend/src/main/scala/Chisel/SeqUtils.scala
+++ b/chiselFrontend/src/main/scala/Chisel/SeqUtils.scala
@@ -34,9 +34,9 @@ private[Chisel] object SeqUtils {
}
/** Returns data value corresponding to first true predicate */
- def priorityMux[T <: Bits](in: Seq[(Bool, T)]): T = macro SourceInfoTransform.inArg
+ def priorityMux[T <: Data](in: Seq[(Bool, T)]): T = macro SourceInfoTransform.inArg
- def do_priorityMux[T <: Bits](in: Seq[(Bool, T)])(implicit sourceInfo: SourceInfo): T = {
+ def do_priorityMux[T <: Data](in: Seq[(Bool, T)])(implicit sourceInfo: SourceInfo): T = {
if (in.size == 1) {
in.head._2
} else {
diff --git a/src/main/scala/Chisel/util/Mux.scala b/src/main/scala/Chisel/util/Mux.scala
index a7d835f6..9d92321a 100644
--- a/src/main/scala/Chisel/util/Mux.scala
+++ b/src/main/scala/Chisel/util/Mux.scala
@@ -25,9 +25,9 @@ object Mux1H
*/
object PriorityMux
{
- def apply[T <: Bits](in: Seq[(Bool, T)]): T = SeqUtils.priorityMux(in)
- def apply[T <: Bits](sel: Seq[Bool], in: Seq[T]): T = apply(sel zip in)
- def apply[T <: Bits](sel: Bits, in: Seq[T]): T = apply((0 until in.size).map(sel(_)), in)
+ def apply[T <: Data](in: Seq[(Bool, T)]): T = SeqUtils.priorityMux(in)
+ def apply[T <: Data](sel: Seq[Bool], in: Seq[T]): T = apply(sel zip in)
+ def apply[T <: Data](sel: Bits, in: Seq[T]): T = apply((0 until in.size).map(sel(_)), in)
}
/** MuxLookup creates a cascade of n Muxs to search for a key value */