diff options
| author | Andrew Waterman | 2015-10-26 19:07:17 -0700 |
|---|---|---|
| committer | Andrew Waterman | 2015-10-26 19:07:17 -0700 |
| commit | 69f41d6892549ef59a3c21cb05d355ea7523c5a2 (patch) | |
| tree | 56f5811215013cc27e66298da9c71099cd6a86e0 /src/main/scala/Chisel/Tester.scala | |
| parent | 1b376ed6de722ffe8c3e533e4bf5d964639242e7 (diff) | |
| parent | 4b51975ec7a543e165660d654fa84eaa9b9b3b3e (diff) | |
Merge pull request #39 from ucb-bar/coresplit
Break Core.scala into bite-sized pieces
Diffstat (limited to 'src/main/scala/Chisel/Tester.scala')
| -rw-r--r-- | src/main/scala/Chisel/Tester.scala | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/main/scala/Chisel/Tester.scala b/src/main/scala/Chisel/Tester.scala new file mode 100644 index 00000000..d02af842 --- /dev/null +++ b/src/main/scala/Chisel/Tester.scala @@ -0,0 +1,39 @@ +// See LICENSE for license details. + +package Chisel + +import scala.util.Random + +class Tester[+T <: Module](c: T, isTrace: Boolean = true) { + def t: Int = 0 + var ok: Boolean = true // TODO: get rid of this + + def rnd: Random = new Random() + + def peek(data: Bits): BigInt = 0 + def poke(data: Bits, x: BigInt): Unit = {} + def expect(data: Bits, expected: BigInt): Boolean = true + def step(n: Int): Unit = {} + + // TODO: unify and disambiguate expect(...) + def expect(ok: Boolean, failureMsg: String): Boolean = true +} + +object chiselMainOld { + val wrapped = true + val unwrapped = false + + def apply[T <: Module](args: Array[String], gen: () => T): T = gen() + + def apply[T <: Module](args: Array[String], gen: () => T, ftester: T => Tester[T]): T = gen() + + // Assumes gen needs to be wrapped in Module() + def run[T <: Module] (args: Array[String], gen: () => T): T = gen() + + def run[T <: Module] (args: Array[String], gen: () => T, ftester: T => Tester[T]): T = gen() +} + +object chiselMainTest { + def apply[T <: Module](args: Array[String], gen: () => T)(tester: T => Tester[T]): T = + chiselMainOld(args, gen, tester) +} |
