From d6bc9c53f01a46abaebadfd303d50b0abe87472d Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Thu, 15 Mar 2018 19:23:09 -0500 Subject: [PATCH] Save a little power during reset by not writing D$ tags (#1287) --- src/main/scala/rocket/DCache.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/scala/rocket/DCache.scala b/src/main/scala/rocket/DCache.scala index 2c5f2408..2fe5e830 100644 --- a/src/main/scala/rocket/DCache.scala +++ b/src/main/scala/rocket/DCache.scala @@ -700,7 +700,9 @@ class DCacheModule(outer: DCache) extends HellaCacheModule(outer) { when (s2_correct) { pstore1_storegen_data := s2_data_word_corrected } // flushes - val resetting = Reg(init=Bool(!usingDataScratchpad)) + val resetting = RegInit(false.B) + if (!usingDataScratchpad) + when (RegNext(reset)) { resetting := true } val flushed = Reg(init=Bool(true)) val flushing = Reg(init=Bool(false)) val flushCounter = Reg(init=UInt(nSets * (nWays-1), log2Ceil(nSets * nWays)))