Package

firrtl_interpreter

Permalink

package firrtl_interpreter

Source
package.scala
Linear Supertypes
AnyRef, Any
Content Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. firrtl_interpreter
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. abstract class BlackBoxFactory extends AnyRef

    Permalink
  2. abstract class BlackBoxImplementation extends AnyRef

    Permalink
  3. case class BlackBoxOutput(name: String, implementation: BlackBoxImplementation, dependentInputs: Seq[String], tpe: Type) extends Expression with Product with Serializable

    Permalink
  4. case class CircuitState(inputPorts: Map[String, Concrete], outputPorts: Map[String, Concrete], registers: Map[String, Concrete], memories: Map[String, Memory], validNames: HashSet[String]) extends Product with Serializable

    Permalink

    Holds the state of the circuit at a particular time State is kept for input, output and registers

    Holds the state of the circuit at a particular time State is kept for input, output and registers

    inputPorts

    a map to current concrete value

    outputPorts

    a map to current concrete value

    registers

    a map to current concrete value

  5. abstract class Command extends AnyRef

    Permalink
  6. trait Concrete extends AnyRef

    Permalink
  7. case class ConcreteClock(value: BigInt) extends Concrete with Product with Serializable

    Permalink
  8. case class ConcreteSInt(value: BigInt, width: Int, poisoned: Boolean = false) extends Concrete with Product with Serializable

    Permalink

    A runtime instance of a SInt

    A runtime instance of a SInt

    value

    the BigInt value of this UInt,

    width

    the number of bits in this value, must be big enough to contain value plus 1 for sign bit

  9. case class ConcreteUInt(value: BigInt, width: Int, poisoned: Boolean = false) extends Concrete with Product with Serializable

    Permalink

    A runtime instance of a UInt

    A runtime instance of a UInt

    value

    the BigInt value of this UInt, must be non-negative

    width

    the number of bits in this value, must be big enough to contain value

  10. class DependencyGraph extends AnyRef

    Permalink

    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.

    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

  11. class ExpressionExecutionStack extends AnyRef

    Permalink
  12. class ExternalModule extends AnyRef

    Permalink
  13. class FirrtlRepl extends AnyRef

    Permalink
  14. class FirrtlTerp extends SimpleLogger

    Permalink

    This is the Firrtl interpreter.

    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.

  15. trait HasInterpreterOptions extends AnyRef

    Permalink
  16. trait HasReplConfig extends AnyRef

    Permalink
  17. class InterpreterException extends Exception

    Permalink

    Created by chick on 4/21/16.

  18. case class InterpreterOptions(writeVCD: Boolean = false, vcdShowUnderscored: Boolean = false, setVerbose: Boolean = false, setOrderedExec: Boolean = false, allowCycles: Boolean = false, randomSeed: Long = System.currentTimeMillis(), blackBoxFactories: Seq[BlackBoxFactory] = Seq.empty, maxExecutionDepth: Long = ..., showFirrtlAtLoad: Boolean = false, lowCompileAtLoad: Boolean = true) extends ComposableOptions with Product with Serializable

    Permalink
  19. class InterpreterOptionsManager extends ExecutionOptionsManager with HasInterpreterOptions

    Permalink
  20. class InterpretiveTester extends AnyRef

    Permalink

    Works a lot like the chisel classic tester compiles a firrtl input string and allows poke, peek, expect and step

    Works a lot like the chisel classic tester compiles a firrtl input string and allows poke, peek, expect and step

    pokes invalidate the underlying circuit peek, expect and step, recompute (re-validate) the circuit before executing

    Important note: port names in LoFirrtl have replaced dot notation with underscore notation so that io.a.b must be referenced as io_a_b

  21. class LoFirrtlExpressionEvaluator extends SimpleLogger

    Permalink

    This is the evaluation engine for the FirrtlTerp it requires the previousState of the system

  22. class Memory extends SimpleLogger

    Permalink

    provides a black box implementation of a circuit memory presenting read, write and read/write interfaces

    provides a black box implementation of a circuit memory presenting read, write and read/write interfaces

    Assumptions: Zero read_latency latches data straight to memory(address): IGNORES enable

  23. case class ReplConfig(firrtlSourceName: String = "", scriptName: String = "", firrtlSource: String = "", useVcdScript: Boolean = false, vcdScriptOverride: String = "", runScriptAtStart: Boolean = false) extends ComposableOptions with Product with Serializable

    Permalink
  24. class ReplVcdController extends AnyRef

    Permalink
  25. class Script extends AnyRef

    Permalink
  26. case class ScriptFactory(parent: FirrtlRepl) extends Product with Serializable

    Permalink
  27. trait SimpleLogger extends AnyRef

    Permalink
  28. class StopException extends Exception

    Permalink
  29. class Timer extends AnyRef

    Permalink
  30. case class TimerEvent(tag: String) extends Product with Serializable

    Permalink

