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

L1.5 and L2 Cache Configurations to vary their sizes and associativities #123

Open
topanitanw opened this issue Jan 28, 2023 · 1 comment

Comments

@topanitanw
Copy link

topanitanw commented Jan 28, 2023

Dear Openpiton Maintainers,

I have successfully cloned the Openpiton repository and attempted to reconfigure various parameters one at a time of both caches using the command line interface as described in the Openpiton simulation manual. However, despite being able to compile the Openpiton code using VCS without any errors, it has failed all tests in the regression test group named "tile1_mini". The specific parameters and reasons for the test failures are outlined as follows:

  1. L1.5 associativity: I reconfigured the L1.5 cache to have 8 and 16 associativities and compiled and ran the tests. The results indicated that all tests in this test group failed due to "L15 having X's in the stall_s1 signal," as per the report.
  2. L1.5 size: I attempted to reconfigure the L1.5 cache to various sizes, and the maximum size that allowed the code to pass the tests was 1MB.
  3. L2 associativity: I reconfigured the L2 cache to have associativities of 16 and 8, and the tests were passed.
  4. L2 size: I attempted to reconfigure the L2 cache to sizes of 2MB and 128KB, but despite being able to compile the code without any issues, the "tile1_mini" test group failed due to an "attempt to write X to register detected."

I would greatly appreciate your guidance in reconfiguring the caches correctly and resolving the issues to pass the failed tests.

@Jbalkind
Copy link
Collaborator

This is a complex set of questions that took me a while to get the time to look into.

In general, the OpenSPARC T1 core has not been our focus for about five years. The cache configurations when working with the OST1 could be somewhat fragile as a result. I would strongly suggest that you instead check the functionality of cache reparameterisation with Ariane/CVA6 instead. We have a number of users who have been doing this and haven't seen issues arise.

There is some internal code that we thought we'd released but was never actually put into OpenPiton proper which complicates things a bit. L1.5 associativity parameterisation requires some patches which have not been fully vetted for integration. I ported them to OpenPiton here but this is not complete: https://github.com/Jbalkind/openpiton/tree/jbalkind_l15_param

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants