Chisel

RRArbiter

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.

Example usage: 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
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. RRArbiter
  2. LockingRRArbiter
  3. LockingArbiterLike
  4. Module
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

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

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def <>(src: Module): Unit

    Definition Classes
    Module
  5. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  6. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  7. def addClock(clock: Clock): Unit

    Definition Classes
    Module
  8. def addDefaultReset: Unit

    Definition Classes
    Module
  9. def addModule[T <: Module](c: ⇒ T)(implicit p: Parameters = params): T

    Definition Classes
    Module
  10. def addModule[T <: Module](c: ⇒ T, f: PartialFunction[Any, Any]): T

    Definition Classes
    Module
  11. def addPin[T <: Data](pin: T, name: String = ""): T

    Definition Classes
    Module
  12. def addResetPin(reset: Bool): Bool

    Definition Classes
    Module
  13. def apply(name: String): Data

    Definition Classes
    Module
  14. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  15. def assert(cond: Bool, message: String): Unit

    Add an assertion in the code generated by a backend.

    Add an assertion in the code generated by a backend.

    Definition Classes
    Module
  16. val asserts: ArrayBuffer[Assert]

    Definition Classes
    Module
  17. def bfs(visit: (Node) ⇒ Unit): Unit

    Definition Classes
    Module
  18. val bindings: ArrayBuffer[Binding]

    Definition Classes
    Module
  19. val children: ArrayBuffer[Module]

    Definition Classes
    Module
  20. var choose: UInt

    Definition Classes
    LockingRRArbiter
  21. val chosen: UInt

    Definition Classes
    LockingArbiterLike
  22. var clock: Clock

    Definition Classes
    Module
  23. val clocks: ArrayBuffer[Clock]

    Definition Classes
    Module
  24. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. def debug(x: Node): Unit

    Insures a backend does not remove a signal because it is unreachable from the outputs.

    Insures a backend does not remove a signal because it is unreachable from the outputs.

    Definition Classes
    Module
  26. val debugs: LinkedHashSet[Node]

    Definition Classes
    Module
  27. var defaultResetPin: Bool

    Definition Classes
    Module
  28. var defaultWidth: Int

    Definition Classes
    Module
  29. def dfs(visit: (Node) ⇒ Unit): Unit

    Definition Classes
    Module
  30. def emitDec(b: Backend): String

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

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

    Definition Classes
    Module → AnyRef → Any
  33. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  34. def findBinding(m: Node): Option[Binding]

    Definition Classes
    Module
  35. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  36. def getClassValNames(c: Class[_]): ArrayBuffer[String]

    Definition Classes
    Module
  37. def getPathName(separator: String = "_"): String

    Definition Classes
    Module
  38. def getPathName: String

    Returns the absolute path to a component instance from toplevel.

    Returns the absolute path to a component instance from toplevel.

    Definition Classes
    Module
  39. def getValNames: ArrayBuffer[String]

    Definition Classes
    Module
  40. def grant: Seq[Bool]

    Definition Classes
    LockingRRArbiterLockingArbiterLike
  41. def hasClock: Boolean

    Definition Classes
    Module
  42. var hasExplicitClock: Boolean

    Definition Classes
    Module
  43. var hasExplicitReset: Boolean

    Definition Classes
    Module
  44. def hasReset: Boolean

    Definition Classes
    Module
  45. def hasWhenCond: Boolean

    Definition Classes
    Module
  46. val hashCode: Int

    Definition Classes
    Module → AnyRef → Any
  47. val io: ArbiterIO[T]

    Definition Classes
    LockingArbiterLikeModule
  48. var ioVal: Data

    Definition Classes
    Module
  49. def isInput(node: Node): Boolean

    Definition Classes
    Module
  50. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  51. object isValName

    Definition Classes
    Module
  52. def keepInputs(nodes: Seq[Node]): Seq[Node]

    Definition Classes
    Module
  53. lazy val last_grant: UInt

    Definition Classes
    LockingRRArbiter
  54. var level: Int

    A backend(Backend.

    A backend(Backend.scala) might generate multiple module source code from one Module, based on the parameters to instantiate the component instance. Since we do not want to blindly generate one module per instance the backend will keep a cache of each module's implementation source code and discard textual duplicates. By walking the nodes from level zero (leafs) to level N (root), we are guaranteed to generate all Module/modules source text before their first instantiation.

    Definition Classes
    Module
  55. val lockIdx: UInt

    Definition Classes
    LockingArbiterLike
  56. val locked: Bool

    Definition Classes
    LockingArbiterLike
  57. def markComponent(): Unit

    Definition Classes
    Module
  58. var moduleName: String

    Name of the module this component generates (defaults to class name).

    Name of the module this component generates (defaults to class name).

    Definition Classes
    Module
  59. var name: String

    Name of the instance.

    Name of the instance.

    Definition Classes
    Module
  60. var named: Boolean

    Definition Classes
    Module
  61. val names: HashMap[String, Node]

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

    Definition Classes
    AnyRef
  63. def nextIndex: Int

    Definition Classes
    Module
  64. var nindex: Int

    Definition Classes
    Module
  65. val nodes: LinkedHashSet[Node]

    Definition Classes
    Module
  66. final def notify(): Unit

    Definition Classes
    AnyRef
  67. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  68. def ownIo(): Unit

    Definition Classes
    Module
  69. lazy val params: Parameters

    Definition Classes
    Module
  70. var parent: Module

    Definition Classes
    Module
  71. var pathParent: Module

    Definition Classes
    Module
  72. def printf(message: String, args: Node*): Unit

    Definition Classes
    Module
  73. val printfs: ArrayBuffer[Printf]

    Definition Classes
    Module
  74. def removeInputs(nodes: Seq[Node]): Seq[Node]

    Definition Classes
    Module
  75. def reset: Bool

    Definition Classes
    Module
  76. def reset_=(): Unit

    Definition Classes
    Module
  77. def reset_=(r: Bool): Unit

    Definition Classes
    Module
  78. val resets: HashMap[Bool, Bool]

    Definition Classes
    Module
  79. def stripComponent(s: String): String

    Definition Classes
    Module
  80. val switchKeys: Stack[Bits]

    Definition Classes
    Module
  81. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  82. def toString(): String

    Definition Classes
    Module → AnyRef → Any
  83. var traversal: Int

    Definition Classes
    Module
  84. var verilog_parameters: String

    Definition Classes
    Module
  85. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  88. def whenCond: Bool

    Definition Classes
    Module
  89. val whenConds: Stack[Bool]

    Definition Classes
    Module
  90. def wires: Array[(String, Bits)]

    Definition Classes
    Module

Inherited from LockingRRArbiter[T]

Inherited from LockingArbiterLike[T]

Inherited from Module

Inherited from AnyRef

Inherited from Any

Ungrouped