diff options
| author | jackbackrack | 2015-07-02 14:29:42 -0700 |
|---|---|---|
| committer | jackbackrack | 2015-07-02 14:29:42 -0700 |
| commit | 13d92d7f523bd42ad94170ce41a8be794bdb171d (patch) | |
| tree | f05a68a44f3fa318eb5fa7f7a7f5bf7262db763f /src/main/scala/Tester.scala | |
| parent | 3c2779ca34d72f4c0f15a1266e085c85a048a080 (diff) | |
rename id to cid, legalizeNames, better flo/dbl support in tester, better mux handling and check for uint/sint, support for bulk connect, filter ? as well
Diffstat (limited to 'src/main/scala/Tester.scala')
| -rw-r--r-- | src/main/scala/Tester.scala | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/scala/Tester.scala b/src/main/scala/Tester.scala index ab69c57a..91efc146 100644 --- a/src/main/scala/Tester.scala +++ b/src/main/scala/Tester.scala @@ -35,6 +35,10 @@ import scala.collection.mutable.ArrayBuffer import scala.collection.mutable.HashMap import scala.util.Random import java.io.{File, IOException, InputStream, OutputStream, PrintStream} +import java.lang.Double.longBitsToDouble +import java.lang.Float.intBitsToFloat +import java.lang.Double.doubleToLongBits +import java.lang.Float.floatToIntBits import scala.sys.process._ import scala.io.Source._ import Literal._ @@ -203,6 +207,14 @@ class ManualTester[+T <: Module] signed_fix(data, peekBits(data)) } + def peek(data: Flo): Float = { + intBitsToFloat(peekBits(data).toInt) + } + + def peek(data: Dbl): Double = { + longBitsToDouble(peekBits(data).toLong) + } + def peek(data: Aggregate /*, off: Int = -1 */): Array[BigInt] = { data.flatten.map(peek(_)) } @@ -251,6 +263,14 @@ class ManualTester[+T <: Module] pokeBits(data, x) } + def poke(data: Flo, x: Float): Unit = { + pokeBits(data, BigInt(floatToIntBits(x))) + } + + def poke(data: Dbl, x: Double): Unit = { + pokeBits(data, BigInt(doubleToLongBits(x))) + } + def poke(data: Aggregate, x: Array[BigInt]): Unit = { val kv = (data.flatten, x.reverse).zipped; for ((x, y) <- kv) |
