Class

Chisel

Fame1CppBackend

Related Doc: package Chisel

Permalink

class Fame1CppBackend extends CppBackend with Fame1Transform

Source
FameBackend.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Fame1CppBackend
  2. Fame1Transform
  3. CppBackend
  4. Backend
  5. FileSystemUtilities
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Fame1CppBackend()

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. val CC: String

    Permalink
    Attributes
    protected
    Definition Classes
    FileSystemUtilities
  5. val CCFLAGS: String

    Permalink
    Attributes
    protected
    Definition Classes
    FileSystemUtilities
  6. val CPPFLAGS: String

    Permalink
    Attributes
    protected
    Definition Classes
    FileSystemUtilities
  7. val CXX: String

    Permalink
    Attributes
    protected
    Definition Classes
    FileSystemUtilities
  8. val CXXFLAGS: String

    Permalink
    Attributes
    protected
    Definition Classes
    FileSystemUtilities
  9. val LDFLAGS: String

    Permalink
    Attributes
    protected
    Definition Classes
    FileSystemUtilities
  10. def W0Wtransform(): Unit

    Permalink
    Definition Classes
    Backend
  11. def addBindings: Unit

    Permalink
    Definition Classes
    Backend
  12. def addClocksAndResets: Unit

    Permalink
    Definition Classes
    Backend
  13. def addDefaultResets: Unit

    Permalink
    Definition Classes
    Backend
  14. val allocateOnlyNeededShadowRegisters: Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  15. val allocatedShadow: HashSet[Node]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  16. val analyses: ArrayBuffer[(Module) ⇒ Unit]

    Permalink
    Definition Classes
    Backend
  17. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  18. def asValidName(name: String): String

    Permalink
    Definition Classes
    Backend
  19. def assignClockAndResetToModules: Unit

    Permalink
    Definition Classes
    Backend
  20. def block(s: Seq[String]): String

    Permalink
    Definition Classes
    CppBackend
  21. val bpw: Int

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  22. def cc(dir: String, name: String, flags: String = "", isCC: Boolean = false): Unit

    Permalink
    Definition Classes
    FileSystemUtilities
  23. def checkModuleResolution: Unit

    Permalink
    Definition Classes
    Backend
  24. def checkPorts: Unit

    Permalink
    Definition Classes
    Backend
  25. val chiselENV: String

    Permalink
    Attributes
    protected
    Definition Classes
    FileSystemUtilities
  26. def clkName(clock: Clock): String

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  27. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. val coalesceConstants: Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  29. def collectNodesIntoComp(mod: Module): Unit

    Permalink
    Definition Classes
    Backend
  30. def compile(c: Module, flagsIn: Option[String]): Unit

    Permalink
    Definition Classes
    CppBackendBackend
  31. val compileInitializationUnoptimized: Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  32. val compileMultipleCppFiles: Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  33. def computeMemPorts(mod: Module): Unit

    Permalink
    Definition Classes
    Backend
  34. def connectResets: Unit

    Permalink
    Definition Classes
    Backend
  35. val constantPool: HashMap[(String, Width), Literal]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  36. def convertMaskedWrites(mod: Module): Unit

    Permalink
    Definition Classes
    Backend
  37. def copyToTarget(filename: String): Unit

    Permalink
    Definition Classes
    FileSystemUtilities
  38. def createOutputFile(name: String): FileWriter

    Permalink
    Definition Classes
    FileSystemUtilities
  39. def determineRequiredShadowRegisters(node: Node): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  40. def elaborate(c: Module): Unit

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

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  42. def emitDatRef(x: Node): String

    Permalink
    Definition Classes
    CppBackend
  43. def emitDec(node: Node): String

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

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

    Permalink
    Definition Classes
    CppBackend
  46. def emitDefLo(node: Node): String

    Permalink
    Definition Classes
    CppBackend
  47. def emitInit(node: Node): String

    Permalink
    Definition Classes
    CppBackend
  48. def emitInitHi(node: Node): String

    Permalink
    Definition Classes
    CppBackend
  49. def emitLitVal(n: Node, w: Int): String

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  50. def emitLoWordRef(node: Node): String

    Permalink
    Definition Classes
    CppBackend
  51. def emitLog2(x: Node, priEnc: Boolean = false): String

    Permalink
    Definition Classes
    CppBackend
  52. def emitRef(node: Node): String

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

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

    Permalink
    Definition Classes
    CppBackend
  55. def emitTmp(node: Node): String

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

    Permalink
    Definition Classes
    CppBackend
  57. def emitValue(value: BigInt, w: Int = 0): String

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  58. def emitValueAddress(node: Node): String

    Permalink
    Definition Classes
    CppBackend
  59. def emitWordRef(node: Node, w: Int): String

    Permalink
    Definition Classes
    CppBackend
  60. def ensureDir(dir: String): String

    Permalink

    Ensures a directory *dir* exists on the filesystem.

    Ensures a directory *dir* exists on the filesystem.

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

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

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

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

    Permalink
    Definition Classes
    Backend
  65. def finalize(): Unit

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

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

    Permalink
    Definition Classes
    Backend
  68. def findGraphDims: (Int, Int, Int)

    Permalink
    Definition Classes
    Backend
  69. def flattenAll: Unit

    Permalink
    Definition Classes
    Backend
  70. def forceMatchingWidths: Unit

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

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  72. def fullyQualifiedName(m: Node): String

    Permalink
    Definition Classes
    Backend
  73. def gatherClocksAndResets: Unit

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

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  75. def genIndent(x: Int): String

    Permalink

    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
  76. final def getClass(): Class[_]

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

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

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

    Permalink

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

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

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

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

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  84. val keywords: Set[String]

    Permalink
    Definition Classes
    Backend
  85. def link(dir: String, target: String, objects: Seq[String], isCC: Boolean = false, isLib: Boolean = false): Unit

    Permalink
    Definition Classes
    FileSystemUtilities
  86. def lowerNodes(mod: Module): Unit

    Permalink
    Definition Classes
    Backend
  87. def markComponents: Unit

    Permalink
    Definition Classes
    Backend
  88. var maxFiles: Int

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  89. val multiwordLiteralInObject: Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  90. val multiwordLiterals: HashSet[Literal]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  91. def nameAll(): Unit

    Permalink
    Definition Classes
    Backend
  92. def nameBindings: Unit

    Permalink
    Definition Classes
    Backend
  93. def nameRsts: Unit

    Permalink
    Definition Classes
    Backend
  94. val nameSpace: HashSet[String]

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

    Permalink
    Definition Classes
    AnyRef
  96. val needShadow: HashSet[Node]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  97. val needsLowering: Set[String]

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

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  99. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  100. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  101. val onceOnlyFiles: HashSet[String]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  102. def opFoldLeft(o: Op, initial: (String, String) ⇒ String, subsequent: (String, String, String) ⇒ String): String

    Permalink
    Definition Classes
    CppBackend
  103. var potentialShadowRegisters: Int

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  104. def printStack: Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Backend
  105. def pruneUnconnectedIOs: Unit

    Permalink
    Definition Classes
    Backend
  106. val regWritten: HashSet[Node]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  107. def removeTypeNodes(mod: Module): Int

    Permalink

    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
  108. def renameNodes(nodes: Seq[Node], sep: String = "_"): Unit

    Permalink

    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*).

    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*).

    Definition Classes
    Backend
  109. def run(cmd: String): Boolean

    Permalink
    Definition Classes
    FileSystemUtilities
  110. val shadowRegisterInObject: Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  111. def sortComponents: Unit

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

    Permalink
    Definition Classes
    AnyRef
  113. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  114. def topMod: Module

    Permalink
    Definition Classes
    Backend
  115. val transforms: ArrayBuffer[(Module) ⇒ Unit]

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

    Permalink
    Definition Classes
    CppBackend
  117. val unconnectedInputs: HashSet[Node]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  118. val unconnectedInputsInObject: Boolean

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  119. val unoptimizedFiles: HashSet[String]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  120. def verifyAllMuxes: Unit

    Permalink
    Definition Classes
    Backend
  121. def verifyComponents: Unit

    Permalink
    Definition Classes
    Backend
  122. final def wait(): Unit

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

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

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

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  126. def wordMangle(x: Node, w: String): String

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend
  127. def words(node: Node): Int

    Permalink
    Attributes
    protected[this]
    Definition Classes
    CppBackend

Inherited from Fame1Transform

Inherited from CppBackend

Inherited from Backend

Inherited from FileSystemUtilities

Inherited from AnyRef

Inherited from Any

Ungrouped