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

simulator #109

Open
rcvlr opened this issue Nov 24, 2023 · 5 comments
Open

simulator #109

rcvlr opened this issue Nov 24, 2023 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@rcvlr
Copy link

rcvlr commented Nov 24, 2023

Hello,
we're using the cv32e40p on FPGA and building FW for it using the corev-gcc toolchain. We added a custom instruction and I could add it to corev-gcc so we can actually use it (btw, thanks for the great work).

I was now looking for a simulator (doesn't have to be cycle-accurate), and I stumble upon the gdb sim target for risc-v and the one from Imperas. From what I understood so far, the risc-v gdb simulator doesn't support any corev extension, which are on the other hand supported by the Imperas simulator. If I understand correctly, however, to add a custom instruction the Imperas simulator requires to get in touch with Imperas, as the simulator is not open source.

On the simulator landscape is also Spike, which seems to be straightforward to extend with new instructions. I was wondering if there is any reason why the corev extensions are not present in Spike, and what would be in your opinion the best way to add corev and custom extensions to an open source simulator.

@MaryBennett
Copy link
Collaborator

We are working on a software solution.

@jeremybennett jeremybennett added the enhancement New feature or request label Jun 21, 2024
@jeremybennett
Copy link
Collaborator

It would be perfectly feasible to extend the GDB simulator, but I know of no one willing to work on this. Similarly it would be possible to add CORE-V to Spike, although I do not know that project's position on accepting vendor extensions upstream.

There is a project started by Wei Wei of ISCAS PLCT to add CORE-V support to QEMU, but this needs someone to pick up the work.

Finally there is a proposal in preparation for OpenHW Group to develop a generic Verilator model for all RISC-V cores, including CV32E40Pv2 with all the extensions. This proposal is expected to be considered by the OpenHW Technical Working Group in July or August.

I'll leave this issue open, but tag as an enhancement.

@pz9115
Copy link
Contributor

pz9115 commented Jul 21, 2024

Hi Jeremy, I'm very glad to do this work on GDB part and will try to finish this work within two weeks.

@pz9115
Copy link
Contributor

pz9115 commented Jul 22, 2024

Supports XCVmem load/store instructions based on qemu 9.0,

openhwgroup/corev-qemu#2

@pz9115
Copy link
Contributor

pz9115 commented Aug 16, 2024

Supports XCVbitmanip instructions, openhwgroup/corev-qemu@6dffa90

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants