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 occured, the interpreter will not allow pokes until the stop has been cleared

  10. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  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. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  21. def getMemory(memoryName: String, index: Int): BigInt
  22. def getMemoryConcrete(memoryName: String, index: Int): Concrete
  23. def getSpecifiedValue(name: String): Concrete
  24. def getValue(name: String): Concrete
  25. def hasInput(name: String): Boolean
  26. def hasOutput(name: String): Boolean
  27. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  28. val interpreterOptions: InterpreterOptions
  29. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  30. var lastStopResult: Option[Int]
  31. def log(msg: ⇒ String): Unit
    Definition Classes
    SimpleLogger
  32. val loweredAst: Circuit
  33. 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

  34. def makeVCDLogger(fileName: String, showUnderscored: Boolean): Unit
  35. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  36. final def notify(): Unit
    Definition Classes
    AnyRef
  37. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  38. val optionsManager: HasInterpreterSuite
  39. def reEvaluate(name: String): Unit
  40. def setMemory(memoryName: String, index: Int, value: BigInt): Unit
  41. def setValue(name: String, value: Concrete, force: Boolean = true, registerPoke: Boolean = false): Concrete
  42. 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

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

Inherited from SimpleLogger

Inherited from AnyRef

Inherited from Any

Ungrouped