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.
- Source
- Valid.scala
- See also
- Alphabetic
- By Inheritance
- Valid
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected