summaryrefslogtreecommitdiff
path: root/src/test/scala/chiselTests/QueueSpec.scala
diff options
context:
space:
mode:
authoranniej-sifive2021-08-03 16:09:19 -0700
committerGitHub2021-08-03 16:09:19 -0700
commitda923f317ff325a93cee6289552ccfa413c35f98 (patch)
tree59f30f6d3e11bc5fb533eafe163c255525885915 /src/test/scala/chiselTests/QueueSpec.scala
parent1e7829eb674eed85a4cd537896d9fd9ee0bc5ff4 (diff)
Added flush capability to Queue (#2030)
Co-authored-by: Megan Wachs <megan@sifive.com> Co-authored-by: Deborah Soung <debs@sifive.com>
Diffstat (limited to 'src/test/scala/chiselTests/QueueSpec.scala')
-rw-r--r--src/test/scala/chiselTests/QueueSpec.scala8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/test/scala/chiselTests/QueueSpec.scala b/src/test/scala/chiselTests/QueueSpec.scala
index 3555a13c..51b899cb 100644
--- a/src/test/scala/chiselTests/QueueSpec.scala
+++ b/src/test/scala/chiselTests/QueueSpec.scala
@@ -9,8 +9,8 @@ import chisel3.testers.BasicTester
import chisel3.util._
import chisel3.util.random.LFSR
-class ThingsPassThroughTester(elements: Seq[Int], queueDepth: Int, bitWidth: Int, tap: Int, useSyncReadMem: Boolean) extends BasicTester {
- val q = Module(new Queue(UInt(bitWidth.W), queueDepth, useSyncReadMem = useSyncReadMem))
+class ThingsPassThroughTester(elements: Seq[Int], queueDepth: Int, bitWidth: Int, tap: Int, useSyncReadMem: Boolean, hasFlush: Boolean) extends BasicTester {
+ val q = Module(new Queue(UInt(bitWidth.W), queueDepth, useSyncReadMem = useSyncReadMem, hasFlush = hasFlush))
val elems = VecInit(elements.map {
_.asUInt()
})
@@ -19,7 +19,7 @@ class ThingsPassThroughTester(elements: Seq[Int], queueDepth: Int, bitWidth: Int
q.io.enq.valid := (inCnt.value < elements.length.U)
q.io.deq.ready := LFSR(16)(tap)
-
+ q.io.flush.foreach { _ := false.B } //Flush behavior is tested in QueueFlushSpec
q.io.enq.bits := elems(inCnt.value)
when(q.io.enq.fire()) {
inCnt.inc()
@@ -205,7 +205,7 @@ class QueueSpec extends ChiselPropSpec {
forAll(vecSizes, safeUIntN(20), Gen.choose(0, 15), Gen.oneOf(true, false)) { (depth, se, tap, isSync) =>
whenever(se._1 >= 1 && depth >= 1 && se._2.nonEmpty) {
assertTesterPasses {
- new ThingsPassThroughTester(se._2, depth, se._1, tap, isSync)
+ new ThingsPassThroughTester(se._2, depth, se._1, tap, isSync, false)
}
}
}