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

feature request - Zb* sub-extensions #640

Closed
biosbob opened this issue Jun 28, 2023 · 4 comments
Closed

feature request - Zb* sub-extensions #640

biosbob opened this issue Jun 28, 2023 · 4 comments
Assignees
Labels
enhancement New feature or request HW hardware-related risc-v compliance Modification to comply with official RISC-V specs.

Comments

@biosbob
Copy link
Collaborator

biosbob commented Jun 28, 2023

the Zbc sub-extension (carry-less multiplication) is quite different from the other sub-extensions, which really do "bit manipulation" in the more traditional sense...

not critical, but it might be helpful to enable the Zb* sub-extensions individual -- as this also has impact on the overall size of the synthesized core....

a placeholder for the future....

@stnolting
Copy link
Owner

stnolting commented Jun 30, 2023

For the records: this is being discussed in #633 (comment)

@stnolting stnolting self-assigned this Jun 30, 2023
@stnolting stnolting added enhancement New feature or request risc-v compliance Modification to comply with official RISC-V specs. HW hardware-related labels Jun 30, 2023
@biosbob
Copy link
Collaborator Author

biosbob commented Jun 30, 2023

#633 talks about the Zc* sub-extensions; this issue concerns the Zb* sub-extensions....

perhaps the data-sheet could not only list the extensions currently supported, but those on (or NOT on) the roadmap....

@stnolting
Copy link
Owner

Oh sorry, seems like I have mixed up something 😅

B vs. Zb* is something I need to take care of because the B extensions basically does not exist (anymore): riscv/riscv-bitmanip#183

So we should replace CPU_EXTENSION_RISCV_B by several CPU_EXTENSION_RISCV_Zb* generics to fine tune the bitmanip extension. Actually, this fine-grained tuning is already implemented:

-- Sub-extension configuration ----------------------------
-- Note that this configurations does NOT effect the CPU's (illegal) instruction decoding logic!
constant zbb_en_c : boolean := true;
constant zba_en_c : boolean := true;
constant zbc_en_c : boolean := true;
constant zbs_en_c : boolean := true;

But theses switches are not propagated to the top nor to the control unit to check for legal/illegal instructions.

@stnolting
Copy link
Owner

The B ISA extension has been ratified in April 2024 (https://wiki.riscv.org/display/HOME/Ratified+Extensions). It consists of the Zba, Zbb and Zbs sub-extensions, which is/are implemented by the core (see #869). So I think this can be closed now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request HW hardware-related risc-v compliance Modification to comply with official RISC-V specs.
Projects
None yet
Development

No branches or pull requests

2 participants