Chisel

Module

abstract class Module extends AnyRef

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Module
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Module(clock: Clock = null, _reset: Bool = null)

Abstract Value Members

  1. abstract def io: Data

Concrete 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

  5. final def ==(arg0: AnyRef): Boolean

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

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

  8. def addClockAndReset: Unit

  9. def addDefaultReset: Unit

  10. def addResetPin(reset: Bool): Unit

  11. def apply(name: String): Data

  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.

  14. def bfs(visit: (Node) ⇒ Unit): Unit

  15. val bindings: ArrayBuffer[Binding]

  16. val children: ArrayBuffer[Module]

  17. var clock: Clock

  18. val clocks: ArrayBuffer[Clock]

  19. def clone(): AnyRef

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

  21. var containsReg: Boolean

  22. def containsRegInTree: Boolean

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

  23. def debug(x: Node): Unit

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

  24. val debugs: HashSet[Node]

  25. var defaultResetPin: Bool

  26. var defaultWidth: Int

  27. def depthString(depth: Int): String

  28. def elaborate(fake: Int = 0): Unit

  29. def emitDec(b: Backend): String

  30. final def eq(arg0: AnyRef): Boolean

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

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

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

  34. def findCombLoop(): Unit

  35. def findConsumers(): Unit

  36. def findGraphDims(): (Int, Int, Int)

  37. def findOrdering(): Unit

  38. 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.

  39. def forceMatchingWidths: Unit

  40. def genAllMuxes: Unit

  41. final def getClass(): Class[_]

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

  43. def getPathName(separator: String = "_"): String

  44. def getPathName: String

    Returns the absolute path to a component instance from toplevel.

  45. def getResetPin(reset: Bool): Bool

  46. def getValNames: ArrayBuffer[String]

  47. def hasClock: Boolean

  48. var hasExplicitClock: Boolean

  49. var hasExplicitReset: Boolean

  50. def hasReset: Boolean

  51. def hasWhenCond: Boolean

  52. val hashCode: Int

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

  54. def initializeBFS: scala.collection.mutable.Queue[Node]

  55. def initializeDFS: Stack[Node]

  56. var ioVal: Data

  57. def isInferenceTerminal(m: Node): Boolean

  58. def isInput(node: Node): Boolean

  59. final def isInstanceOf[T0]: Boolean

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

  61. object isValName

  62. var isWalked: HashSet[Node]

  63. var isWalking: HashSet[Node]

  64. def keepInputs(nodes: Seq[Node]): Seq[Node]

  65. 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.

  66. def markComponent(): Unit

  67. val mods: ArrayBuffer[Node]

  68. var moduleName: String

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

  69. var name: String

    Name of the instance.

  70. var named: Boolean

  71. val names: HashMap[String, Node]

  72. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  73. def nextIndex: Int

  74. val nexts: scala.collection.mutable.Queue[Node]

  75. var nindex: Int

  76. val nodes: ArrayBuffer[Node]

  77. final def notify(): Unit

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

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

  80. def ownIo(): Unit

  81. var parent: Module

  82. var pathParent: Module

  83. def postMarkNet(fake: Int = 0): Unit

  84. def printf(message: String, args: Node*): Unit

  85. val regs: ArrayBuffer[Reg]

  86. def removeInputs(nodes: Seq[Node]): Seq[Node]

  87. def removeTypeNodes(): Int

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

  88. def reset: Bool

  89. def reset_=(): Unit

  90. def reset_=(r: Bool): Unit

  91. val resets: HashMap[Bool, Bool]

  92. def stripComponent(s: String): String

  93. val switchKeys: Stack[Bits]

  94. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  95. def toString(): String

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

  97. def traceableNodes: Array[Node]

  98. var traversal: Int

  99. def verifyAllMuxes: Unit

  100. var verilog_parameters: String

  101. def visitNodes(roots: Array[Node]): Unit

  102. final def wait(): Unit

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

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

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

  106. val whenConds: Stack[Bool]

  107. def wires: Array[(String, Bits)]

  108. var wiresCache: Array[(String, Bits)]

Inherited from AnyRef

Inherited from Any

Ungrouped