diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/scala/firrtlTests/ZeroWidthTests.scala | 44 |
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 { |
