From 3dfd58407506b914cf3159f4069560f8993652ed Mon Sep 17 00:00:00 2001 From: Megan Wachs Date: Wed, 19 Apr 2017 18:57:23 -0700 Subject: [PATCH] regmapper: remove the Pipe in the RegMapper Queue With this pipe here, devices which declare concurrency > 0 actually accept transactions on the same cycle they complete the previous one. This is unexpected behavior. --- src/main/scala/regmapper/RegMapper.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/regmapper/RegMapper.scala b/src/main/scala/regmapper/RegMapper.scala index fa6ec54a..7599f7ad 100644 --- a/src/main/scala/regmapper/RegMapper.scala +++ b/src/main/scala/regmapper/RegMapper.scala @@ -62,7 +62,7 @@ object RegMapper val depth = concurrency require (depth >= 0) require (!pipelined || depth > 0, "Register-based device with request/response handshaking needs concurrency > 0") - val back = if (depth > 0) Queue(front, depth, pipe = depth == 1) else front + val back = if (depth > 0) Queue(front, depth) else front // Convert to and from Bits def toBits(x: Int, tail: List[Boolean] = List.empty): List[Boolean] =