chisel3.util.Valid
See theValid companion class
object Valid
Factory for generating "valid" interfaces. A "valid" interface is a data-communicating interface between a producer and a consumer where the producer does not wait for the consumer. Concretely, this means that one additional bit is added to the data indicating its validity.
As an example, consider the following Bundle, MyBundle:
class MyBundle extends Bundle {
val foo = Output(UInt(8.W))
}
To convert this to a valid interface, you wrap it with a call to the Valid companion object's apply method:
val bar = Valid(new MyBundle)
The resulting interface is ''structurally'' equivalent to the following:
class MyValidBundle extends Bundle {
val valid = Output(Bool())
val bits = Output(new MyBundle)
}
In addition to adding the valid bit, a Valid.fire method is also added that returns the valid bit. This
provides a similarly named interface to DecoupledIO's fire.
Attributes
- See also
- Companion
- class
- Source
- Valid.scala
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Valid.type
Members list
In this article