From 857956ac1eaeeb15a7bed1573cfae5d1c45c5f43 Mon Sep 17 00:00:00 2001 From: Alec Vercruysse Date: Tue, 25 Apr 2023 17:02:53 -0700 Subject: [PATCH] Cacheway exclude SelFlush=0 while FlushWay=0 in FlushWayEn assign FlushWay is always 1 for one way, but by default it is only 1 for way 0. The logic that advances FlushWay to ways 1, 2, and 3 only does so on a subset of conditions that SelFlush is high (in cachefsm), so this is unreachable for cachways 1-3. --- src/cache/cacheway.sv | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/cache/cacheway.sv b/src/cache/cacheway.sv index 368c7b587..095b8c1d3 100644 --- a/src/cache/cacheway.sv +++ b/src/cache/cacheway.sv @@ -82,6 +82,8 @@ module cacheway #(parameter NUMLINES=512, LINELEN = 256, TAGLEN = 26, mux2 #(1) seltagmux(VictimWay, FlushWay, SelFlush, SelTag); // FlushWay is part of a one hot way selection. Must clear it if FlushWay not selected. + // coverage off -item e 1 -fecexprrow 3 + // nonzero ways will never see SelFlush=0 while FlushWay=1 since FlushWay only advances on a subset of SelFlush assertion cases. assign FlushWayEn = FlushWay & SelFlush; assign SelNonHit = FlushWayEn | SetValid | SelWriteback; end