Value Members

  1. val Big0: BigInt

    Permalink
  2. val Big1: BigInt

    Permalink
  3. val BitsRequiredOverflowSizeBigInt: BigInt

    Permalink
  4. object CircuitState extends Serializable

    Permalink
  5. object Concrete

    Permalink
  6. val DangerShiftSize: Int

    Permalink
  7. object DependencyGraph extends SimpleLogger

    Permalink

    contains the constructor for a dependency graph.

    contains the constructor for a dependency graph. The code for traversing a circuit and discovering the components and the expressions lives here

  8. object Driver

    Permalink
  9. object ExpressionExecutionStack

    Permalink
  10. object FirrtlRepl

    Permalink
  11. object FirrtlTerp

    Permalink
  12. object InterpreterException extends Serializable

    Permalink
  13. val InterpreterMaxSupportedWidth: Int

    Permalink
  14. object Memory

    Permalink
  15. object StopException extends Serializable

    Permalink
  16. object Timer

    Permalink
  17. object ToLoFirrtl

    Permalink
  18. object TypeInstanceFactory

    Permalink

    Created by chick on 4/21/16.

  19. def bigIntBitsToDouble(bigInt: BigInt): Double

    Permalink
  20. def boolToBigInt(condition: Boolean): BigInt

    Permalink
  21. def boolToInt(condition: Boolean): Int

    Permalink
  22. def ceilingLog2(x: Int): Int

    Permalink
  23. def computeBits(n: BigInt): Int

    Permalink

    Utility function that computes bits required for a number

    Utility function that computes bits required for a number

    n

    number of interest

  24. def doubleToBigIntBits(double: Double): BigInt

    Permalink
  25. def extremaOfSIntOfWidth(width: Int): (BigInt, BigInt)

    Permalink

    computes the smallest and largest values that will fit in an SInt

    computes the smallest and largest values that will fit in an SInt

    width

    width of SInt

    returns

    tuple(minVale, maxValue)

  26. def extremaOfUIntOfWidth(width: Int): (BigInt, BigInt)

    Permalink

    computes the smallest and largest values that will fit in a UInt

    computes the smallest and largest values that will fit in a UInt

    width

    width of SInt

    returns

    tuple(minVale, maxValue)

  27. val random: Random

    Permalink
  28. def randomBigInt(width: Int): BigInt

    Permalink
  29. package real

    Permalink
  30. def requiredBitsForSInt(num: BigInt): Int

    Permalink

    return the smallest number of bits required to hold the given number in an SInt Note: positive numbers will get one minimum width one higher than would be required for a UInt

    return the smallest number of bits required to hold the given number in an SInt Note: positive numbers will get one minimum width one higher than would be required for a UInt

    num

    number to find width for

    returns

    minimum required bits for an SInt

  31. def requiredBitsForUInt(num: BigInt): Int

    Permalink

    return the smallest number of bits required to hold the given number in an UInt Note: positive numbers will get one minimum width one higher than would be required for a UInt

    return the smallest number of bits required to hold the given number in an UInt Note: positive numbers will get one minimum width one higher than would be required for a UInt

    num

    number to find width for

    returns

    minimum required bits for an SInt

  32. def typeToWidth(tpe: Type): Int

    Permalink
  33. package vcd

    Permalink
  34. def widthToInt(width: Width): Int

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped