Skip to content

Add Zcb extension#1025

Merged
kgugala merged 5 commits into
chipsalliance:masterfrom
SamuelRiedel:zcb-extension
Apr 3, 2026
Merged

Add Zcb extension#1025
kgugala merged 5 commits into
chipsalliance:masterfrom
SamuelRiedel:zcb-extension

Conversation

@SamuelRiedel
Copy link
Copy Markdown
Contributor

@SamuelRiedel SamuelRiedel commented Dec 18, 2025

This PR adds support for the Zcb extension. It is originally derived from @JJ-Gaisler's commit in PR #921 but was split off to isolate the Zcb implementation for easier reviewing. It also cleans up a few existing nits and simplifies the rd special cases.

Therefore, this PR depends on PR #1024 and should be rebased and merged after that PR lands. Because Zcb introduces instructions requiring rs1 == rd, having PR #1024 merged first simplifies the design. New changes from this PR: review only new commits

Those tests are used in Ibex's verification: lowRISC/ibex#2324

@SamuelRiedel SamuelRiedel marked this pull request as ready for review December 18, 2025 12:05
@SamuelRiedel SamuelRiedel mentioned this pull request Dec 18, 2025
JJ-Gaisler and others added 5 commits March 27, 2026 09:36
This commit is a cherry-pick of only the Zcb extension from Jonathan
Jonssons's commit: 5e72708

Zcb (code reduction):
since no gcc support is in the mainline assembler yet these instructions are
injected as raw data. Coverage class has been extended with these
instructions and the illegal instruction class should not be able to
generate legal Zcb instruction if the extension is enabled.

load_store_instr_lib:
Added the Zcb load and store instructions to this class.

Co-authored-by: Samuel Riedel <sriedel@lowrisc.org>"
@kgugala kgugala merged commit b7a0b4b into chipsalliance:master Apr 3, 2026
3 of 19 checks passed
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.

4 participants