-
Notifications
You must be signed in to change notification settings - Fork 72
Utage check rtl align #773
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
Open
CJ362ff
wants to merge
43
commits into
xs-dev
Choose a base branch
from
utage-check-RTL-align
base: xs-dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
43 commits
Select commit
Hold shift + click to select a range
51b7bde
cpu-o3: split microtage out of tage
b26fdc7
cpu-o3: enhance branch index calculation in MicroTAGE to handle edge …
8b35681
cpu-o3: update blockWidth calculation to handle zero blockSize
034f920
cpu-o3: adjust MicroTAGE parameters and clean up code for clarity
0bb5cd3
cpu-o3: remove unused variable 'usingBasetable'
82d3253
cpu-o3: MicroTAGE to remove base table and alternative prediction
d660fb0
cpu-o3: update MicroTAGE parameters for consistency
b10b621
cpu-o3: remove alternative prediction logic
076d8f1
cpu-o3: refine MicroTAGE parameters and remove unused variables
ef6b810
cpu-o3: update MicroTAGE history length parameter to 16
91b8738
cpu-o3: enhance MicroTAGE history management with ahead queues
3df7a28
cpu-o3:open microtage
06ff70a
cpu-o3:close utage in ideal
5a20e0f
cpu-o3: update folded history queue size limit
2aefbfc
cpu-o3: disable MicroTAGE in branch prediction configuration
90819cc
cpu-o3: refine folded history queue management in doUpdateHist
7e1a7f0
cpu-o3: update .gitignore and modify MicroTAGE predictor includes
54ef187
cpu-o3: refactor MicroTAGE history management by removing ahead index…
e376c5a
cpu-o3: disable MicroTAGE predictor in setKmhV3Ideal
6d4ce57
cpu-o3: enhance MicroTAGE predictor to support alternative tag history
fdd6fa0
cpu-o3:enable utage in idael
1e5927f
cpu-o3: remove alternative tag history from MicroTAGE index
d87766d
cpu-o3: implement ahead index history management in MicroTAGE
9f9bf9c
cpu-o3: add debug logging in MicroTAGE updates
98ad6f0
cpu-o3: update index folded history recovery in MicroTAGE
bda309c
cpu-o3: update doUpdateHist to handle ahead index folded history
83f8450
cpu-o3: enhance ahead index history management in MicroTAGE
1ce1612
cpu: Add UTAGE flag and clean up MicroTAGE
17bba15
cpu-o3: correct invalidation logic for duplicated entries in AheadBTB
b17f4d8
cpu-o3: update uTAGE parameters *4 for improved configuration
66f118a
cpu-o3: fix invalidation logic for duplicated entries in AheadBTB
13205b5
cpu-o3: refine MicroTAGE parameters for improved configuration
d3387c2
cpu-o3: update MicroTAGE parameters for improved configuration
fcd94e7
cpu-o3: update MicroTAGE history lengths for improved accuracy
35f0f11
cpu-o3: tune MicroTAGE params and fix folded hist check
6ef6dec
cpu-o3: Tune uTAGE defaults and ignore spec06 outputs
8b77a25
util: Revert spec06 ignore pattern
55c5f1a
cpu-o3: Remove unused includes
9e6be62
cpu-o3: Use FetchTarget in MicroTAGE interfaces
8c18550
cpu-o3: useful bit handling in uTAGE to use a 2-bit counter
8d5b2a9
cpu-o3: change tage longth to 15 15 16 16
d6de129
cpu-o3: aligin utage history longth
b89e3d1
cpu-o3 :back to normal
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Repository: OpenXiangShan/GEM5
Length of output: 13355
🏁 Script executed:
Repository: OpenXiangShan/GEM5
Length of output: 1827
Vector parameter sizes do not match
numPredictors—fix required to avoid runtime assertion failure.The C++ constructor checks that all vector parameters have size >=
numPredictors. Currently,numPredictors = 4but all vector parameters (tableSizes,TTagBitSizes,TTagPcShifts,histLengths) have only 1 element. This will trigger assertion failures at lines 109, 118, 120, and 123 ofsrc/cpu/pred/btb/btb_tage.cc.Each vector must be expanded to have 4 elements. For reference,
BTBTAGE(lines 1043-1052) correctly defines all vectors with 8 elements matching itsnumPredictors = 8.Proposed fix
# Keep vector parameters consistent with numPredictors to avoid constructor asserts. numPredictors = Param.Unsigned(4, "Number of TAGE predictors") - tableSizes = VectorParam.Unsigned([512],"the TAGE T0~Tn length") - TTagBitSizes = VectorParam.Unsigned([16],"the T0~Tn entry's tag bit size") - TTagPcShifts = VectorParam.Unsigned([1] ,"when the T0~Tn entry's tag generating, PC right shift") + tableSizes = VectorParam.Unsigned([512]*4,"the TAGE T0~Tn length") + TTagBitSizes = VectorParam.Unsigned([16]*4,"the T0~Tn entry's tag bit size") + TTagPcShifts = VectorParam.Unsigned([1]*4,"when the T0~Tn entry's tag generating, PC right shift") blockSize = Param.Unsigned(32,"tage index function uses 32B aligned block address") - histLengths = VectorParam.Unsigned([16] ,"the BTB TAGE T0~Tn history length") + histLengths = VectorParam.Unsigned([4, 8, 13, 16],"the BTB TAGE T0~Tn history length")The
histLengthsvalues are illustrative. Use history lengths appropriate for the MicroTAGE design (typically geometrically increasing, e.g., multiples of 4).🧰 Tools
🪛 Ruff (0.15.5)
[error] 1073-1073:
Parammay be undefined, or defined from star imports(F405)
[error] 1074-1074:
VectorParammay be undefined, or defined from star imports(F405)
[error] 1075-1075:
VectorParammay be undefined, or defined from star imports(F405)
[error] 1076-1076:
VectorParammay be undefined, or defined from star imports(F405)
[error] 1077-1077:
Parammay be undefined, or defined from star imports(F405)
[error] 1079-1079:
VectorParammay be undefined, or defined from star imports(F405)
🤖 Prompt for AI Agents