Packages

c

spinal.lib

StreamArbiterFactory

class StreamArbiterFactory extends AnyRef

Build a StreamArbiter from a list of Stream.

example:

val streamA, streamB, streamC = Stream(Bits(8 bits))
val arbiteredABC = StreamArbiterFactory.roundRobin.onArgs(streamA, streamB, streamC)
val streamD, streamE, streamF = Stream(Bits(8 bits))
val arbiteredDEF = StreamArbiterFactory.lowerFirst.noLock.onArgs(streamD, streamE, streamF)
See also

Stream documentation

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

Instance Constructors

  1. new StreamArbiterFactory()

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. var arbitrationLogic: (StreamArbiter[_ <: Data]) ⇒ Area
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def assumeOhInput: StreamArbiterFactory.this.type
  7. def build[T <: Data](dataType: HardType[T], portCount: Int): StreamArbiter[T]
  8. def buildOn[T <: Data](first: Stream[T], others: Stream[T]*): StreamArbiter[T]
  9. def buildOn[T <: Data](inputs: Seq[Stream[T]]): StreamArbiter[T]
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def fragmentLock: StreamArbiterFactory.this.type

    Configure the builder so The port selection is locked until the transaction on the selected port is consumed.

  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. def lambdaLock[T <: Data](unlock: (Stream[T]) ⇒ Bool): StreamArbiterFactory.this.type
  18. var lockLogic: (StreamArbiter[_ <: Data]) ⇒ Area
  19. def lowerFirst: StreamArbiterFactory.this.type

    Configure the builder so lower ports have priority over higher ports

  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. def noLock: StreamArbiterFactory.this.type

    Configure the builder so the port selection could change every cycle, even if the transaction on the selected port is not consumed.

  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  24. def on[T <: Data](inputs: Seq[Stream[T]]): Stream[T]

    Build the arbitered Stream from a Seq of Stream

  25. def onArgs[T <: Data](inputs: Stream[T]*): Stream[T]

    Build the arbitered Stream from a variable number Stream as arguments

  26. def roundRobin: StreamArbiterFactory.this.type

    Configure the builder for fair round robin arbitration

  27. def sequentialOrder: StreamArbiterFactory.this.type

    Configure the build to retrieve transaction in a sequential order.

    Configure the build to retrieve transaction in a sequential order.

    First transaction should come from port zero, then from port one, ...

  28. def setLock(body: (StreamArbiter[_ <: Data]) ⇒ Area): StreamArbiterFactory.this.type
  29. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  30. def toString(): String
    Definition Classes
    AnyRef → Any
  31. def transactionLock: StreamArbiterFactory.this.type

    Configure the builder so the port selection is locked until the selected port finish is burst (last=True).

    Configure the builder so the port selection is locked until the selected port finish is burst (last=True).

    Could be used to arbitrate Stream[Flow[T]].

  32. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  34. 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