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
    @HotSpotIntrinsicCandidate() @throws( ... )
  15. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  18. def getInfo(name: String): String

    Permalink
  19. def getInfo: String

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

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

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

    Permalink
  23. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  24. val inlinedPorts: HashSet[String]

    Permalink
  25. val inputPorts: HashSet[String]

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

    Permalink
  27. final def isInstanceOf[T0]: Boolean

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

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

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

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

    Permalink
  32. val module: Module

    Permalink

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

  33. val nameToExpression: HashMap[String, Expression]

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

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

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

    Permalink
  37. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  38. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  39. var numberOfMuxes: Int

    Permalink
  40. var numberOfNodes: Int

    Permalink
  41. var numberOfStatements: Int

    Permalink
  42. val outputPorts: HashSet[String]

    Permalink
  43. val prints: ArrayBuffer[Print]

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

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

    Permalink
  46. val registerNames: HashSet[String]

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

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

    Permalink
  49. val stops: ArrayBuffer[Stop]

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

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

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

    Permalink
  53. val validNames: HashSet[String]

    Permalink
  54. final def wait(arg0: Long, arg1: Int): Unit

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  56. final def wait(): Unit

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

    Permalink

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped