summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/scala/chisel3/util/Decoupled.scala9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/scala/chisel3/util/Decoupled.scala b/src/main/scala/chisel3/util/Decoupled.scala
index 6a3aad24..82511ee5 100644
--- a/src/main/scala/chisel3/util/Decoupled.scala
+++ b/src/main/scala/chisel3/util/Decoupled.scala
@@ -92,6 +92,15 @@ object Decoupled
/** Wraps some Data with a DecoupledIO interface. */
def apply[T <: Data](gen: T): DecoupledIO[T] = new DecoupledIO(gen)
+ // TODO: use a proper empty data type, this is a quick and dirty solution
+ private final class EmptyBundle extends Bundle
+
+ // Both of these methods return DecoupledIO parameterized by the most generic type: Data
+ /** Returns a [[DecoupledIO]] inteface with no payload */
+ def apply(): DecoupledIO[Data] = apply(new EmptyBundle)
+ /** Returns a [[DecoupledIO]] inteface with no payload */
+ def empty: DecoupledIO[Data] = Decoupled()
+
/** Downconverts an IrrevocableIO output to a DecoupledIO, dropping guarantees of irrevocability.
*
* @note unsafe (and will error) on the producer (input) side of an IrrevocableIO