From fea4f3a80d2ed5d4735ef33558bebbab290290fb Mon Sep 17 00:00:00 2001 From: Jack Koenig Date: Tue, 31 Jul 2018 13:32:15 -0700 Subject: Revert removal of bit extraction const prop for literals (#857) See https://github.com/freechipsproject/chisel3/issues/867 for future API discussion--- src/test/scala/chiselTests/SIntOps.scala | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/test/scala/chiselTests/SIntOps.scala') diff --git a/src/test/scala/chiselTests/SIntOps.scala b/src/test/scala/chiselTests/SIntOps.scala index 2c8267af..9309c915 100644 --- a/src/test/scala/chiselTests/SIntOps.scala +++ b/src/test/scala/chiselTests/SIntOps.scala @@ -83,6 +83,20 @@ class SIntOpsTester(c: SIntOps) extends Tester(c) { } */ +class SIntLitExtractTester extends BasicTester { + assert(-5.S(1) === true.B) + assert(-5.S(2) === false.B) + assert(-5.S(100) === true.B) + assert(-5.S(3, 0) === "b1011".U) + assert(-5.S(9, 0) === "b1111111011".U) + assert(-5.S(4.W)(1) === true.B) + assert(-5.S(4.W)(2) === false.B) + assert(-5.S(4.W)(100) === true.B) + assert(-5.S(4.W)(3, 0) === "b1011".U) + assert(-5.S(4.W)(9, 0) === "b1111111011".U) + stop() +} + class SIntOpsSpec extends ChiselPropSpec { property("SIntOps should elaborate") { @@ -94,4 +108,9 @@ class SIntOpsSpec extends ChiselPropSpec { } ignore("SIntOpsTester should return the correct result") { } + + property("Bit extraction on literals should work for all non-negative indices") { + assertTesterPasses(new SIntLitExtractTester) + } + } -- cgit v1.2.3