Package

treadle

Permalink

package treadle

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

Type Members

  1. case class BlackBoxFactoriesAnnotation(blackBoxFactories: Seq[ScalaBlackBoxFactory]) extends NoTargetAnnotation with TreadleOption with Product with Serializable

    Permalink
  2. case class ClockInfoAnnotation(clockInfoSeq: Seq[ClockInfo] = Seq(ClockInfo())) extends NoTargetAnnotation with TreadleOption with Product with Serializable

    Permalink

    Sets one or more clocks including their frequencies and phase

  3. abstract class Command extends AnyRef

    Permalink
  4. case class DataStorePlugInAnnotation(name: String, getPlugin: (ExecutionEngine) ⇒ DataStorePlugin) extends NoTargetAnnotation with TreadleOption with Product with Serializable

    Permalink

    Using this annotation allows external users of a TreadleTester to supply their own custom treadle.executable.DataStorePlugins.

    Using this annotation allows external users of a TreadleTester to supply their own custom treadle.executable.DataStorePlugins. See that code for examples of use.

    name

    A unique name for this plugin

    getPlugin

    A function that returns a DataStorePlugin subclass

    Note

    this annotation cannot be generated from the command line

  5. trait HasTreadleOptions extends AnyRef

    Permalink
  6. trait HasTreadleSuite extends ExecutionOptionsManager with HasFirrtlOptions with HasTreadleOptions

    Permalink
  7. case class MemoryToVCD(specifier: String) extends NoTargetAnnotation with TreadleOption with Product with Serializable

    Permalink

    Controls whether changes to memory locations are written to vcd output

    Controls whether changes to memory locations are written to vcd output

    specifier

    controls which memories and which locations of those memories are logged to vcd output When not present not memories are logged "all" log all values at all locations of all memories "mem1:all" log all values at all locations for memory mem1 "mem1:0-4" log values at locations 0-4 for memory mem1 "mem1:b0-b100" log values at locations 0-4 but show addresses in binary for memory mem1 "mem1:h0-hff" log values at locations 0-255 but show addresses in hex for memory mem1 "mem1:o0-o377" log values at locations 0-255 but show addresses in octal for memory mem1 This annotation may occur more than once in order to specify multiple memories

  8. case class PlusArgsAnnotation(plusArgs: Seq[String]) extends NoTargetAnnotation with TreadleOption with Product with Serializable

    Permalink

    Sets verilog plus args that will be passed to black boxes

  9. case class RandomSeedAnnotation(seed: Long = 0L) extends NoTargetAnnotation with TreadleOption with Product with Serializable

    Permalink

    Sets the seed for treadle's private random number generator

  10. case class ResetNameAnnotation(symbolNames: String = "") extends NoTargetAnnotation with TreadleOption with Product with Serializable

    Permalink

    used with treadle's default reset operations

  11. case class RollBackBuffersAnnotation(rollbackBufferDepth: Int = TreadleDefaults.RollbackBuffers) extends NoTargetAnnotation with TreadleOption with Product with Serializable

    Permalink

    Sets the number of rollback buffers in simulator, useful to see why wires have their values

  12. trait ScalaBlackBox extends AnyRef

    Permalink

    This is the template for writing Scala functions that implement the behaviour of a black box.

    This is the template for writing Scala functions that implement the behaviour of a black box. Implementing classes should add internal variables to hold any state information.

  13. abstract class ScalaBlackBoxFactory extends AnyRef

    Permalink

    For each instantiation of an ExtModule the engine needs a separate instance of a BlackBoxImplementation.

    For each instantiation of an ExtModule the engine needs a separate instance of a BlackBoxImplementation. This factory provides it.

    Example:
    1. class ExampleBBFactory extends BlackBoxFactory {
        override def createInstance(instanceName: String, blackBoxName: String): Option[BlackBoxImplementation] = {
          instanceName match {
            case "bb1" => Some(add(new BB1Impl))
            case "bb2" => Some(add(new BB2Impl))
            case "bb3" => Some(add(new BB3Impl))
            case _ => throw Exception(s"ExampleBBBFactory does not know how to create " + instanceName)
          }
        }
      }
  14. case class SymbolsToWatchAnnotation(symbolNames: Seq[String] = Seq.empty) extends NoTargetAnnotation with TreadleOption with Product with Serializable

    Permalink

    Sets a list of symbols that will be rendered during execution

  15. case class TreadleCircuitAnnotation(circuit: Circuit) extends NoTargetAnnotation with TreadleOption with Product with Serializable

    Permalink

    The circuit used to build a TreadleTester

    The circuit used to build a TreadleTester

    circuit

    a firrtl ast

  16. case class TreadleCircuitStateAnnotation(state: CircuitState) extends NoTargetAnnotation with Product with Serializable

    Permalink

    used to pass parsed firrtl to the TreadleTester

    used to pass parsed firrtl to the TreadleTester

    state

    the state to be passed along

  17. class TreadleLibrary extends RegisteredLibrary

    Permalink

    Constructs this as a registered library that will be auto-detected by projects who have a dependency on Treadle

  18. sealed trait TreadleOption extends Unserializable

    Permalink
  19. case class TreadleOptions(writeVCD: Boolean = false, vcdShowUnderscored: Boolean = false, setVerbose: Boolean = false, setOrderedExec: Boolean = false, allowCycles: Boolean = false, randomSeed: Long = System.currentTimeMillis(), blackBoxFactories: Seq[ScalaBlackBoxFactory] = Seq.empty, maxExecutionDepth: Long = Int.MaxValue, showFirrtlAtLoad: Boolean = false, lowCompileAtLoad: Boolean = true, validIfIsRandom: Boolean = false, rollbackBuffers: Int = 0, clockInfo: Seq[ClockInfo] = Seq.empty, resetName: String = "reset", callResetAtStartUp: Boolean = false, symbolsToWatch: Seq[String] = Seq.empty, memoryToVcd: Seq[String] = Seq.empty, saveFirrtlAtLoad: Boolean = false) extends ComposableOptions with Product with Serializable

    Permalink
  20. class TreadleOptionsManager extends ExecutionOptionsManager with HasTreadleSuite

    Permalink
  21. class TreadleRepl extends AnyRef

    Permalink

    Considered by many to be the world's best Treadle Repl

  22. class TreadleTester 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

  23. case class TreadleTesterAnnotation(tester: TreadleTester) extends NoTargetAnnotation with TreadleOption with Product with Serializable

    Permalink

    Used to pass a tester on to a test harness

    Used to pass a tester on to a test harness

    tester

    The TreadleTester to be passed on

  24. case class VcdReplayEventsToRun(count: Int) extends NoTargetAnnotation with VcdReplayTesterOptions with Product with Serializable

    Permalink
  25. case class VcdReplaySkipEvents(count: Int) extends NoTargetAnnotation with VcdReplayTesterOptions with Product with Serializable

    Permalink
  26. class VcdReplayTester extends LazyLogging

    Permalink

    This tester runs a VCD file against a circuit expressed in a firrtl file.

    This tester runs a VCD file against a circuit expressed in a firrtl file. The VCD file should have been produced by running a test harness against the circuit. This test can be used to generate circuit behavior while running symbolic or concolic testing. It can also be used to determine if later changes to a circuit have changed since some original correct **golden** run of the circuit For example use the main below to run the VcdAdder files contained in the src/test/resources directory

    sbt 'runMain treadle.VcdReplayTester -fs src/test/resources/VcdAdder.fir -vcd src/test/resources/VcdAdder.vcd'
  27. trait VcdReplayTesterCli extends AnyRef

    Permalink
  28. sealed trait VcdReplayTesterOptions extends Unserializable

    Permalink
  29. class VcdReplayTesterStage extends Stage

    Permalink
  30. case class VcdReplayVcdFile(fileName: String) extends NoTargetAnnotation with VcdReplayTesterOptions with Product with Serializable

    Permalink
  31. case class TreadleFirrtlFormHint(form: Any) extends NoTargetAnnotation with Product with Serializable

    Permalink

    Provides an input form hint to treadle to know how to best handle the input it receives

    Provides an input form hint to treadle to know how to best handle the input it receives

    form

    the input form

    Annotations
    @deprecated
    Deprecated

    (Since version 1.3.x) Remove references, this has no effect

