From e92981b0bd127282720b87849c26e0db16ed8b7d Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Tue, 8 Aug 2017 11:46:38 -0700 Subject: [PATCH] DRY --- src/main/scala/rocket/DCache.scala | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/scala/rocket/DCache.scala b/src/main/scala/rocket/DCache.scala index 17e50085..bf841f34 100644 --- a/src/main/scala/rocket/DCache.scala +++ b/src/main/scala/rocket/DCache.scala @@ -208,8 +208,9 @@ class DCacheModule(outer: DCache) extends HellaCacheModule(outer) { val s2_readwrite = s2_read || s2_write val s2_flush_valid_pre_tag_ecc = RegNext(s1_flush_valid) val s1_meta_decoded = s1_meta.map(tECC.decode(_)) - val s2_meta_errors = s1_meta_decoded.map(m => RegEnable(m.error, s1_valid_not_nacked || s1_flush_valid || s1_probe)).asUInt - val s2_meta_corrected = s1_meta_decoded.map(m => RegEnable(m.corrected, s1_valid_not_nacked || s1_flush_valid || s1_probe).asTypeOf(new L1Metadata)) + val s1_meta_clk_en = s1_valid_not_nacked || s1_flush_valid || s1_probe + val s2_meta_errors = s1_meta_decoded.map(m => RegEnable(m.error, s1_meta_clk_en)).asUInt + val s2_meta_corrected = s1_meta_decoded.map(m => RegEnable(m.corrected, s1_meta_clk_en).asTypeOf(new L1Metadata)) val s2_meta_error = s2_meta_errors.orR val s2_flush_valid = s2_flush_valid_pre_tag_ecc && !s2_meta_error val s2_data = {