Chisel

CppBackend

Related Doc: package Chisel

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: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Definition Classes
    AnyRef → Any
  4. def W0Wtransform(): Unit

    Definition Classes
    Backend
  5. def addBindings: Unit

    Definition Classes
    Backend
  6. def addClocksAndResets: Unit

    Definition Classes
    Backend
  7. def addDefaultResets: Unit

    Definition Classes
    Backend
  8. val allocateOnlyNeededShadowRegisters: Boolean

  9. val allocatedShadow: HashSet[Node]

  10. val analyses: ArrayBuffer[(Module) ⇒ Unit]

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

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

    Definition Classes
    Backend
  13. def assignClockAndResetToModules: Unit

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

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

  16. val bpw: Int

  17. def checkModuleResolution: Unit

    Definition Classes
    Backend
  18. def checkPorts: Unit

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

  20. def clone(): AnyRef

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

  22. var cloneFile: String

  23. val coalesceConstants: Boolean

  24. def collectNodesIntoComp(mod: Module): Unit

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

    Definition Classes
    CppBackendBackend
  26. val compileInitializationUnoptimized: Boolean

  27. val compileMultipleCppFiles: Boolean

  28. def computeMemPorts(mod: Module): Unit

    Definition Classes
    Backend
  29. def connectResets: Unit

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

  31. def createOutputFile(name: String): FileWriter

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

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

  34. def elaborate(c: Module): Unit

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

  36. def emitDatRef(x: Node): String

  37. def emitDec(node: Node): String

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

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

  40. def emitDefHis(c: Module): String

  41. def emitDefLo(node: Node): String

  42. def emitDefLos(c: Module): String

  43. def emitInit(node: Node): String

  44. def emitInitHi(node: Node): String

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

  46. def emitLoWordRef(node: Node): String

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

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

  49. def emitRef(node: Node): String

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

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

  52. def emitTmp(node: Node): String

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

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

  55. def ensureDir(dir: String): String

    Ensures a directory *dir* exists on the filesystem.

    Ensures a directory *dir* exists on the filesystem.

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

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

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

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

    Definition Classes
    Backend
  60. def finalize(): Unit

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

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

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

    Definition Classes
    Backend
  64. def flattenAll: Unit

    Definition Classes
    Backend
  65. def forceMatchingWidths: Unit

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

  67. def fullyQualifiedName(m: Node): String

    Definition Classes
    Backend
  68. def gatherClocksAndResets: Unit

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

  70. def genIndent(x: Int): String

    Attributes
    protected
    Definition Classes
    Backend
  71. 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.

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

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

    Definition Classes
    AnyRef → Any
  74. val ignoreShadows: Boolean

  75. def inferAll(mod: Module): Int

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

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

    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
  77. def isEmittingComponents: Boolean

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

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

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

  81. val keywords: Set[String]

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

    Definition Classes
    Backend
  83. def markComponents: Unit

    Definition Classes
    Backend
  84. var maxFiles: Int

  85. val multiwordLiteralInObject: Boolean

  86. val multiwordLiterals: HashSet[Literal]

  87. def nameAll(mod: Module): Unit

    Definition Classes
    Backend
  88. def nameBindings: Unit

    Definition Classes
    Backend
  89. def nameRsts: Unit

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

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

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

  93. val needsLowering: Set[String]

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

  95. final def notify(): Unit

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

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

  98. def opFoldLeft(o: Op, initial: (String, String) ⇒ String, subsequent: (String, String, String) ⇒ String): String

  99. var potentialShadowRegisters: Int

  100. 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
  101. def pruneUnconnectedIOs(m: Module): Unit

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

  103. 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
  104. def renameNodes(nodes: ArrayBuffer[Node]): Unit

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

  105. val shadowPrefix: String

  106. val shadowRegisterInObject: Boolean

  107. def sortComponents: Unit

    Definition Classes
    Backend
  108. val suppressMonolithicCppFile: Boolean

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

    Definition Classes
    AnyRef
  110. def toString(): String

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

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

  113. val unconnectedInputs: HashSet[Node]

  114. val unconnectedInputsInObject: Boolean

  115. val unoptimizedFiles: HashSet[String]

  116. def verifyAllMuxes: Unit

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

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

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

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

  121. def wordMangle(x: Node, w: String): String

  122. def words(node: Node): Int

Inherited from Backend

Inherited from FileSystemUtilities

Inherited from AnyRef

Inherited from Any

Ungrouped