aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/scala/firrtlTests/ZeroWidthTests.scala44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/test/scala/firrtlTests/ZeroWidthTests.scala b/src/test/scala/firrtlTests/ZeroWidthTests.scala
index 8c39dc1e..50385a80 100644
--- a/src/test/scala/firrtlTests/ZeroWidthTests.scala
+++ b/src/test/scala/firrtlTests/ZeroWidthTests.scala
@@ -132,6 +132,50 @@ class ZeroWidthTests extends FirrtlFlatSpec {
| node z = add(x, UInt<1>(0))""".stripMargin
(parse(exec(input)).serialize) should be (parse(check).serialize)
}
+ "Expression in cat with type <0>" should "be removed" in {
+ val input =
+ """circuit Top :
+ | module Top :
+ | input x: UInt<1>
+ | input y: UInt<0>
+ | node z = cat(x, y)""".stripMargin
+ val check =
+ """circuit Top :
+ | module Top :
+ | input x: UInt<1>
+ | node z = x""".stripMargin
+ (parse(exec(input)).serialize) should be (parse(check).serialize)
+ }
+ "Nested cats with type <0>" should "be removed" in {
+ val input =
+ """circuit Top :
+ | module Top :
+ | input x: UInt<0>
+ | input y: UInt<0>
+ | input z: UInt<0>
+ | node a = cat(cat(x, y), z)""".stripMargin
+ val check =
+ """circuit Top :
+ | module Top :
+ | skip""".stripMargin
+ (parse(exec(input)).serialize) should be (parse(check).serialize)
+ }
+ "Nested cats where one has type <0>" should "be unaffected" in {
+ val input =
+ """circuit Top :
+ | module Top :
+ | input x: UInt<1>
+ | input y: UInt<0>
+ | input z: UInt<1>
+ | node a = cat(cat(x, y), z)""".stripMargin
+ val check =
+ """circuit Top :
+ | module Top :
+ | input x: UInt<1>
+ | input z: UInt<1>
+ | node a = cat(x, z)""".stripMargin
+ (parse(exec(input)).serialize) should be (parse(check).serialize)
+ }
}
class ZeroWidthVerilog extends FirrtlFlatSpec {