class FirrtlTerp extends SimpleLogger

This is the Firrtl interpreter. It is the top level control engine that controls the simulation of a circuit running.

It coordinates updating of the circuit's inputs (other elements, nodes, registers, etc can be forced to values) and querying the circuits outputs (or optionally other circuit components)

This mainly involves updating of a circuit state instance by using a expression evaluator on a dependency graph.

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

Instance Constructors

  1. new FirrtlTerp(ast: Circuit, optionsManager: HasInterpreterSuite)

    ast

    the circuit to be simulated

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. val ast: Circuit
  6. val blackBoxFactories: Seq[BlackBoxFactory]
  7. def checkStopped(attemptedCommand: String = "command"): Boolean
  8. var circuitState: CircuitState
  9. def clearStop(): Unit

    Once a stop has occurred, the interpreter will not allow pokes until the stop has been cleared

  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  11. def cycle(showState: Boolean = false): Unit
  12. val dependencyGraph: DependencyGraph
  13. def disableVCD(): Unit
  14. def doCycles(n: Int): Unit
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  17. def evaluateCircuit(specificDependencies: Seq[String] = Seq()): Unit
  18. val evaluator: LoFirrtlExpressionEvaluator
  19. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. def getMemory(memoryName: String, index: Int): BigInt
  21. def getMemoryConcrete(memoryName: String, index: Int): Concrete
  22. def getSpecifiedValue(name: String): Concrete
  23. def getValue(name: String): Concrete
  24. def hasInput(name: String): Boolean
  25. def hasOutput(name: String): Boolean
  26. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  27. val interpreterOptions: InterpreterOptions
  28. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  29. var lastStopResult: Option[Int]
  30. def log(msg: ⇒ String): Unit
    Definition Classes
    SimpleLogger
  31. val loweredAst: Circuit
  32. def makeConcreteValue(name: String, value: BigInt, poisoned: Boolean = false): Concrete

    Creates a concrete based on current circuit and the value and poisoned state It uses the type of any existing value for name and if it can't find that it looks up the type in the dependency graph this handles setting SInts with negative values, from positive bigInts when sized appropriately

    Creates a concrete based on current circuit and the value and poisoned state It uses the type of any existing value for name and if it can't find that it looks up the type in the dependency graph this handles setting SInts with negative values, from positive bigInts when sized appropriately

    name

    name of value to set

    value

    new value

    returns

    the concrete value that was derived from type and value

  33. def makeVCDLogger(fileName: String, showUnderscored: Boolean): Unit
  34. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  35. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  36. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  37. val optionsManager: HasInterpreterSuite
  38. def reEvaluate(name: String): Unit
  39. def setMemory(memoryName: String, index: Int, value: BigInt): Unit
  40. def setValue(name: String, value: Concrete, force: Boolean = true, registerPoke: Boolean = false): Concrete
  41. def setValueWithBigInt(name: String, value: BigInt, force: Boolean = true, registerPoke: Boolean = false): Concrete

    Update the circuit state with the supplied information

    Update the circuit state with the supplied information

    name

    name of value to set

    value

    new value

    force

    allows setting components other than top level inputs

    registerPoke

    changes which side of a register is poked

    returns

    the concrete value that was derived from type and value

  42. def setVerbose(value: Boolean): Unit

    turns on evaluator debugging.

    turns on evaluator debugging. Can make output quite verbose.

    value

    The desired verbose setting

    Definition Classes
    FirrtlTerpSimpleLogger
  43. def stopResult: Int
  44. def stopped: Boolean
  45. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  46. val timer: Timer
  47. def toString(): String
    Definition Classes
    AnyRef → Any
  48. val verbose: Boolean
    Definition Classes
    SimpleLogger
  49. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  50. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  51. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. def writeVCD(): Unit

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated @deprecated
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from SimpleLogger

Inherited from AnyRef

Inherited from Any

Ungrouped