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

Implementing RV32C instruction #5

Open
WeiCheng14159 opened this issue Dec 31, 2020 · 9 comments
Open

Implementing RV32C instruction #5

WeiCheng14159 opened this issue Dec 31, 2020 · 9 comments

Comments

@WeiCheng14159
Copy link
Contributor

Hi,

I saw you put the implementation of RV32C on the TODO list, are you working on this topic now ?
We're a group of students from CSIE dept NCKU and want to contribute to this repo. This is part of our term project assigned by jserv. We're still working on it, some of our work (in progress) can be found here ,and work done by seniors can be found here

Many thanks !

@kuopinghsu
Copy link
Owner

I am glad to see that this is helpful, and your contributions are welcome. The implementation of RV32C is not my top priority. Maybe I will do ISS first to support RV32C, and then pass the compliance test to ensure that the necessary porting is completed.

@WeiCheng14159
Copy link
Contributor Author

WeiCheng14159 commented Jan 8, 2021

Thanks for your feedback !
It's extremely helpful for students to pick up concept on textbook when there is a working riscv core available
This is by far the most concise and well supported (on system level) RV32 core online
Thank you again for making this open source

I have been working on RV32C support on srv32 for a week and have a working implementation that passes all RV32IMC compliance test (v1.0). My work can be fonud in this branch and explain in details here

But my implementation lost 50% of performance when dealing with RV32C instructions ;(
There are definitely room for improvement and my code needs to be polished
Maybe I will open a pull request when finish. No hurry ;)

@kuopinghsu
Copy link
Owner

I have added RV32C support to the ISS simulator and passed the compliance test v1.

@WeiCheng14159
Copy link
Contributor Author

👍 I will try to merge it this week

@jserv
Copy link
Contributor

jserv commented Nov 29, 2021

Is it ready to close this issue?

@kuopinghsu
Copy link
Owner

kuopinghsu commented Nov 29, 2021

Is it ready to close this issue?

Not yet. Only the ISS simulator supports RV32C, not RTL. I will keep this issue open until RTL fully supports RV32C.

@jserv
Copy link
Contributor

jserv commented Sep 28, 2022

FYI: RISCVIMC is a fork of srv32 and implements compressed extension. See its report.

@kuopinghsu
Copy link
Owner

kuopinghsu commented Sep 28, 2022 via email

@kuopinghsu
Copy link
Owner

kuopinghsu commented Sep 29, 2022 via email

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

No branches or pull requests

3 participants