From 0b131173e683588d8aedf51f4ab9bfe33ba8ea6d Mon Sep 17 00:00:00 2001 From: Henry Cook Date: Mon, 16 Feb 2015 10:59:57 -0800 Subject: [PATCH] WritebackUnit multibeat control logic bugfix --- rocket/src/main/scala/nbdcache.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rocket/src/main/scala/nbdcache.scala b/rocket/src/main/scala/nbdcache.scala index c991713f..1c75e176 100644 --- a/rocket/src/main/scala/nbdcache.scala +++ b/rocket/src/main/scala/nbdcache.scala @@ -418,7 +418,8 @@ class WritebackUnit extends L1HellaCacheModule { data_req_cnt := data_req_cnt - Mux[UInt](Bool(refillCycles > 1) && r1_data_req_fired, 2, 1) } .elsewhen(beat_done) { if(refillCyclesPerBeat > 1) buf_v := 0 } when(!r1_data_req_fired) { - active := data_req_cnt < UInt(refillCycles) + // We're done if this is the final data request and the Release can be sent + active := data_req_cnt < UInt(refillCycles) || !io.release.ready } } }