-
Notifications
You must be signed in to change notification settings - Fork 202
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
Widen L2 cache line to support burst access #2647
base: master
Are you sure you want to change the base?
Conversation
May have an impact on block RAM utilization on ARTIQ after undoing the manual FIFO level logic optimization. Tested using vivado 2024.2. RTL objects that appears in both scenarios are removed. Without manual opt:
With manual opt:
Objects with higher BRAM utilization is replaced with those of lower utilization. Some variants may cause LUT over-utilization and not pass the vivado placer. Tested variant JSON entries:
|
ARTIQ Pull Request
Description of Changes
This patch simply configures the line size. See the PR in MiSoC that implements the gateware changes.
Note: one might be tempted to increase the line size further (e.g. to 128 bytes). Since MiSoC granularize the memory into chunks of 8-bits wide, and the L2 cache size is 128 KB, each chunk would be 1 B * 1024 = 8 Kb. Vivado will allocate each chunk with the smallest 18 Kb block RAM, hence wasting more than half of the block RAM resources.
64 bytes line size would largely mitigate this issue, and still fully support the 64 bytes cache line in VexRiscv caches.
Test
Passes
artiq.test
on Kasli v2. Gateware meets timing. See the PR in MiSoC for performance tests.Type of Changes
Steps (Choose relevant, delete irrelevant before submitting)
All Pull Requests
Code Changes
Git Logistics
git rebase --interactive
). Merge/squash/fixup commits that just fix or amend previous commits. Remove unintended changes & cleanup. See tutorial.git show
). Format:Licensing
See copyright & licensing for more info.
ARTIQ files that do not contain a license header are copyrighted by M-Labs Limited and are licensed under LGPLv3+.