diff options
| author | Andrew Waterman | 2016-05-26 01:01:55 -0700 |
|---|---|---|
| committer | Andrew Waterman | 2016-05-26 01:01:55 -0700 |
| commit | 3b10267257de7662abbbc235d9bfd8a8b89f69f5 (patch) | |
| tree | e9db587a15f049231eecd525352e281de7e9bb03 | |
| parent | d742d70a05b5fa997517ea7b5eb2d15b23e7a431 (diff) | |
Fix type constraint on PriorityMux
| -rw-r--r-- | chiselFrontend/src/main/scala/Chisel/SeqUtils.scala | 4 | ||||
| -rw-r--r-- | src/main/scala/Chisel/util/Mux.scala | 6 |
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 */ |
