Chisel

Arbiter

class Arbiter[T <: Data] extends LockingArbiter[T]

Hardware module that is used to sequence n producers into 1 consumer. Priority is given to lower producer

Example usage: val arb = Module(new Arbiter(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. Arbiter
  2. LockingArbiter
  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 Arbiter(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 addClockAndReset: Unit

    Definition Classes
    Module
  9. def addDefaultReset: Unit

    Definition Classes
    Module
  10. def addResetPin(reset: Bool): Unit

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

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

    Definition Classes
    Any
  13. 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
  14. def bfs(visit: (Node) ⇒ Unit): Unit

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

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

    Definition Classes
    Module
  17. var choose: UInt

    Definition Classes
    LockingArbiter
  18. val chosen: UInt

    Definition Classes
    LockingArbiterLike
  19. var clock: Clock

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

    Definition Classes
    Module
  21. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. def collectNodes(c: Module): Unit

    Definition Classes
    Module
  23. var containsReg: Boolean

    Definition Classes
    Module
  24. def containsRegInTree: Boolean

    Returns true if this module or any of its children contains at least one register.

    Returns true if this module or any of its children contains at least one register.

    Definition Classes
    Module
  25. val ctrl: Seq[Bool]

    Definition Classes
    LockingArbiter
  26. 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
  27. val debugs: HashSet[Node]

    Definition Classes
    Module
  28. var defaultResetPin: Bool

    Definition Classes
    Module
  29. var defaultWidth: Int

    Definition Classes
    Module
  30. def depthString(depth: Int): String

    Definition Classes
    Module
  31. def elaborate(fake: Int = 0): Unit

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

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

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

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

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

    Definition Classes
    Module
  37. def findCombLoop(): Unit

    Definition Classes
    Module
  38. def findConsumers(): Unit

    Definition Classes
    Module
  39. def findGraphDims(): (Int, Int, Int)

    Definition Classes
    Module
  40. def findOrdering(): Unit

    Definition Classes
    Module
  41. def findRoots(): ArrayBuffer[Node]

    Since we are relying on the out-degree of nodes (i.

    Since we are relying on the out-degree of nodes (i.e. consumers.length), this method should only be called after the forward edges have been constructed.

    Definition Classes
    Module
  42. def forceMatchingWidths: Unit

    Definition Classes
    Module
  43. def genAllMuxes: Unit

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

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

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

    Definition Classes
    Module
  47. 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
  48. def getResetPin(reset: Bool): Bool

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

    Definition Classes
    Module
  50. val grant: List[Bool]

    Definition Classes
    LockingArbiterLike
  51. def hasClock: Boolean

    Definition Classes
    Module
  52. var hasExplicitClock: Boolean

    Definition Classes
    Module
  53. var hasExplicitReset: Boolean

    Definition Classes
    Module
  54. def hasReset: Boolean

    Definition Classes
    Module
  55. def hasWhenCond: Boolean

    Definition Classes
    Module
  56. val hashCode: Int

    Definition Classes
    Module → AnyRef → Any
  57. def inferAll(): Int

    Definition Classes
    Module
  58. def initializeBFS: scala.collection.mutable.Queue[Node]

    Definition Classes
    Module
  59. def initializeDFS: Stack[Node]

    Definition Classes
    Module
  60. val io: ArbiterIO[T]

    Definition Classes
    LockingArbiterLikeModule
  61. var ioVal: Data

    Definition Classes
    Module
  62. def isInferenceTerminal(m: Node): Boolean

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

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

    Definition Classes
    Any
  65. def isSubclassOf(x: Class[_]): Boolean

    Definition Classes
    Module
  66. object isValName

    Definition Classes
    Module
  67. var isWalked: HashSet[Node]

    Definition Classes
    Module
  68. var isWalking: HashSet[Node]

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

    Definition Classes
    Module
  70. var level: Int

    A backend(Backend.

    A backend(Backend.scala) might generate multiple module source code from one Module, based on the parameters to instanciate 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 guarenteed to generate all Module/modules source text before their first instantiation.

    Definition Classes
    Module
  71. val lockIdx: UInt

    Definition Classes
    LockingArbiterLike
  72. val locked: Bool

    Definition Classes
    LockingArbiterLike
  73. def markComponent(): Unit

    Definition Classes
    Module
  74. val mods: ArrayBuffer[Node]

    Definition Classes
    Module
  75. 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
  76. var name: String

    Name of the instance.

    Name of the instance.

    Definition Classes
    Module
  77. var named: Boolean

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

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

    Definition Classes
    AnyRef
  80. def nextIndex: Int

    Definition Classes
    Module
  81. val nexts: scala.collection.mutable.Queue[Node]

    Definition Classes
    Module
  82. var nindex: Int

    Definition Classes
    Module
  83. val nodes: ArrayBuffer[Node]

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

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

    Definition Classes
    AnyRef
  86. val omods: ArrayBuffer[Node]

    Definition Classes
    Module
  87. def ownIo(): Unit

    Definition Classes
    Module
  88. var parent: Module

    Definition Classes
    Module
  89. var pathParent: Module

    Definition Classes
    Module
  90. def postMarkNet(fake: Int = 0): Unit

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

    Definition Classes
    Module
  92. val regs: ArrayBuffer[Reg]

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

    Definition Classes
    Module
  94. def removeTypeNodes(): Int

    All classes inherited from Data are used to add type information and do not represent logic itself.

    All classes inherited from Data are used to add type information and do not represent logic itself.

    Definition Classes
    Module
  95. def reset: Bool

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

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

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

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

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

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

    Definition Classes
    AnyRef
  102. def toString(): String

    Definition Classes
    Module → AnyRef → Any
  103. def traceNodes(): Unit

    Definition Classes
    Module
  104. def traceableNodes: Array[Node]

    Definition Classes
    Module
  105. var traversal: Int

    Definition Classes
    Module
  106. def verifyAllMuxes: Unit

    Definition Classes
    Module
  107. var verilog_parameters: String

    Definition Classes
    Module
  108. def visitNodes(roots: Array[Node]): Unit

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

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

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

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

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

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

    Definition Classes
    Module
  115. var wiresCache: Array[(String, Bits)]

    Definition Classes
    Module

Inherited from LockingArbiter[T]

Inherited from LockingArbiterLike[T]

Inherited from Module

Inherited from AnyRef

Inherited from Any

Ungrouped