summaryrefslogtreecommitdiff
path: root/src/test/scala/chiselTests/experimental/DataView.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/chiselTests/experimental/DataView.scala')
-rw-r--r--src/test/scala/chiselTests/experimental/DataView.scala19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/scala/chiselTests/experimental/DataView.scala b/src/test/scala/chiselTests/experimental/DataView.scala
index e7caacfd..ac8357f0 100644
--- a/src/test/scala/chiselTests/experimental/DataView.scala
+++ b/src/test/scala/chiselTests/experimental/DataView.scala
@@ -479,6 +479,25 @@ class DataViewSpec extends ChiselFlatSpec {
(err.getMessage should fullyMatch).regex(expected)
}
+ it should "support invalidation" in {
+ class MyModule extends Module {
+ val a, b, c, d, e, f = IO(Output(UInt(8.W)))
+ val foo = (a, b).viewAs
+ val bar = (c, d).viewAs
+ val fizz = (e, f).viewAs
+ foo := DontCare
+ bar <> DontCare
+ fizz._1 := DontCare
+ fizz._2 <> DontCare
+ }
+
+ val chirrtl = ChiselStage.emitChirrtl(new MyModule)
+ val expected = ('a' to 'f').map(c => s"$c is invalid")
+ for (line <- expected) {
+ chirrtl should include(line)
+ }
+ }
+
behavior.of("PartialDataView")
it should "still error if the mapping is non-total in the view" in {