summaryrefslogtreecommitdiff
path: root/src/test/scala/chiselTests/BitsOps.scala
diff options
context:
space:
mode:
authorHenry Cook2015-08-13 15:46:14 -0700
committerHenry Cook2015-08-13 15:51:10 -0700
commited69bdea87f7f60cc6b3bac7b6cdd7b6bc787f1d (patch)
tree6f4c26caa975a0329999afcf5da9b5c9031e21e0 /src/test/scala/chiselTests/BitsOps.scala
parente1bdf1eea5b00917b26bea24b25b3911a56fe849 (diff)
fun with ##
Diffstat (limited to 'src/test/scala/chiselTests/BitsOps.scala')
-rw-r--r--src/test/scala/chiselTests/BitsOps.scala72
1 files changed, 0 insertions, 72 deletions
diff --git a/src/test/scala/chiselTests/BitsOps.scala b/src/test/scala/chiselTests/BitsOps.scala
deleted file mode 100644
index 7cd695e6..00000000
--- a/src/test/scala/chiselTests/BitsOps.scala
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- Copyright (c) 2011-2015 The Regents of the University of
- California (Regents). All Rights Reserved. Redistribution and use in
- source and binary forms, with or without modification, are permitted
- provided that the following conditions are met:
-
- * Redistributions of source code must retain the above
- copyright notice, this list of conditions and the following
- two paragraphs of disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- two paragraphs of disclaimer in the documentation and/or other materials
- provided with the distribution.
- * Neither the name of the Regents nor the names of its contributors
- may be used to endorse or promote products derived from this
- software without specific prior written permission.
-
- IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
- SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
- ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
- REGENTS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- A PARTICULAR PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF
- ANY, PROVIDED HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION
- TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
- MODIFICATIONS.
-*/
-
-package chiselTests
-
-import Chisel._
-import org.scalatest._
-import org.scalatest.prop._
-import Chisel.testers.BasicTester
-
-class BitwiseOps(w: Int) extends Module {
- val io = new Bundle {
- val a = Bits(INPUT, w)
- val b = Bits(INPUT, w)
- val not = Bits(OUTPUT, w)
- val and = Bits(OUTPUT, w)
- val or = Bits(OUTPUT, w)
- val xor = Bits(OUTPUT, w)
- }
- io.not := ~io.a
- io.and := io.a & io.b
- io.or := io.a | io.b
- io.xor := io.a ^ io.b
-}
-
-class BitwiseOpsSpec extends ChiselSpec {
-
- class BitwiseOpsTester(w: Int, a: Int, b: Int) extends BasicTester {
- val mask = (1 << w)-1;
- val dut = Module(new BitwiseOps(w))
- io.done := Bool(true)
- dut.io.a := UInt(a)
- dut.io.b := UInt(b)
- when(dut.io.not != UInt(mask & ~a)) { io.error := UInt(1) }
- when(dut.io.and != UInt(mask & (a & b))) { io.error := UInt(2) }
- when(dut.io.or != UInt(mask & (a | b))) { io.error := UInt(3) }
- when(dut.io.xor != UInt(mask & (a ^ b))) { io.error := UInt(4) }
- }
-
- "BitwiseOps" should "return the correct result" in {
- forAll(safeUInts, safeUInts) { (a: Int, b: Int) =>
- assert(execute{ new BitwiseOpsTester(32, a, b) })
- }
- }
-}