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

Improve QoR when threading models with SyncReadMems #639

Merged
merged 7 commits into from
Nov 6, 2020

Conversation

albert-magyar
Copy link
Contributor

Currently, synchronous-read memories get processed with VerilogMemDelays before FAME5 multi-threading, which leads to inconsistent BRAM inference and generally worse QoR. This PR fixes that by generating specialized implementations of natively multi-threaded synchronous-read memories. These implementations generally use RAM resources more effectively than the baseline unoptimized simulators.

This also copies in the fix to VerilogMemDelays from chipsalliance/firrtl#1908. This fix can be reverted when the FIRRTL upstream changes make it to FireSim, but since that will take a while, it's good to get this bugfix in.

@albert-magyar albert-magyar force-pushed the mt-sync-read-mem-improvements branch 3 times, most recently from c783880 to ee94e8d Compare October 5, 2020 19:05
Copy link
Contributor

@davidbiancolin davidbiancolin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs a bump, but LGTM.

@albert-magyar albert-magyar force-pushed the mt-sync-read-mem-improvements branch from ee94e8d to 6e21732 Compare October 27, 2020 00:37
* See chipsalliance/firrtl#1908
* Will revert this commit when change is available in FireSim
* Better BRAM/URAM inference in many cases for Vivado
* Implement threaded memory with monolithic BRAM + read data buffers
* Substitute memories for ThreadedSyncReadMems in MuxingMultithreader
* Separate generation of implementations into new ImplementThreadedSyncReadMems pass
* Add pipelining to incorporate output FF option into BRAM
* Avoid issue of exposing custom IR nodes
* Address PR review feedback
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.

2 participants