Value Members

  1. object AllowCyclesAnnotation extends NoTargetAnnotation with TreadleOption with HasShellOptions with Product with Serializable

    Permalink

    Tells treadle to allow cycles

  2. val Big0: BigInt

    Permalink
  3. val Big1: BigInt

    Permalink
  4. val BitsRequiredOverflowSizeBigInt: BigInt

    Permalink
  5. object CallResetAtStartupAnnotation extends NoTargetAnnotation with TreadleOption with HasShellOptions with Product with Serializable

    Permalink

    Tell treadle to call it's own internal reset at startup.

    Tell treadle to call it's own internal reset at startup. This is typically handled by the unit test framework and not needed for users

  6. object ClockInfoAnnotation extends HasShellOptions with Product with Serializable

    Permalink
  7. val DangerShiftSize: Int

    Permalink
  8. object DontRunLoweringCompilerLoadAnnotation extends NoTargetAnnotation with TreadleOption with HasShellOptions with Product with Serializable

    Permalink

    Tells treadle to not run its own lowering pass on firrtl input (not recommended)

  9. object MemoryToVCD extends HasShellOptions with Product with Serializable

    Permalink
  10. object MemoryUsageRegression

    Permalink

    This regression demonstrates that a bad initial setting has been fixed the default rollback buffer of 10 meant that large memories caused considerable slowing as buffers were copied.

  11. object PlusArgsAnnotation extends HasShellOptions with Product with Serializable

    Permalink
  12. object PrefixPrintfWithWallTime extends NoTargetAnnotation with TreadleOption with HasShellOptions with Product with Serializable

    Permalink

    Tells treadle to prefix printf strings with a wall time

  13. object RandomSeedAnnotation extends HasShellOptions with Serializable

    Permalink
  14. object RandomizeAtStartupAnnotation extends NoTargetAnnotation with TreadleOption with HasShellOptions with Product with Serializable

    Permalink

    Tells treadle to Randomize circuit at startup

  15. object Regression

    Permalink
  16. object ResetNameAnnotation extends HasShellOptions with Product with Serializable

    Permalink
  17. object RollBackBuffersAnnotation extends HasShellOptions with Product with Serializable

    Permalink
  18. object SaveFirrtlAtLoadAnnotation extends NoTargetAnnotation with TreadleOption with HasShellOptions with Product with Serializable

    Permalink

    Tells treadle to show the low firrtl it is starting out with

  19. object ShowFirrtlAtLoadAnnotation extends NoTargetAnnotation with TreadleOption with HasShellOptions with Product with Serializable

    Permalink

    Tells treadle to show the low firrtl it is starting out with

  20. object SymbolsToWatchAnnotation extends HasShellOptions with Product with Serializable

    Permalink
  21. object TreadleDefaults

    Permalink
  22. object TreadleFirrtlFile extends HasShellOptions

    Permalink

    Factory for FirrtlFileAnnotation annotation, this is an alias for Firrtl Cli

  23. object TreadleFirrtlString extends HasShellOptions

    Permalink

    Factory for FirrtlSourceAnnotation, this is an alias for FirrtlCli

  24. object TreadleRepl

    Permalink
  25. object TreadleRocketBlackBoxes extends HasShellOptions

    Permalink

    Adds the treadle blackboxes for rocket black box factory

  26. object TreadleTester

    Permalink
  27. object ValidIfIsRandomAnnotation extends NoTargetAnnotation with TreadleOption with HasShellOptions with Product with Serializable

    Permalink

    Tells treadle to present random value when validIf's condition is off

  28. object VcdReplayEventsToRun extends HasShellOptions with Product with Serializable

    Permalink
  29. object VcdReplayFirrtlSource extends NoTargetAnnotation with VcdReplayTesterOptions with HasShellOptions with Product with Serializable

    Permalink

    makes a more convenient way of specifying firrtl source

  30. object VcdReplaySkipEvents extends HasShellOptions with Product with Serializable

    Permalink
  31. object VcdReplayTestAliasedWires extends NoTargetAnnotation with VcdReplayTesterOptions with HasShellOptions with Product with Serializable

    Permalink
  32. object VcdReplayTester extends StageMain

    Permalink
  33. object VcdReplayVcdFile extends HasShellOptions with Product with Serializable

    Permalink
  34. object VcdShowUnderScoredAnnotation extends NoTargetAnnotation with TreadleOption with HasShellOptions with Product with Serializable

    Permalink

    Tells treadle to include _T_* and _GEN_* wires in VCD output

  35. object VerboseAnnotation extends NoTargetAnnotation with TreadleOption with HasShellOptions with Product with Serializable

    Permalink

    Tells treadle to execute verbosely

  36. object WriteVcdAnnotation extends NoTargetAnnotation with TreadleOption with HasShellOptions with Product with Serializable

    Permalink

    Tells treadle to write a vcd file during simulation

  37. def bigIntBitsToDouble(bigInt: BigInt): Double

    Permalink
  38. package blackboxes

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

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

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

    Permalink
  42. package chronometry

    Permalink
  43. 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

  44. def doubleToBigIntBits(double: Double): BigInt

    Permalink
  45. package executable

    Permalink
  46. 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)

  47. 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)

  48. def makeRandom(tpe: Type): BigInt

    Permalink
  49. val random: Random

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

    Permalink
  51. package repl

    Permalink
  52. 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

  53. def requiredBitsForUInt(num: BigInt): Int

    Permalink

    return the smallest number of bits required to hold the given number in an UInt

    return the smallest number of bits required to hold the given number in an UInt

    num

    number to find width for

    returns

    minimum required bits for an SInt

  54. package stage

    Permalink
  55. def typeToWidth(tpe: Type): Int

    Permalink
  56. package utils

    Permalink
  57. package vcd

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

    Permalink

Deprecated Value Members

  1. object Driver

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.3.x) Use TreadleStage instead

  2. object TreadleFirrtlFormHint extends HasShellOptions with Serializable

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.3.x) Remove references, this has no effect

Inherited from AnyRef

Inherited from Any

Ungrouped