Class/Object

firrtl_interpreter

DependencyGraph

Related Docs: object DependencyGraph | package firrtl_interpreter

Permalink

class DependencyGraph extends AnyRef

A (probably overly complex) map of the names to expressions that occur in @circuit This is used by the expression evaluator to follow dependencies It also maintains lists or sets of ports, registers, memories, stop and printf statements. The above information is created by the companion object which does the actual work of traversing the circuit and discovering the various components and expressions

Source
DependencyGraph.scala
Linear Supertypes
AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DependencyGraph
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DependencyGraph(circuit: Circuit, module: Module, blackBoxFactories: Seq[BlackBoxFactory] = Seq.empty)

    Permalink

    circuit

    the AST being analyzed

    module

    top level module in the AST, used elsewhere to find top level ports

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. def addInstanceName(instanceName: String, moduleName: String): Unit

    Permalink
  5. def addKind(key: String): String

    Permalink
  6. def addMemory(defMemory: DefMemory): Memory

    Permalink
  7. def addPrint(printStatement: Print): Unit

    Permalink
  8. def addSourceInfo(name: String, info: Info): Unit

    Permalink
  9. def addStop(stopStatement: Stop): Unit

    Permalink
  10. def apply(key: String): Option[Expression]

    Permalink
  11. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  12. val blackBoxFactories: Seq[BlackBoxFactory]

    Permalink
  13. val circuit: Circuit

    Permalink

    the AST being analyzed

  14. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  17. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  19. def getInfo(name: String): String

    Permalink
  20. def getInfo: String

    Permalink
  21. def getType(key: String): Type

    Permalink
  22. def hasInput(name: String): Boolean

    Permalink
  23. def hasOutput(name: String): Boolean

    Permalink
  24. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  25. val inlinedPorts: HashSet[String]

    Permalink
  26. val inputPorts: HashSet[String]

    Permalink
  27. val instanceNames: HashMap[String, String]

    Permalink
  28. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  29. def keys: Iterable[String]

    Permalink
  30. val memories: HashMap[String, Memory]

    Permalink
  31. val memoryKeys: HashMap[String, Memory]

    Permalink
  32. val memoryOutputKeys: HashMap[String, Seq[String]]

    Permalink
  33. val module: Module

    Permalink

    top level module in the AST, used elsewhere to find top level ports

  34. val nameToExpression: HashMap[String, Expression]

    Permalink
  35. val nameToType: HashMap[String, Type]

    Permalink
  36. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  37. val nodes: HashSet[String]

    Permalink
  38. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  40. var numberOfMuxes: Int

    Permalink
  41. var numberOfNodes: Int

    Permalink
  42. var numberOfStatements: Int

    Permalink
  43. val outputPorts: HashSet[String]

    Permalink
  44. val prints: ArrayBuffer[Print]

    Permalink
  45. def recordName(key: String): Unit

    Permalink
  46. def recordType(key: String, tpe: Type): Unit

    Permalink
  47. val registerNames: HashSet[String]

    Permalink
  48. val registers: HashMap[String, DefRegister]

    Permalink
  49. val sourceInfo: HashMap[String, String]

    Permalink
  50. val stops: ArrayBuffer[Stop]

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  53. def update(key: String, e: Expression): Unit

    Permalink
  54. val validNames: HashSet[String]

    Permalink
  55. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  58. val wires: HashSet[String]

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped