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

--cpu-type=cv32e40s is missing on supported CPU list #1591

Open
weik56100 opened this issue Feb 8, 2023 · 3 comments
Open

--cpu-type=cv32e40s is missing on supported CPU list #1591

weik56100 opened this issue Feb 8, 2023 · 3 comments

Comments

@weik56100
Copy link

Hello to all,

I am trying to implement the cv32e40s in Litex.
The Litex hub "pythondata-cpu-cv32e40s" has already been done last year:
https://github.com/litex-hub/pythondata-cpu-cv32e40s

I followed this little guide to try to do it manually based on the cv32e40p and cv32e41p:
http://pcotret.gitlab.io/blog/processor_in_litex/

But shouldn't it already appear in the list just by installing Litex without anything else?
Because the cv32e40p and cv32e41p are present.
Capture d’écran du 2023-02-08 13-33-06

@enjoy-digital
Copy link
Owner

Hello @weik56100,

It seems cv32e40s support has not been integrated in LiteX. We would need to add it to https://github.com/enjoy-digital/litex/tree/master/litex/soc/cores/cpu. Have you create a wrapper based on the other cv32 variants? Happy to review and merge if someone create the PR.

@pcotret
Copy link
Contributor

pcotret commented Apr 2, 2024

Came back to this issue as I was interested in other OpenHwGroup cores.
There are several errors related to a uvm_error directive during Verilator model compilation. For instance :

$ litex_sim --cpu-type=cv32e40s
  134 |         `uvm_error("Alignment buffer SVA",
      |         ^~~~~~~~~~
        /opt/litex_install/pythondata-cpu-cv32e40s/pythondata_cpu_cv32e40s/system_verilog/bhv/cv32e40s_wrapper.sv:17:1: ... note: In file included from 'cv32e40s_wrapper.sv'
%Error: /opt/litex_install/pythondata-cpu-cv32e40s/pythondata_cpu_cv32e40s/system_verilog/sva/cv32e40s_alignment_buffer_sva.sv:146:9: Define or directive not defined: '`uvm_error'
                                                                                                                                    : ... Suggested alternative: '`error'

I'll try to solve it later this week. At least, for an initial support (without testing 40S specific modules).

@pcotret
Copy link
Contributor

pcotret commented Apr 2, 2024

openhwgroup/core-v-verif#2362

A few weeks ago, I was blocked while trying to emulate the CV32E40S with their core-v-verif verification environment.

I assume there's still some work to make it run with LiteX, even for a simple litex_sim test.

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

No branches or pull requests

3 participants