class RRArbiter[T <: Data] extends LockingRRArbiter[T]
Hardware module that is used to sequence n producers into 1 consumer. Producers are chosen in round robin order.
- Source
- Arbiter.scala
val arb = Module(new RRArbiter(UInt(), 2)) arb.io.in(0) <> producer0.io.out arb.io.in(1) <> producer1.io.out consumer.io.in <> arb.io.out
- Alphabetic
- By Inheritance
- RRArbiter
- LockingRRArbiter
- LockingArbiterLike
- Module
- ImplicitReset
- ImplicitClock
- RawModule
- BaseModule
- IsInstantiable
- HasId
- InstanceId
- AnyRef
- Any
- by BaseModuleExtensions
- by IsInstantiableExtensions
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Value Members
- lazy val choice: UInt
- Definition Classes
- LockingRRArbiter → LockingArbiterLike
- def circuitName: String
- Definition Classes
- HasId
- final val clock: Clock
- Definition Classes
- Module
- final val definitionIdentifier: String
Represents an eagerly-determined unique and descriptive identifier for this module
Represents an eagerly-determined unique and descriptive identifier for this module
- Definition Classes
- BaseModule
- def desiredName: String
The desired name of this module (which will be used in generated FIRRTL IR or Verilog).
The desired name of this module (which will be used in generated FIRRTL IR or Verilog).
The name of a module approximates the behavior of the Java Reflection
getSimpleName
method https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#getSimpleName-- with some modifications:- Anonymous modules will get an
"_Anon"
tag - Modules defined in functions will use their class name and not a numeric name- Definition Classes
- BaseModule
- Note
If you want a custom or parametric name, override this method.
- def endIOCreation()(implicit si: SourceInfo): Unit
Disallow any more IO creation for this module.
Disallow any more IO creation for this module.
- Definition Classes
- BaseModule
- def equals(that: Any): Boolean
- Definition Classes
- HasId → AnyRef → Any
- val gen: T
- def grant: Seq[Bool]
- Definition Classes
- LockingRRArbiter → LockingArbiterLike
- lazy val grantMask: IndexedSeq[Bool]
- Definition Classes
- LockingRRArbiter
- def hasSeed: Boolean
- returns
Whether either autoName or suggestName has been called
- Definition Classes
- HasId
- def hashCode(): Int
- Definition Classes
- HasId → AnyRef → Any
- def instanceName: String
Signal name (for simulation).
Signal name (for simulation).
- Definition Classes
- BaseModule → HasId → InstanceId
- val io: ArbiterIO[T]
- Definition Classes
- LockingArbiterLike
- lazy val lastGrant: UInt
- Definition Classes
- LockingRRArbiter
- val n: Int
- final lazy val name: String
Legalized name of this module.
Legalized name of this module.
- Definition Classes
- BaseModule
- def parentModName: String
- Definition Classes
- HasId → InstanceId
- def parentPathName: String
- Definition Classes
- HasId → InstanceId
- def pathName: String
- Definition Classes
- HasId → InstanceId
- final val reset: Reset
- Definition Classes
- Module
- def resetType: Type
Override this to explicitly set the type of reset you want on this module , before any reset inference
Override this to explicitly set the type of reset you want on this module , before any reset inference
- Definition Classes
- Module
- def suggestName(seed: => String): RRArbiter.this.type
Takes the first seed suggested.
Takes the first seed suggested. Multiple calls to this function will be ignored. If the final computed name conflicts with another name, it may get uniquified by appending a digit at the end.
Is a higher priority than
autoSeed
, in that regardless of whetherautoSeed
was called, suggestName will always take precedence.- seed
The seed for the name of this component
- returns
this object
- Definition Classes
- HasId
- final def toAbsoluteTarget: IsModule
Returns a FIRRTL ModuleTarget that references this object
Returns a FIRRTL ModuleTarget that references this object
- Definition Classes
- BaseModule → InstanceId
- Note
Should not be called until circuit elaboration is complete
- def toDefinition: Definition[RRArbiter[T]]
- Implicit
- This member is added by an implicit conversion from RRArbiter[T] toBaseModuleExtensions[RRArbiter[T]] performed by method BaseModuleExtensions in chisel3.experimental.BaseModule.
- Definition Classes
- BaseModuleExtensions
- final def toNamed: ModuleName
Returns a FIRRTL ModuleName that references this object
Returns a FIRRTL ModuleName that references this object
- Definition Classes
- BaseModule → InstanceId
- Note
Should not be called until circuit elaboration is complete
- final def toRelativeTarget(root: Option[BaseModule]): IsModule
Returns a FIRRTL ModuleTarget that references this object, relative to an optional root.
Returns a FIRRTL ModuleTarget that references this object, relative to an optional root.
If
root
is defined, the target is a hierarchical path starting fromroot
.If
root
is not defined, the target is a hierarchical path equivalent totoAbsoluteTarget
.- Definition Classes
- BaseModule
- Note
If
,root
is defined, and has not finished elaboration, this must be called withinatModuleBodyEnd
.The BaseModule must be a descendant of
,root
, if it is defined.This doesn't have special handling for Views.
- final def toTarget: ModuleTarget
Returns a FIRRTL ModuleTarget that references this object
Returns a FIRRTL ModuleTarget that references this object
- Definition Classes
- BaseModule → InstanceId
- Note
Should not be called until circuit elaboration is complete
- lazy val validMask: IndexedSeq[Bool]
- Definition Classes
- LockingRRArbiter
Shadowed Implicit Value Members
- def toInstance: Instance[RRArbiter[T]]
- Implicit
- This member is added by an implicit conversion from RRArbiter[T] toBaseModuleExtensions[RRArbiter[T]] performed by method BaseModuleExtensions in chisel3.experimental.BaseModule.
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(rRArbiter: BaseModuleExtensions[RRArbiter[T]]).toInstance
- Definition Classes
- BaseModuleExtensions
- def toInstance: Instance[RRArbiter[T]]
- Implicit
- This member is added by an implicit conversion from RRArbiter[T] toIsInstantiableExtensions[RRArbiter[T]] performed by method IsInstantiableExtensions in chisel3.experimental.hierarchy.core.IsInstantiable.
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(rRArbiter: IsInstantiableExtensions[RRArbiter[T]]).toInstance
- Definition Classes
- IsInstantiableExtensions