summaryrefslogtreecommitdiff
path: root/src/test/scala/cookbook/VecOfBool2UInt.scala
diff options
context:
space:
mode:
authorJim Lawson2016-10-06 09:41:16 -0700
committerGitHub2016-10-06 09:41:16 -0700
commit357d80176eeeb696808cb4efb038843c3c49e2a6 (patch)
tree1945c13cd45794199f64df27e3602c4d889ce776 /src/test/scala/cookbook/VecOfBool2UInt.scala
parenta37973e0ed6150fc94d7e7a66640217e19b165a7 (diff)
parent7e5aef460e089b3dfd53ddd181f9384cc25145d7 (diff)
Merge pull request #285 from ucb-bar/cookbook-tests
Add Cookbook tests
Diffstat (limited to 'src/test/scala/cookbook/VecOfBool2UInt.scala')
-rw-r--r--src/test/scala/cookbook/VecOfBool2UInt.scala28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/scala/cookbook/VecOfBool2UInt.scala b/src/test/scala/cookbook/VecOfBool2UInt.scala
new file mode 100644
index 00000000..5852120c
--- /dev/null
+++ b/src/test/scala/cookbook/VecOfBool2UInt.scala
@@ -0,0 +1,28 @@
+// See LICENSE for license details.
+
+package cookbook
+
+import chisel3._
+
+/* ### How do I create a UInt from a Vec of Bool?
+ *
+ * Use the builtin function asUInt
+ */
+class VecOfBool2UInt extends CookbookTester(0) {
+ // Example
+ val vec = Vec(Bool(true), Bool(false), Bool(true), Bool(true))
+ val uint = vec.asUInt
+ printf(p"$uint") // 13
+
+ /* Test
+ *
+ * (remember leftmost Bool in Vec is low order bit)
+ */
+ assert(UInt(0xd) === uint)
+}
+
+class VecOfBool2UIntSpec extends CookbookSpec {
+ "VecOfBool2UInt" should "work" in {
+ assertTesterPasses { new VecOfBool2UInt }
+ }
+}