chisel3.util.Pipe
See thePipe companion class
object Pipe
A factory to generate a hardware pipe. This can be used to delay Valid data by a design-time configurable number of cycles.
Here, we construct three different pipes using the different provided apply methods and hook them up together. The types are explicitly specified to show that these all communicate using Valid interfaces:
val in: Valid[UInt] = Wire(Valid(UInt(2.W)))
/* A zero latency (combinational) pipe is connected to 'in' */
val foo: Valid[UInt] = Pipe(in.valid, in.bits, 0)
/* A one-cycle pipe is connected to the output of 'foo' */
val bar: Valid[UInt] = Pipe(foo.valid, foo.bits)
/* A two-cycle pipe is connected to the output of 'bar' */
val baz: Valid[UInt] = Pipe(bar, 2)
Attributes
- See also
-
Pipe class for an alternative API
Valid interface
Queue and the Queue factory for actual queues
The ShiftRegister factory to generate a pipe without a Valid interface
- Companion
- class
- Source
- Pipe.scala
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Pipe.type
Members list
In this article