class InterpretiveTester extends AnyRef
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
- Source
- InterpretiveTester.scala
- Alphabetic
- By Inheritance
- InterpretiveTester
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
InterpretiveTester(input: String, optionsManager: HasInterpreterSuite = new InterpreterOptionsManager)
- input
a firrtl program contained in a string
- optionsManager
collection of options for the interpreter
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- val commonOptions: CommonOptions
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
expect(name: String, expectedValue: BigInt): Unit
require that a value be present on the named component
require that a value be present on the named component
- name
component name
- expectedValue
the BigInt value required
- var expectationsMet: Int
-
def
fail(ex: Throwable, msg: Option[String] = None): Nothing
Indicate failure due to an exception.
Indicate failure due to an exception.
- ex
exception causing the failure
- msg
optional message to be printed
- def fail(code: Int): Unit
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def finish: Boolean
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val interpreter: FirrtlTerp
- val interpreterOptions: InterpreterOptions
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isOK: Boolean
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
peek(name: String): BigInt
inspect a value of a named circuit component
inspect a value of a named circuit component
- name
the name of a circuit component
- returns
A BigInt value currently set at name
-
def
peekConcrete(name: String): Concrete
inspect a value of a named circuit component
inspect a value of a named circuit component
- name
the name of a circuit component
- returns
An internal concrete value currently set at name
- def peekMemory(name: String, index: Int): BigInt
-
def
poke(name: String, value: Concrete): Unit
Pokes value to the port referenced by string Warning: pokes to components other than input ports is currently not supported but does not cause an error warning This feature should be supported soon
Pokes value to the port referenced by string Warning: pokes to components other than input ports is currently not supported but does not cause an error warning This feature should be supported soon
- name
the name of a port
- value
a value to put on that port
-
def
poke(name: String, value: BigInt): Unit
Pokes value to the port referenced by string Warning: pokes to components other than input ports is currently not supported but does not cause an error warning This feature should be supported soon
Pokes value to the port referenced by string Warning: pokes to components other than input ports is currently not supported but does not cause an error warning This feature should be supported soon
- name
the name of a port
- value
a value to put on that port
-
def
pokeMemory(name: String, index: Int, value: BigInt): Unit
Pokes value to the named memory at offset
Pokes value to the named memory at offset
- name
the name of a memory
- index
the offset in the memory
- value
a value to put on that port
-
def
report(): Unit
A simplistic report of the number of expects that passed and
- def reportString: String
- def setVerbose(value: Boolean = true): Unit
- val startTime: Long
-
def
step(n: Int = 1): Unit
Cycles the circuit n steps (with a default of one) At each step registers and memories are advanced and all other elements recomputed
Cycles the circuit n steps (with a default of one) At each step registers and memories are advanced and all other elements recomputed
- n
cycles to perform
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()