[Libre-soc-bugs] [Bug 469] Create D-cache from microwatt dcache.vhdl
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Mon Aug 24 12:43:46 BST 2020
https://bugs.libre-soc.org/show_bug.cgi?id=469
--- Comment #10 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Luke Kenneth Casson Leighton from comment #8)
>
> szNUM_WAYS = log2_int(NUM_WAYS)
> self.hit_way = Signal(szNUM_WAYS)
commit b8e1e712b6aa41fa2f084bceb808672804a4abdc (HEAD -> master)
Author: Luke Kenneth Casson Leighton <lkcl at lkcl.net>
Date: Mon Aug 24 12:37:32 2020 +0100
use WAY_BITS in appropriate locations
ok.
* numbers are in binary and way_t is declared as 0..NUM_WAYS-1
* therefore it takes log2_int(NUM_WAYS) bits to *store* a number in a Signal
that will cover all values 0..NUM_WAYS-1
* turns out that WAY_BITS has already been assigned to log2_int(NUM_WAYS).
* therefore Signals of type "way_t" must be declared as Signal(WAY_BITS)
you'll need to be very patient and focussed, going step-by-step and blocking
out everything other than what you are focussing on.
bear in mind that a for-loop from 0 to NUM_WAYS-1 is *not* to replaced with
WAY_BITS i.e. this is... errr... not correct
# for i in way_t loop
for i in range(WAY):
_this_ is correct:
# for i in way_t loop
for i in range(NUM_WAYS):
commit b45fab94d8370ef8297b9bb303bf0d6fc161193e (HEAD -> master)
Author: Luke Kenneth Casson Leighton <lkcl at lkcl.net>
Date: Mon Aug 24 12:43:34 2020 +0100
"WAY" does not exist - range(NUM_WAYS) was intended
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list