object Driver
- Source
- Driver.scala
- Alphabetic
- By Inheritance
- Driver
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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
-
def
apply[T <: MultiIOModule](dutGen: () ⇒ T, backendType: String = "firrtl", verbose: Boolean = false, testerSeed: Long = System.currentTimeMillis())(testerGen: (T) ⇒ PeekPokeTester[T]): Boolean
Runs the ClassicTester and returns a Boolean indicating test success or failure
Runs the ClassicTester and returns a Boolean indicating test success or failure
- dutGen
This is the device under test.
- backendType
The default backend is "firrtl" which uses the firrtl interperter. Other options "verilator" will use the verilator c++ simulation generator "vcs" will use the VCS simulation
- verbose
Setting this to true will make the tester display information on peeks, pokes, steps, and expects. By default only failed expects will be printed
- testerSeed
Set the random number generator seed
- testerGen
This is a test harness subclassing PeekPokeTester for dutGen,
- returns
This will be true if all tests in the testerGen pass
val testsPassed = iotesters.Driver(() => new CircuitX, testerSeed = 0L, verbose = true) { circuitX => CircuitXTester(circuitX) }
Example: -
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
execute[T <: MultiIOModule](args: Array[String], dut: () ⇒ T)(testerGen: (T) ⇒ PeekPokeTester[T]): Boolean
This executes the test with options provide from an array of string -- typically provided from the command line
This executes the test with options provide from an array of string -- typically provided from the command line
- args
A *main* style array of string options
- dut
The device to be tested, (device-under-test)
- testerGen
A peek-poke tester with test for the dey
- returns
Returns true if all tests in testerGen pass
-
def
execute[T <: MultiIOModule](dutGenerator: () ⇒ T, optionsManager: TesterOptionsManager)(testerGen: (T) ⇒ PeekPokeTester[T]): Boolean
This executes a test harness that extends peek-poke tester upon a device under test with an optionsManager to control all the options of the toolchain components
This executes a test harness that extends peek-poke tester upon a device under test with an optionsManager to control all the options of the toolchain components
- dutGenerator
The device under test, a subclass of a Chisel3 module
- optionsManager
Use this to control options like which backend to use
- testerGen
A peek poke tester with tests for the dut
- returns
Returns true if all tests in testerGen pass
-
def
executeFirrtlRepl[T <: MultiIOModule](args: Array[String], dutGenerator: () ⇒ T): Boolean
Start up the interpreter repl with the given circuit To test a
class X extends Module {}
, add the following code to the end of the file that definesStart up the interpreter repl with the given circuit To test a
class X extends Module {}
, add the following code to the end of the file that defines- args
options from the command line
- dutGenerator
Module to run in interpreter
object XRepl { def main(args: Array[String]) { iotesters.Driver.executeFirrtlRepl(args, () => new X) } }
running main will place users in the repl with the circuit X loaded into the repl
Example: -
def
executeFirrtlRepl[T <: MultiIOModule](dutGenerator: () ⇒ T, optionsManager: ReplOptionsManager = new ReplOptionsManager): Boolean
Start up the interpreter repl with the given circuit To test a
class X extends Module {}
, add the following code to the end of the file that definesStart up the interpreter repl with the given circuit To test a
class X extends Module {}
, add the following code to the end of the file that defines- dutGenerator
Module to run in interpreter
- optionsManager
options
object XRepl { def main(args: Array[String]) { val optionsManager = new ReplOptionsManager if(optionsManager.parse(args)) { iotesters.Driver.executeFirrtlRepl(() => new X, optionsManager) } }
running main will place users in the repl with the circuit X loaded into the repl
Example: -
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
main(args: Array[String]): Unit
This is just here as command line way to see what the options are It will not successfully run TODO: Look into dynamic class loading as way to make this main useful
This is just here as command line way to see what the options are It will not successfully run TODO: Look into dynamic class loading as way to make this main useful
- args
unused args
-
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 optionsManager: TesterOptionsManager
- def run[T <: MultiIOModule](dutGen: () ⇒ T, binary: File, waveform: Option[File] = None)(testerGen: (T) ⇒ PeekPokeTester[T]): Boolean
- def run[T <: MultiIOModule](dutGen: () ⇒ T, binary: String, args: String*)(testerGen: (T) ⇒ PeekPokeTester[T]): Boolean
-
def
run[T <: MultiIOModule](dutGen: () ⇒ T, cmd: Seq[String])(testerGen: (T) ⇒ PeekPokeTester[T]): Boolean
Runs the ClassicTester using the verilator backend without doing Verilator compilation and returns a Boolean indicating success or failure Requires the caller to supply path the already compile Verilator binary
-
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
- @native() @throws( ... )