Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

✨ Add optional external bus interface cache (XCACHE) #849

Merged
merged 12 commits into from
Mar 14, 2024
Merged

Conversation

stnolting
Copy link
Owner

@stnolting stnolting commented Mar 14, 2024

This PR adds an instance of the generic cache module (neorv32_cache.vhd) that is used as cache for the processor-external bus interface (x-cache).

neorv32_bus

X-cache features:

  • direct-mapped architecture
  • write-back strategy (write-back modified cache blocks to main memory when they are replaced)
  • write-allocate strategy (fetch entire block from main memory on cache write-miss)

New configuration generics:

  • XBUS_CACHE_EN: implement the external bus interface cache when _true:
  • XBUS_CACHE_NUM_BLOCKS: number of implemented cache blocks (or "cache lines")
  • XBUS_CACHE_BLOCK_SIZE: size of a single cache block (or "line") in bytes

@stnolting stnolting added the HW Hardware-related label Mar 14, 2024
@stnolting stnolting self-assigned this Mar 14, 2024
@stnolting stnolting marked this pull request as ready for review March 14, 2024 20:03
as we are executing from processor-external memory in this testbench
@stnolting stnolting changed the title ✨ Add optional external bus cache (XCACHE) ✨ Add optional external bus interface cache (XCACHE) Mar 14, 2024
@stnolting stnolting merged commit bd4fb29 into main Mar 14, 2024
10 checks passed
@stnolting stnolting deleted the xcache branch March 14, 2024 21:39
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
HW Hardware-related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant