Class

chisel3.util

RRArbiter

Related Doc: package util

Permalink

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.

Annotations
@chiselName()
Example:
  1. val arb = new RRArbiter(2, UInt())
    arb.io.in(0) <> producer0.io.out
    arb.io.in(1) <> producer1.io.out
    consumer.io.in <> arb.io.out
Linear Supertypes
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. RRArbiter
  2. LockingRRArbiter
  3. LockingArbiterLike
  4. Module
  5. HasId
  6. InstanceId
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RRArbiter(gen: T, n: Int)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def IO[T <: core.Data](iodef: T): iodef.type

    Permalink

    This must wrap the datatype used to set the io field of any Module.

    This must wrap the datatype used to set the io field of any Module. i.e. All concrete modules must have defined io in this form: [lazy] val io[: io type] = IO(...[: io type])

    Items in [] are optional.

    The granted iodef WILL NOT be cloned (to allow for more seamless use of anonymous Bundles in the IO) and thus CANNOT have been bound to any logic. This will error if any node is bound (e.g. due to logic in a Bundle constructor, which is considered improper).

    TODO(twigg): Specifically walk the Data definition to call out which nodes are problematic.

    Definition Classes
    Module
  5. def annotate(annotation: ChiselAnnotation): Unit

    Permalink
    Definition Classes
    Module
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. lazy val choice: core.UInt

    Permalink
    Attributes
    protected
    Definition Classes
    LockingRRArbiterLockingArbiterLike
  8. val clock: core.Clock

    Permalink
    Definition Classes
    Module
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. val compileOptions: CompileOptions

    Permalink
    Definition Classes
    Module
  11. def desiredName: String

    Permalink

    Desired name of this module.

    Desired name of this module.

    Definition Classes
    Module
  12. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. def equals(that: Any): Boolean

    Permalink
    Definition Classes
    HasId → AnyRef → Any
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. lazy val getPorts: Seq[Port]

    Permalink
    Definition Classes
    Module
  17. def grant: Seq[Bool]

    Permalink
    Attributes
    protected
    Definition Classes
    LockingRRArbiterLockingArbiterLike
  18. def hashCode(): Int

    Permalink
    Definition Classes
    HasId → AnyRef → Any
  19. def instanceName: String

    Permalink

    Signal name (for simulation).

    Signal name (for simulation).

    Definition Classes
    Module → HasId → InstanceId
  20. val io: ArbiterIO[T]

    Permalink

    IO for this Module.

    IO for this Module. At the Scala level (pre-FIRRTL transformations), connections in and out of a Module may only go through io elements.

    Definition Classes
    LockingArbiterLikeModule
  21. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  22. final val name: String

    Permalink

    Legalized name of this module.

    Legalized name of this module.

    Definition Classes
    Module
  23. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  24. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  25. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  26. def parentModName: String

    Permalink
    Definition Classes
    HasId → InstanceId
  27. def parentPathName: String

    Permalink
    Definition Classes
    HasId → InstanceId
  28. def pathName: String

    Permalink
    Definition Classes
    HasId → InstanceId
  29. val reset: core.Bool

    Permalink
    Definition Classes
    Module
  30. def suggestName(name: ⇒ String): RRArbiter.this.type

    Permalink
    Definition Classes
    HasId
  31. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  32. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  33. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from LockingRRArbiter[T]

Inherited from LockingArbiterLike[T]

Inherited from core.Module

Inherited from HasId

Inherited from InstanceId

Inherited from AnyRef

Inherited from Any

Ungrouped