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

Performance Bug in Snitch decoder #195

Open
mbertuletti opened this issue Sep 13, 2024 · 0 comments
Open

Performance Bug in Snitch decoder #195

mbertuletti opened this issue Sep 13, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@mbertuletti
Copy link

The write_rd signal is used to tag instructions that write the destination register rd in the same cycle where they are decoded. The uses_rd signal is used to generically tag an instruction that will use the destination register at some point.

  • In the decoder assignment write_rd is always asserted and uses_rd=write_rd.
  • S-instructions do not use rd, but the field 11:7 of the instruction is always assigned to the address of the destination register and uses_rd is always asserted.
  • If by chance the field 11:7 corresponds to a register marked in the scoreboard the instruction stalls the core.

The uses_rd signal must be explicitly assigned in instructions that do not use rd.
https://github.com/pulp-platform/mempool/commit/9c5690622f3fc493a5e42eff9eb655ff85baf758

@colluca colluca added the enhancement New feature or request label Oct 2, 2024
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

No branches or pull requests

2 participants