Skip to content

Commit

Permalink
Modify ReadyValidIO noenq to set the data payload to DontCare. (#902)
Browse files Browse the repository at this point in the history
* Modify noenq to set the input wires to DontCare.

(cherry picked from commit b87e6cf)
  • Loading branch information
Steve Burns authored and ucbjrl committed Dec 12, 2018
1 parent b895596 commit 42c3f3a
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/main/scala/chisel3/util/Decoupled.scala
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ object ReadyValidIO {
implicit class AddMethodsToReadyValid[T<:Data](target: ReadyValidIO[T]) {
def fire(): Bool = target.ready && target.valid

/** push dat onto the output bits of this interface to let the consumer know it has happened.
/** Push dat onto the output bits of this interface to let the consumer know it has happened.
* @param dat the values to assign to bits.
* @return dat.
*/
Expand All @@ -47,22 +47,23 @@ object ReadyValidIO {
}

/** Indicate no enqueue occurs. Valid is set to false, and bits are
* connected to an uninitialized wire
* connected to an uninitialized wire.
*/
def noenq(): Unit = {
target.valid := false.B
target.bits := DontCare
}

/** Assert ready on this port and return the associated data bits.
* This is typically used when valid has been asserted by the producer side.
* @return the data for this device,
* @return The data bits.
*/
def deq(): T = {
target.ready := true.B
target.bits
}

/** Indicate no dequeue occurs. Ready is set to false
/** Indicate no dequeue occurs. Ready is set to false.
*/
def nodeq(): Unit = {
target.ready := false.B
Expand Down

0 comments on commit 42c3f3a

Please sign in to comment.