Chisel

CppBackend

class CppBackend extends Backend

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. CppBackend
  2. Backend
  3. FileSystemUtilities
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CppBackend()

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. final def ==(arg0: AnyRef): Boolean

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

    Definition Classes
    Any
  6. def W0Wtransform(): Unit

    Definition Classes
    Backend
  7. def addBindings: Unit

    Definition Classes
    Backend
  8. def addClocksAndResets: Unit

    Definition Classes
    Backend
  9. def addDefaultResets: Unit

    Definition Classes
    Backend
  10. val allocateOnlyNeededShadowRegisters: Boolean

    Attributes
    protected[this]
  11. val allocatedShadow: HashSet[Node]

    Attributes
    protected[this]
  12. val analyses: ArrayBuffer[(Module) ⇒ Unit]

    Definition Classes
    Backend
  13. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  14. def asValidName(name: String): String

    Definition Classes
    Backend
  15. def assignClockAndResetToModules: Unit

    Definition Classes
    Backend
  16. def backendElaborate(c: Module): Unit

  17. def block(s: Seq[String]): String

  18. val bpw: Int

    Attributes
    protected[this]
  19. def checkModuleResolution: Unit

    Definition Classes
    Backend
  20. def checkPorts: Unit

    Definition Classes
    Backend
  21. def clkName(clock: Clock): String

    Attributes
    protected[this]
  22. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. val cloneCompiledO0: Boolean

    Attributes
    protected[this]
  24. var cloneFile: String

    Attributes
    protected[this]
  25. val coalesceConstants: Boolean

    Attributes
    protected[this]
  26. def collectNodesIntoComp(mod: Module): Unit

    Definition Classes
    Backend
  27. def compile(c: Module, flagsIn: String): Unit

    Definition Classes
    CppBackendBackend
  28. val compileInitializationUnoptimized: Boolean

    Attributes
    protected[this]
  29. val compileMultipleCppFiles: Boolean

    Attributes
    protected[this]
  30. def computeMemPorts(mod: Module): Unit

    Definition Classes
    Backend
  31. def connectResets: Unit

    Definition Classes
    Backend
  32. val constantPool: HashMap[String, Literal]

    Attributes
    protected[this]
  33. def createOutputFile(name: String): FileWriter

    Definition Classes
    FileSystemUtilities
  34. def depthString(depth: Int): String

    Definition Classes
    Backend
  35. def determineRequiredShadowRegisters(node: Node): Unit

    Attributes
    protected[this]
  36. def elaborate(c: Module): Unit

    Definition Classes
    CppBackendBackend
  37. def emitCircuitAssign(srcPrefix: String, node: Node): String

    Attributes
    protected[this]
  38. def emitDatRef(x: Node): String

  39. def emitDec(node: Node): String

    Definition Classes
    CppBackendBackend
  40. def emitDef(node: Node): String

    Definition Classes
    Backend
  41. def emitDefHi(node: Node): String

  42. def emitDefHis(c: Module): String

  43. def emitDefLo(node: Node): String

  44. def emitDefLos(c: Module): String

  45. def emitInit(node: Node): String

  46. def emitInitHi(node: Node): String

  47. def emitLit(value: BigInt, w: Int = 0): String

    Attributes
    protected[this]
  48. def emitLoWordRef(node: Node): String

  49. def emitLog2(x: Node, priEnc: Boolean = false): String

  50. def emitMapping(mapping: (String, Node)): String

  51. def emitRef(node: Node): String

    Definition Classes
    CppBackendBackend
  52. def emitRef(c: Module): String

    Definition Classes
    Backend
  53. def emitRefHi(node: Node): String

  54. def emitTmp(node: Node): String

    Definition Classes
    CppBackendBackend
  55. def emitTmpDec(node: Node): String

  56. def emitWordRef(node: Node, w: Int): String

  57. def ensureDir(dir: String): String

    Ensures a directory *dir* exists on the filesystem.

    Ensures a directory *dir* exists on the filesystem.

    Definition Classes
    FileSystemUtilities
  58. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  59. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  60. def execute(c: Module, walks: ArrayBuffer[(Module) ⇒ Unit]): Unit

    Definition Classes
    Backend
  61. def extractClassName(comp: Module): String

    Definition Classes
    Backend
  62. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  63. def findCombLoop: Unit

    Definition Classes
    Backend
  64. def findConsumers(mod: Module): Unit

    Definition Classes
    Backend
  65. def findGraphDims: (Int, Int, Int)

    Definition Classes
    Backend
  66. def flattenAll: Unit

    Definition Classes
    Backend
  67. def forceMatchingWidths: Unit

    Definition Classes
    Backend
  68. def fullWords(node: Node): Int

    Attributes
    protected[this]
  69. def fullyQualifiedName(m: Node): String

    Definition Classes
    Backend
  70. def gatherClocksAndResets: Unit

    Definition Classes
    Backend
  71. def genHarness(c: Module, name: String): Unit

    Attributes
    protected[this]
  72. def genIndent(x: Int): String

    Attributes
    protected
    Definition Classes
    Backend
  73. def generateNodeMapping: ArrayBuffer[(String, Node)]

    Takes a list of nodes and returns a list of tuples with the names attached.

    Takes a list of nodes and returns a list of tuples with the names attached. Used to preserve original node names before the rename process.

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

    Definition Classes
    AnyRef → Any
  75. def hashCode(): Int

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

    Definition Classes
    Backend
  77. def isBitsIo(node: Node, dir: IODirection): Boolean

    Nodes which are created outside the execution trace from the toplevel component constructor (i.

    Nodes which are created outside the execution trace from the toplevel component constructor (i.e. through the () => Module(new Top()) ChiselMain argument) will have a component field set to null. For example, genMuxes, forceMatchWidths and transforms (all called from Backend.elaborate) create such nodes.

    This method walks all nodes from all component roots (outputs, debugs). and reassociates the component to the node both ways (i.e. in Driver.nodes and Node.component).

    We assume here that all nodes at the components boundaries (io) have a non-null and correct node/component association. We further assume that nodes generated in elaborate are inputs to a node whose component field is set.

    Implementation Node: At first we did implement *collectNodesIntoComp* to handle a single component at a time but that did not catch the cases where Regs are passed as input to sub-module without being tied to an output of *this.component*.

    Definition Classes
    Backend
  78. def isEmittingComponents: Boolean

    Definition Classes
    Backend
  79. def isInObject(n: Node): Boolean

    Definition Classes
    CppBackendBackend
  80. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  81. def isLit(node: Node): Boolean

    Attributes
    protected[this]
  82. val keywords: Set[String]

    Definition Classes
    CppBackendBackend
  83. def lowerNodes(mod: Module): Unit

    Definition Classes
    Backend
  84. def markComponents: Unit

    Definition Classes
    Backend
  85. var maxFiles: Int

    Attributes
    protected[this]
  86. val multiwordLiteralInObject: Boolean

    Attributes
    protected[this]
  87. val multiwordLiterals: HashSet[Literal]

    Attributes
    protected[this]
  88. def nameAll(): Unit

    Definition Classes
    Backend
  89. def nameBindings: Unit

    Definition Classes
    Backend
  90. def nameRsts: Unit

    Definition Classes
    Backend
  91. val nameSpace: HashSet[String]

    Definition Classes
    Backend
  92. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  93. val needShadow: HashSet[Node]

    Attributes
    protected[this]
  94. val needsLowering: Set[String]

    Definition Classes
    Backend
  95. def nodeVars(node: Node): List[(String, String)]

    Attributes
    protected[this]
  96. final def notify(): Unit

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

    Definition Classes
    AnyRef
  98. val onceOnlyFiles: HashSet[String]

    Attributes
    protected[this]
  99. def opFoldLeft(o: Op, initial: (String, String) ⇒ String, subsequent: (String, String, String) ⇒ String): String

  100. var potentialShadowRegisters: Int

    Attributes
    protected[this]
  101. def printStack: Unit

    Prints the call stack of Component as seen by the push/pop runtime.

    Prints the call stack of Component as seen by the push/pop runtime.

    Attributes
    protected
    Definition Classes
    Backend
  102. def pruneUnconnectedIOs(m: Module): Unit

    Definition Classes
    Backend
  103. val regWritten: HashSet[Node]

    Attributes
    protected[this]
  104. def removeTypeNodes(mod: Module): 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
    Backend
  105. def renameNodes(nodes: ArrayBuffer[Node]): Unit

    Ensures each node such that it has a unique name across the whole hierarchy by prefixing its name by a component path (except for "reset" and all nodes in *c*).

  106. val shadowRegisterInObject: Boolean

    Attributes
    protected[this]
  107. def sortComponents: Unit

    Definition Classes
    Backend
  108. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  109. def toString(): String

    Definition Classes
    AnyRef → Any
  110. val transforms: ArrayBuffer[(Module) ⇒ Unit]

    Definition Classes
    Backend
  111. def trunc(x: Node): String

  112. val unconnectedInputs: HashSet[Node]

    Attributes
    protected[this]
  113. val unconnectedInputsInObject: Boolean

    Attributes
    protected[this]
  114. val unoptimizedFiles: HashSet[String]

    Attributes
    protected[this]
  115. def verifyAllMuxes: Unit

    Definition Classes
    Backend
  116. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  119. def wordMangle(x: Node, w: Int): String

    Attributes
    protected[this]
  120. def wordMangle(x: Node, w: String): String

    Attributes
    protected[this]
  121. def words(node: Node): Int

    Attributes
    protected[this]

Inherited from Backend

Inherited from FileSystemUtilities

Inherited from AnyRef

Inherited from Any

Ungrouped