diff options
| author | Henry Cook | 2015-08-06 12:35:05 -0700 |
|---|---|---|
| committer | Henry Cook | 2015-08-06 12:35:05 -0700 |
| commit | a76e77774976365e9717ab5272870c99bb63982c (patch) | |
| tree | f8b25ee911b4866ce05326b55af0016e58e4b891 /src | |
| parent | cfa9ead9ddd118762614df65240d37538e14a8f0 (diff) | |
subdir for Chisel.testers package
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/scala/Chisel/testers/AdvTester.scala (renamed from src/main/scala/Chisel/AdvTester.scala) | 0 | ||||
| -rw-r--r-- | src/main/scala/Chisel/testers/Driver.scala | 61 | ||||
| -rw-r--r-- | src/main/scala/Chisel/testers/Tester.scala (renamed from src/main/scala/Chisel/Tester.scala) | 27 |
3 files changed, 61 insertions, 27 deletions
diff --git a/src/main/scala/Chisel/AdvTester.scala b/src/main/scala/Chisel/testers/AdvTester.scala index 9520932b..9520932b 100644 --- a/src/main/scala/Chisel/AdvTester.scala +++ b/src/main/scala/Chisel/testers/AdvTester.scala diff --git a/src/main/scala/Chisel/testers/Driver.scala b/src/main/scala/Chisel/testers/Driver.scala new file mode 100644 index 00000000..778f2edf --- /dev/null +++ b/src/main/scala/Chisel/testers/Driver.scala @@ -0,0 +1,61 @@ +/* + Copyright (c) 2011, 2012, 2013, 2014 The Regents of the University of + California (Regents). All Rights Reserved. Redistribution and use in + source and binary forms, with or without modification, are permitted + provided that the following conditions are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + two paragraphs of disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + two paragraphs of disclaimer in the documentation and/or other materials + provided with the distribution. + * Neither the name of the Regents nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. + + IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, + SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, + ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF + REGENTS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF + ANY, PROVIDED HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION + TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR + MODIFICATIONS. +*/ + +package Chisel.testers +import Chisel._ + +object TesterDriver { + // Setting this to TRUE will initialize the tester's RNG with the + // seed below. + // case "--testerSeed" => { + // testerSeedValid = true + // testerSeed = args(i+1).toLong } + var testerSeedValid = false + var testerSeed = System.currentTimeMillis() + + // Setting this to TRUE will case the test harness to print its + // standard input stream to a file. + var dumpTestInput = false + + private def test[T <: Module](mod: T, ftester: T => Tester[T]): Unit = { + var res = false + var tester: Tester[T] = null + try { + tester = ftester(mod) + } finally { + if (tester != null && tester.process != null) + res = tester.finish() + } + println(if (res) "PASSED" else "*** FAILED ***") + if(!res) throwException("Module under test FAILED at least one test vector.") + } + + +} diff --git a/src/main/scala/Chisel/Tester.scala b/src/main/scala/Chisel/testers/Tester.scala index 61e78b1d..d3ed7170 100644 --- a/src/main/scala/Chisel/Tester.scala +++ b/src/main/scala/Chisel/testers/Tester.scala @@ -43,33 +43,6 @@ import scala.sys.process._ import scala.io.Source._ import Literal._ -object TesterDriver { - // Setting this to TRUE will initialize the tester's RNG with the - // seed below. - // case "--testerSeed" => { - // testerSeedValid = true - // testerSeed = args(i+1).toLong } - var testerSeedValid = false - var testerSeed = System.currentTimeMillis() - - // Setting this to TRUE will case the test harness to print its - // standard input stream to a file. - var dumpTestInput = false - - private def test[T <: Module](mod: T, ftester: T => Tester[T]): Unit = { - var res = false - var tester: Tester[T] = null - try { - tester = ftester(mod) - } finally { - if (tester != null && tester.process != null) - res = tester.finish() - } - println(if (res) "PASSED" else "*** FAILED ***") - if(!res) throwException("Module under test FAILED at least one test vector.") - } - -} case class Poke(val node: Data, val index: Int, val value: BigInt); |
