1
0

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.
This commit is contained in:
Megan Wachs 2017-04-19 18:57:23 -07:00
parent b4d17c76d1
commit 3dfd584075

View File

@ -62,7 +62,7 @@ object RegMapper
val depth = concurrency val depth = concurrency
require (depth >= 0) require (depth >= 0)
require (!pipelined || depth > 0, "Register-based device with request/response handshaking needs concurrency > 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 // Convert to and from Bits
def toBits(x: Int, tail: List[Boolean] = List.empty): List[Boolean] = def toBits(x: Int, tail: List[Boolean] = List.empty): List[Boolean] =