class StreamDriver[T <: Data] extends AnyRef

Drive a Stream with a callback, by default randomly.

Call the lambda when new data should be presented to the Stream, the return value indicating if the data is valid. For example:

val payloads = Queue(0xff, 0xab, 0x11)
StreamDriver(dut.io.push, dut.clockDomain) { payload =>
  if (payloads.nonEmpty) { payload.address #= payloads.dequeue(); true }
  else false
}

See setFactor for the random behavior and how to change it.

See also

Simulation support documentation

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StreamDriver
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new StreamDriver(stream: Stream[T], clockDomain: ClockDomain, driver: (T) ⇒ Boolean)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. implicit val _: SimManager
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  7. var delay: Int
  8. var driver: (T) ⇒ Boolean
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. var factor: Option[Float]
  12. def fsm(): Unit
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  19. val readyProxy: SimProxy
  20. def reset(): Unit
  21. def setFactor(value: Float): Unit

    Set a fixed probability of executing the driver callback.

    Set a fixed probability of executing the driver callback.

    If not set, there is a new delay of (x*x*10).toInt clock cycles (with x = simRandom.nextDouble()) between each callback. When set, the callback is executed clock where simRandom.nextFloat() < value. This means that the callback is always executed with value >= 1.0f and never with <= 0.0f.

  22. def setFactorPeriodically(period: Long): Unit

    Set a periodic simulation step change of setFactor.

    Set a periodic simulation step change of setFactor.

    Each period simulation steps, execute setFactor(simRandom.nextFloat()), i.e. a new uniform probability that the driver callback is executed each clock sample.

  23. var state: Int
  24. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  25. def toString(): String
    Definition Classes
    AnyRef → Any
  26. var transactionDelay: () ⇒ Int
  27. val validProxy: SimProxy
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped