Skip to content

Commit ea7d4bd

Browse files
Directory: fixed X-state leakage from RRIP meta SRAM without reset (#163)
* Directory: fixed X-state leakage from RRIP meta SRAM without reset * .github: update CODEOWNERS --------- Co-authored-by: zhanglinjuan <[email protected]>
1 parent 8afd89f commit ea7d4bd

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

.github/CODEOWNERS

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
* @Ivyfeather @linjuanZ
2-
src/main/scala/coupledL2/Directory.scala @cailuoshan
3-
src/main/scala/coupledL2/utils/ @cailuoshan
2+
src/main/scala/coupledL2/Directory.scala @cailuoshan @linjuanZ
3+
src/main/scala/coupledL2/utils/ @cailuoshan @linjuanZ
44
src/main/scala/coupledL2/prefetch/ @Maxpicca-Li
55
src/main/scala/coupledL2/prefetch/ @wakafa1
66
src/test/scala/ @Kumonda221-CrO3

src/main/scala/coupledL2/Directory.scala

+4-4
Original file line numberDiff line numberDiff line change
@@ -282,14 +282,14 @@ class Directory(implicit p: Parameters) extends L2Module {
282282
val rrip_hit_s3 = Mux(refillReqValid_s3, false.B, hit_s3)
283283
// origin-bit marks whether the data_block is reused
284284
val origin_bit_opt = if(random_repl) None else
285-
Some(Module(new SRAMTemplate(Bool(), sets, ways, singlePort = true)))
285+
Some(Module(new SRAMTemplate(Bool(), sets, ways, singlePort = true, shouldReset = true)))
286286
val origin_bits_r = origin_bit_opt.get.io.r(io.read.fire, io.read.bits.set).resp.data
287287
val origin_bits_hold = Wire(Vec(ways, Bool()))
288288
origin_bits_hold := HoldUnless(origin_bits_r, RegNext(io.read.fire, false.B))
289289
origin_bit_opt.get.io.w(
290-
replacerWen,
291-
rrip_hit_s3,
292-
req_s3.set,
290+
!resetFinish || replacerWen,
291+
Mux(resetFinish, rrip_hit_s3, false.B),
292+
Mux(resetFinish, req_s3.set, resetIdx),
293293
UIntToOH(touch_way_s3)
294294
)
295295

0 commit comments

Comments
 (0)