From 6a3eb3188c983268fab0f64ef4681b403cc2052d Mon Sep 17 00:00:00 2001 From: Schuyler Eldridge Date: Tue, 28 Jan 2020 09:40:52 -0500 Subject: Emit FIRRTL andr, orr for Bits.{andR, orR} Change the emission strategy for Bits methods andR and orR to emit FIRRTL bitwise reduce operations andr and orr. Add two tests that assert the correct behavior of these operations in BitwiseOpsSpec. Signed-off-by: Schuyler Eldridge --- src/test/scala/chiselTests/BitwiseOps.scala | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/test') diff --git a/src/test/scala/chiselTests/BitwiseOps.scala b/src/test/scala/chiselTests/BitwiseOps.scala index 505178a4..20e3f01a 100644 --- a/src/test/scala/chiselTests/BitwiseOps.scala +++ b/src/test/scala/chiselTests/BitwiseOps.scala @@ -13,6 +13,8 @@ class BitwiseOpsTester(w: Int, _a: Int, _b: Int) extends BasicTester { assert((a & b) === (_a & _b).asUInt) assert((a | b) === (_a | _b).asUInt) assert((a ^ b) === (_a ^ _b).asUInt) + assert((a.orR) === (_a != 0).asBool) + assert((a.andR) === (s"%${w}s".format(BigInt(_a).toString(2)).foldLeft(true)(_ && _ == '1') ).asBool) stop() } -- cgit v1.2.3