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
- All
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 arbitrationPolicy: ArbitrationPolicy
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
assumeOhInput: StreamArbiterFactory.this.type
Configure the builder to assume that only one input is valid at any given time.
Configure the builder to assume that only one input is valid at any given time. User is responsible to ensure this condition is met.
- 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( ... ) @native() @IntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
fragmentLock: StreamArbiterFactory.this.type
Configure the builder so the port selection is locked until the selected port finish its burst (last=True).
Configure the builder so the port selection is locked until the selected port finish its burst (last=True).
Could be used to arbitrate
Stream[Fragment[T]]. -
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
lambdaLock[T <: Data](unlock: (Stream[T]) ⇒ Bool): StreamArbiterFactory.this.type
Configure the builder so the locked selection is released until the output meets the given criteria.
- var lockPolicy: LockPolicy
-
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
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- 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 builder to retrieve transaction in a sequential order.
Configure the builder 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
Configure the builder so the port selection could change based on user-defined logic.
-
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 transaction on the selected port is consumed.
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated