Skip to content
New issue

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

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

Already on GitHub? Sign in 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HW hardware-related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant