From: Luke Kenneth Casson Leighton Date: Wed, 30 Sep 2020 08:55:58 +0000 (+0100) Subject: store tag in temp signal X-Git-Tag: 24jan2021_ls180~280 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=924d0886467e35e4ebc32304c7b0bbc78009f475;p=soc.git store tag in temp signal --- diff --git a/src/soc/experiment/icache.py b/src/soc/experiment/icache.py index c5fed771..55cacd32 100644 --- a/src/soc/experiment/icache.py +++ b/src/soc/experiment/icache.py @@ -921,13 +921,15 @@ class ICache(Elaboratable): # end loop; # Test if pending request is a hit on any way for i in range(NUM_WAYS): + tagi = Signal(TAG_BITS, name="ti%d" % i) + comb += tagi.eq(read_tag(i, cache_tags[req_index])) with m.If(i_in.req & (cache_valid_bits[req_index][i] | ((r.state == State.WAIT_ACK) & (req_index == r.store_index) & (i == r.store_way) & r.rows_valid[req_row % ROW_PER_LINE]))): - with m.If(read_tag(i, cache_tags[req_index]) == req_tag): + with m.If(tagi == req_tag): comb += hit_way.eq(i) comb += is_hit.eq(1)