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

Fix decoding of CLRI, BINVI, BSETI, BEXTI and RORI where bit 25 is reserved in RV32 Fix #2280 #2728

Merged

Conversation

Gchauvon
Copy link
Contributor

Fix decoding of some bitmanip instruction where decoding differs between rv32 and rv64

core/decoder.sv Outdated Show resolved Hide resolved
core/decoder.sv Outdated Show resolved Hide resolved
core/decoder.sv Outdated
Comment on lines 941 to 944
else if (CVA6Cfg.IS_XLEN64 && instr.instr[31:26] == 6'b010_010) instruction_o.op = ariane_pkg::BEXTI;
else if (CVA6Cfg.IS_XLEN32 && instr.instr[31:25] == 7'b010_0100) instruction_o.op = ariane_pkg::BEXTI;
else if (CVA6Cfg.IS_XLEN64 && instr.instr[31:26] == 6'b011_000) instruction_o.op = ariane_pkg::RORI;
else if (CVA6Cfg.IS_XLEN32 && instr.instr[31:25] == 7'b011_0000) instruction_o.op = ariane_pkg::RORI;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
else if (CVA6Cfg.IS_XLEN64 && instr.instr[31:26] == 6'b010_010) instruction_o.op = ariane_pkg::BEXTI;
else if (CVA6Cfg.IS_XLEN32 && instr.instr[31:25] == 7'b010_0100) instruction_o.op = ariane_pkg::BEXTI;
else if (CVA6Cfg.IS_XLEN64 && instr.instr[31:26] == 6'b011_000) instruction_o.op = ariane_pkg::RORI;
else if (CVA6Cfg.IS_XLEN32 && instr.instr[31:25] == 7'b011_0000) instruction_o.op = ariane_pkg::RORI;
else if (CVA6Cfg.IS_XLEN64 && instr.instr[31:26] == 6'b010_010)
instruction_o.op = ariane_pkg::BEXTI;
else if (CVA6Cfg.IS_XLEN32 && instr.instr[31:25] == 7'b010_0100)
instruction_o.op = ariane_pkg::BEXTI;
else if (CVA6Cfg.IS_XLEN64 && instr.instr[31:26] == 6'b011_000)
instruction_o.op = ariane_pkg::RORI;
else if (CVA6Cfg.IS_XLEN32 && instr.instr[31:25] == 7'b011_0000)
instruction_o.op = ariane_pkg::RORI;

@Gchauvon Gchauvon marked this pull request as draft January 22, 2025 09:44
@Gchauvon Gchauvon marked this pull request as ready for review January 22, 2025 09:48
Copy link
Contributor

❌ failed run, report available here.

3 similar comments
Copy link
Contributor

❌ failed run, report available here.

Copy link
Contributor

❌ failed run, report available here.

Copy link
Contributor

❌ failed run, report available here.

Copy link
Contributor

✔️ successful run, report available here.

@JeanRochCoulon JeanRochCoulon merged commit 664c515 into openhwgroup:master Jan 22, 2025
9 checks passed
@JeanRochCoulon JeanRochCoulon deleted the dev/b-decoder branch January 22, 2025 22:45
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.

2 participants