summaryrefslogtreecommitdiff
path: root/src/test/scala/cookbook/Bundle2UInt.scala
diff options
context:
space:
mode:
authorjackkoenig2016-09-20 16:12:59 -0700
committerjackkoenig2016-09-21 20:18:06 -0700
commit7e5aef460e089b3dfd53ddd181f9384cc25145d7 (patch)
treed4642495686b50476d6569ebbc522d2d10923a9e /src/test/scala/cookbook/Bundle2UInt.scala
parentb18e98ba2d058c7dd24f96f005486b70c856aeca (diff)
Add Cookbook tests
These tests are intended to be the examples in the Chisel3 Wiki Cookbook.
Diffstat (limited to 'src/test/scala/cookbook/Bundle2UInt.scala')
-rw-r--r--src/test/scala/cookbook/Bundle2UInt.scala31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/test/scala/cookbook/Bundle2UInt.scala b/src/test/scala/cookbook/Bundle2UInt.scala
new file mode 100644
index 00000000..d74218a8
--- /dev/null
+++ b/src/test/scala/cookbook/Bundle2UInt.scala
@@ -0,0 +1,31 @@
+// See LICENSE for license details.
+
+package cookbook
+
+import chisel3._
+
+/* ### How do I create a UInt from an instance of a Bundle?
+ *
+ * Call asUInt on the Bundle instance
+ */
+class Bundle2UInt extends CookbookTester(0) {
+ // Example
+ class MyBundle extends Bundle {
+ val foo = UInt(width = 4)
+ val bar = UInt(width = 4)
+ }
+ val bundle = Wire(new MyBundle)
+ bundle.foo := UInt(0xc)
+ bundle.bar := UInt(0x3)
+ val uint = bundle.asUInt
+ printf(p"$uint") // 195
+
+ // Test
+ assert(uint === UInt(0xc3))
+}
+
+class Bundle2UIntSpec extends CookbookSpec {
+ "Bundle2UInt" should "work" in {
+ assertTesterPasses { new Bundle2UInt }
+ }
+}