vicuna icon indicating copy to clipboard operation
vicuna copied to clipboard

Vicuna I$ compliation error when Memory Width and Way Length are same

Open iksw opened this issue 3 years ago • 2 comments

I$ configured with size of 4KB, parameter WAY_LEN is 128 bits and if the MEM_BYTE_W is being configured with 128 bit. Then there is a compilation error parameter int unsigned MEM_BYTE_W = 4, // Memory data width (bytes) parameter int unsigned WAY_LEN = 256 // Cache way length (lines)

Compilation Error/data/shared/mulberry/users/kwali/nna_icache_exp/nna/external/vicuna/rtl/vproc_cache.sv, 45 "val" Packed union members must have same size. Member "val" has different size (1 bits) from next member (3 bits).

iksw avatar Feb 11 '22 22:02 iksw

Thanks for pointing this out. The way the cache is currently implemented requires that the line width is larger than the memory data width (i.e., LINE_BYTE_W > MEM_BYTE_W). I will try to remove this limitation.

In the meantime, please use a larger line width as a workaround, e.g. ICACHE_LINE_W == 256.

michael-platzer avatar Feb 17 '22 11:02 michael-platzer

I also see that both tag and data memories are implemented as flops with dual port memory interface. Just suggesting if that can be changed to single port memory interface.

iksw avatar Feb 17 '22 19:02 iksw