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

TLB: Deduplicate down to one OptimizationBarrier per TLBEntry #2833

Merged
merged 1 commit into from May 4, 2021

Conversation

ingallsj
Copy link
Contributor

@ingallsj ingallsj commented May 4, 2021

Related issue: After 228498d, the TLBEntry.getData(vpn) function creates a new OptimizationBarrier module each time it is called, three times per entry. This results in more generated Verilog submodules with the same inputs:

OptimizationBarrier ppn_data_barrier(_1..15)
OptimizationBarrier entries_barrier(_1..15)
OptimizationBarrier normal_entries_barrier(_1..15)

Type of change: other enhancement

Impact: no functional change

Call the TLBEntry.getData(vpn) function once per entry per search request port, then pass that result as an argument to other functions. This deduplicates the above to these generated Verilog submodules:

OptimizationBarrier entries_barrier(_1..23)

This reduces the TLB Verilog generated lines by a third.

Development Phase: implementation

Release Notes

@ingallsj ingallsj merged commit 1f869b3 into master May 4, 2021
@ingallsj ingallsj deleted the tlb-getData branch May 4, 2021 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants