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
- Alphabetic
- By Inheritance
- StreamArbiterFactory
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new StreamArbiterFactory()
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- var arbitrationLogic: (StreamArbiter[_ <: Data]) => Area
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def assumeOhInput: StreamArbiterFactory.this.type
- def build[T <: Data](dataType: HardType[T], portCount: Int): StreamArbiter[T]
- def buildOn[T <: Data](first: Stream[T], others: Stream[T]*): StreamArbiter[T]
- def buildOn[T <: Data](inputs: Seq[Stream[T]]): StreamArbiter[T]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fragmentLock: StreamArbiterFactory.this.type
Configure the builder so The port selection is locked until the transaction on the selected port is consumed.
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def lambdaLock[T <: Data](unlock: (Stream[T]) => Bool): StreamArbiterFactory.this.type
- var lockLogic: (StreamArbiter[_ <: Data]) => Area
- def lowerFirst: StreamArbiterFactory.this.type
Configure the builder so lower ports have priority over higher ports
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- 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.
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def on[T <: Data](inputs: Seq[Stream[T]]): Stream[T]
- def onArgs[T <: Data](inputs: Stream[T]*): Stream[T]
Build the arbitered Stream from a variable number Stream as arguments
- def roundRobin: StreamArbiterFactory.this.type
Configure the builder for fair round robin arbitration
- 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, ...
- def setLock(body: (StreamArbiter[_ <: Data]) => Area): StreamArbiterFactory.this.type
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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]]. - final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)