timing(CoupledL2): optimize timing#503
Open
Frankslu wants to merge 23 commits into
Open
Conversation
linjuanZ
requested changes
Apr 29, 2026
linjuanZ
requested changes
May 8, 2026
…rs related to multi-cycle-path
When a way is occupied by mshr, it must be hit, or chosen as refill way in mainpipe stage 3, which means it is definitely not invalid. On the other hand, a selected invalid replace way must be a freeWay. So don't use invalidWay to lookup freeWayMask when choose replace way.
After reset, the first access to a certain way will inevitably be selected as invalid way, and the read value from the replacer SRAM and origin bit SRAM won't be used at this time. At the same time, these SRAMs are written after selection, which is equivalent to initializing them. Therefore, the initialization of these SRAMs can be removed.
For hit related logic, it won't use meta chosen by replace logic, so does replace related logic. So decouple them.
Connection of source_req_s3 and status_vec_toTX will generate a path from replace logic to TX Module, which causes critical path. So just use task_s3 as status_vec_toTX[0]. This may cause a decrease performance of snoop.
Passing origin bit sram read by HoldUless will cause critical path from origin bit sram read resp port to origin bit sram write port. So use RegEnable to pass it.
When receiving aMergeTask during mshr task fire, mshr should immediatly pass aMergeTask ti mshr_tasj_arb, causing direct connection from TLBuffer --> SinkA --> reqBuffer --> mshr --> mshrCtl/arb. So dong't merge aMergeTask when mshr_task is going to fire.
Current cmo logic will use result from replace logic by using dirReault.meta. So decouple replace logic and cmo logic.
Current nestable_meta of snoop will use the result from replace logic by using dirResult.meta. So decouple them.
Current prefetch train will use the meta from replace logic. So decouple them.
Some input value of arbiter in bop is he same constant value. So assign these value in output directly.
064f446 to
7427574
Compare
move TwoLevelRRArbiter and MaskToOH to utility and bump
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.