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

Rework the CCU to improve performance #5

Open
wants to merge 39 commits into
base: master
Choose a base branch
from

Conversation

ricted98
Copy link

The CCU was reworked to:

  • Support multiple outstanding requests
  • Reduce latency across the design

ricted98 and others added 30 commits April 12, 2024 09:30
* The original FSM is now split across three modules:
decoder, memory_unit and snoop_unit.
* The top level design is now identified as ccu_ctrl
* Legacy parameter is used to simulate a blocking behavior
* Rework the memory unit to use AXI channels parallelism
* Use AXI FIFO to buffer memory transactions
* Several bug fixes
* Remove Legacy support
* Checks are currently performed by stalling requests targeted at the same set
* Stall the decoder W/R requests if the respective queue is full
* Collision now happens on equal tags
* Add one ID bit on the memory side
* Add W FIFO to decouple Ax controller and W channel
* Use req/gnt protocol
* Serve request in the same cycle if possible
@ricted98 ricted98 self-assigned this May 29, 2024
@ricted98 ricted98 added the enhancement New feature or request label Jun 12, 2024
@ricted98 ricted98 marked this pull request as ready for review June 12, 2024 08:12
@ricted98 ricted98 requested review from niwis and ezelioli June 12, 2024 08:12
@ricted98 ricted98 marked this pull request as draft June 15, 2024 09:14
@ricted98 ricted98 marked this pull request as ready for review July 3, 2024 06:52
@ricted98
Copy link
Author

ricted98 commented Sep 6, 2024

@niwis, do you think we can merge this pull request? Further active development will be needed, but we can start from this version and set it as our baseline.

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

Successfully merging this pull request may close these issues.

1 participant