aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorAdam Izraelevitz2016-09-26 16:12:00 -0700
committerDonggyu2016-09-26 16:12:00 -0700
commita2ad26d6b907b251a916c23a3fe93e1d0067fb03 (patch)
treeb685806a063bc5eeadbf808dc43896a44cb3ecd8 /src/test
parentc56929aabedea0de255f79b855d094bf4475a845 (diff)
Added max width check to dshl shift amount (#318)
Address #297
Diffstat (limited to 'src/test')
-rw-r--r--src/test/scala/firrtlTests/WidthSpec.scala20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/scala/firrtlTests/WidthSpec.scala b/src/test/scala/firrtlTests/WidthSpec.scala
index 4c9ad687..d1b16bb9 100644
--- a/src/test/scala/firrtlTests/WidthSpec.scala
+++ b/src/test/scala/firrtlTests/WidthSpec.scala
@@ -84,4 +84,24 @@ class WidthSpec extends FirrtlFlatSpec {
val check = Seq( "output z : SInt<5>")
executeTest(input, check, passes)
}
+ "Dshl by 32 bits" should "result in an error" in {
+ val passes = Seq(
+ ToWorkingIR,
+ CheckHighForm,
+ ResolveKinds,
+ InferTypes,
+ CheckTypes,
+ InferWidths,
+ CheckWidths)
+ val input =
+ """circuit Unit :
+ | module Unit :
+ | input x: UInt<3>
+ | input y: UInt<32>
+ | output z: UInt
+ | z <= dshl(x, y)""".stripMargin
+ intercept[CheckWidths.WidthTooBig] {
+ executeTest(input, Nil, passes)
+ }
+ }
}