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

regfile: switch from Mem() to SyncReadMem() #656

Closed

Conversation

oharboe
Copy link

@oharboe oharboe commented Sep 16, 2023

Related issue:

Type of change: bug fix | new feature | other enhancement

other enhancement

Impact: no rtl change | rtl refactoring | new rtl | unknown

rtl refactoring

Development Phase: proposal | implementation

implementation

Release Notes

Switch RegisterFile from Mem() to SyncReadMem()(from asynchronous read to synchronous read memory)

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
@oharboe
Copy link
Author

oharboe commented Sep 16, 2023

Passed this test in sims/verilator:

make CONFIG=MegaBoomConfig run-asm-tests

What other tests can I run?

@oharboe
Copy link
Author

oharboe commented Mar 4, 2024

No further followup on this. The problem is that all SyncReadMem()s are converted to memories automatically and for the registerfile something else than a normal SRAM is needed since the registerfile has so many ports. Using Mem() instead of SyncReadMem() avoids the registerfile being swept up by Chipyard in macros that should be converted to use SRAMs. This is a little bit of a fudge, but using SyncReadMem() for registerfile needs to come with some way to avoid it being built of normal SRAMs.

@oharboe oharboe closed this Mar 4, 2024
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

Successfully merging this pull request may close these issues.

1 participant