Skip to content
This repository has been archived by the owner on Nov 24, 2023. It is now read-only.

Remove PULP #13

Open
abukharmeh opened this issue Feb 7, 2022 · 2 comments
Open

Remove PULP #13

abukharmeh opened this issue Feb 7, 2022 · 2 comments

Comments

@abukharmeh
Copy link

abukharmeh commented Feb 7, 2022

PULP conflicts with Zce instructions, and increase the complexity of the core while not being used, thus it should be removed.

@abukharmeh abukharmeh changed the title Remove PULP instructions Remove PULP Feb 7, 2022
@davideschiavone
Copy link
Contributor

Hello @abukharmeh -
we initially agreed to keep the PULP extensions, that's why we have the "P" in the name of this core.
Without the PULP extensions, this core would be pretty much a subset of the existing CV32E40X core -
Although the verification of the functionality of these instructions is out of the scope of this specific project,
following projects may be interested in having the PULP ISA verified - especially after the CV32E40P project 2 (aka v2) completion, that aims to verify at TRL5 the PULP instructions.

May I ask you to report which instructions collide with the Zce?

As you may know, the PULP instructions will be relocated following the scheme proposed here: openhwgroup/cv32e40p#452, i.e. using only CUSTOM opcodes.

If they still collide (i.e., the Zce overlaps with the CUSTOM opcodes), we can decide to remove in the future those PULP instructions that indeed collide and keep the others. In that case, we can open an issue saying which instructions collide with the new proposed encoding so that we can remove them in the future.

For this project, let's just assume that the PULP parameter is always set to 0 (adding an assert pointing to this discussion for example) - but let's not removed them.

Let's keep this issue open until both this openhwgroup/cv32e40p#452 and your analysis have been completed.

@tariqkurd-repo
Copy link

The final version of Zce will only contain 16-bit encodings - so the conflict will be resolved.
See this tagged release: https://github.com/riscv/riscv-code-size-reduction/releases/tag/V0.70.1-TOOLCHAIN-DEV
Currently we're waiting for the toolchain to be updated to this version, before moving the core forwards.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants