summaryrefslogtreecommitdiff
path: root/src/main/scala/Tester.scala
diff options
context:
space:
mode:
authorjackbackrack2015-07-02 14:29:42 -0700
committerjackbackrack2015-07-02 14:29:42 -0700
commit13d92d7f523bd42ad94170ce41a8be794bdb171d (patch)
treef05a68a44f3fa318eb5fa7f7a7f5bf7262db763f /src/main/scala/Tester.scala
parent3c2779ca34d72f4c0f15a1266e085c85a048a080 (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.scala20
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)