Chisel

Backend

Related Docs: object Backend | package Chisel

abstract class Backend extends FileSystemUtilities

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

Instance Constructors

  1. new Backend()

Abstract Value Members

  1. abstract val keywords: Set[String]

Concrete 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

  5. def addBindings: Unit

  6. def addClocksAndResets: Unit

  7. def addDefaultResets: Unit

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

  9. final def asInstanceOf[T0]: T0

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

  11. def assignClockAndResetToModules: Unit

  12. def checkModuleResolution: Unit

  13. def checkPorts: Unit

  14. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. def collectNodesIntoComp(mod: Module): Unit

  16. def compile(c: Module, flags: String = null): Unit

  17. def computeMemPorts(mod: Module): Unit

  18. def connectResets: Unit

  19. def createOutputFile(name: String): FileWriter

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

  21. def elaborate(c: Module): Unit

  22. def emitDec(node: Node): String

  23. def emitDef(node: Node): String

  24. def emitRef(c: Module): String

  25. def emitRef(node: Node): String

  26. def emitTmp(node: Node): String

  27. def ensureDir(dir: String): String

    Ensures a directory *dir* exists on the filesystem.

    Ensures a directory *dir* exists on the filesystem.

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

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

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

  31. def extractClassName(comp: Module): String

  32. def finalize(): Unit

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

  34. def findConsumers(mod: Module): Unit

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

  36. def flattenAll: Unit

  37. def forceMatchingWidths: Unit

  38. def fullyQualifiedName(m: Node): String

  39. def gatherClocksAndResets: Unit

  40. def genIndent(x: Int): String

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

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

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

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

  45. def isEmittingComponents: Boolean

  46. def isInObject(n: Node): Boolean

  47. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  48. def lowerNodes(mod: Module): Unit

  49. def markComponents: Unit

  50. def nameAll(mod: Module): Unit

  51. def nameBindings: Unit

  52. def nameRsts: Unit

  53. val nameSpace: HashSet[String]

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

    Definition Classes
    AnyRef
  55. val needsLowering: Set[String]

  56. final def notify(): Unit

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

    Definition Classes
    AnyRef
  58. 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
  59. def pruneUnconnectedIOs(m: Module): Unit

  60. def removeTypeNodes(mod: Module): Int

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

  61. def sortComponents: Unit

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

    Definition Classes
    AnyRef
  63. def toString(): String

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

  65. def verifyAllMuxes: Unit

  66. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from FileSystemUtilities

Inherited from AnyRef

Inherited from Any

Ungrouped