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 getPathName(separator: String = "_"): String

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

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

    Definition Classes
    LockingArbiterLike
  49. def hasClock: Boolean

    Definition Classes
    Module
  50. var hasExplicitClock: Boolean

    Definition Classes
    Module
  51. var hasExplicitReset: Boolean

    Definition Classes
    Module
  52. def hasReset: Boolean

    Definition Classes
    Module
  53. def hasWhenCond: Boolean

    Definition Classes
    Module
  54. val hashCode: Int

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

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

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

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

    Definition Classes
    LockingArbiterLikeModule
  59. var ioVal: Data

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

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

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

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

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

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

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

    Definition Classes
    Module
  67. 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
  68. val lockIdx: UInt

    Definition Classes
    LockingArbiterLike
  69. val locked: Bool

    Definition Classes
    LockingArbiterLike
  70. def markComponent(): Unit

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

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

    Name of the instance.

    Name of the instance.

    Definition Classes
    Module
  74. var named: Boolean

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

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

    Definition Classes
    AnyRef
  77. def nextIndex: Int

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

    Definition Classes
    Module
  79. var nindex: Int

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

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

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

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

    Definition Classes
    Module
  84. def ownIo(): Unit

    Definition Classes
    Module
  85. var parent: Module

    Definition Classes
    Module
  86. var pathParent: Module

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

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

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

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

    Definition Classes
    Module
  91. 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
  92. def reset: Bool

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

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

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

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

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

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

    Definition Classes
    AnyRef
  99. def toString(): String

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

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

    Definition Classes
    Module
  102. var traversal: Int

    Definition Classes
    Module
  103. def verifyAllMuxes: Unit

    Definition Classes
    Module
  104. var verilog_parameters: String

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

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

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

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

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

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

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

    Definition Classes
    Module
  112. 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