Skip to content

Conversation

@SamuelRiedel
Copy link

@SamuelRiedel SamuelRiedel commented Dec 18, 2025

This is a small PR cleaning up some of the compressed instructions that potentially have rs1 == rd. Previously, in this case, rd was unset and whenever we randomized instructions, special care was taken to not have rs1 within the reserved_rd registers. This simplifies this logic a bit by simply constraining rs1 == rd.

Furthermore, it introduces a update_excluded_instr function that can be used to determine which instructions cannot be inserted with the given reserved registers. This function can be reused across test classes.

This cleanup is useful to simplify implementing the Zcb #1025 and Zcmp #1026 extensions that we use in Ibex's verification.

@SamuelRiedel
Copy link
Author

@kgugala @tmichalak @hcallahan-lowrisc If you have time, I would appreciate it if you could have a look at this PR and the ones building on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant