• Stars
    star
    210
  • Rank 187,585 (Top 4 %)
  • Language SystemVerilog
  • License
    Other
  • Created almost 4 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

4 stage, in-order, compute RISC-V core based on the CV32E40P

OpenHW Group CORE-V CV32E40X RISC-V IP

CV32E40X is a small and efficient, 32-bit, in-order RISC-V core with a 4-stage pipeline that implements the following instruction set architecture:

  • RV32[I|E]
  • [A]
  • [M|Zmmul]
  • Zca_Zcb_Zcmp_Zcmt
  • [Zba_Zbb_Zbs|Zba_Zbb_Zbc_Zbs]
  • Zicntr
  • Zihpm
  • Zicsr
  • Zifencei
  • [Xif]

The CV32E40X core is aimed at compute intensive applications and offers a general purpose extension interface by which custom instructions can be added external to the core.

It started its life as a fork of the OpenHW CV32E40P core that in its turn was based on the RI5CY core from the PULP platform team.

Documentation

The CV32E40X user manual can be found in the docs folder and it is captured in reStructuredText, rendered to html using Sphinx. These documents are viewable using readthedocs and can be viewed here.

Verification

The verification environment for the CV32E40X is not in this Repository.

The verification environment for this core as well as other cores in the OpenHW Group CORE-V family is at the core-v-verif repository on GitHub.

The Makefiles supported in the core-v-verif project automatically clone the appropriate version of the CV32E40X RTL sources.

Constraints

Example synthesis constraints for the CV32E40X are provided.

Contributing

We highly appreciate community contributions.

To ease our work of reviewing your contributions, please:

  • Review CONTRIBUTING.
  • Create your own fork to commit your changes and then open a Pull Request.
  • Split large contributions into smaller commits addressing individual changes or bug fixes. Do not mix unrelated changes into the same commit!
  • If asked to modify your changes, do fixup your commits and rebase your branch to maintain a clean history.

When contributing SystemVerilog source code, please try to be consistent and adhere to the lowRISC Verilog coding style guide.

To get started, please check out the "Good First Issue" list.

Commit Messages

Please take the time to write meaningful commit messages. The following are adopted from lowRISC Ibex:

  • Create your branch to commit your changes and then create a Pull Request.
  • Separate subject from body with a blank line.
  • Limit the subject line to 50 characters.
  • Capitalize the subject line.
  • Do not end the subject line with a period.
  • Use the imperative mood in the subject line.
  • Use the present tense ("Add feature" not "Added feature").
  • Wrap the body at 72 characters.
  • Use the body to explain what and why vs. how.

For a detailed why and how please refer to one of the multiple resources regarding git commit messages.

If you use vi for your commit message, consider to put the following snippet inside your ~/.vimrc:

autocmd Filetype gitcommit setlocal spell textwidth=72

Issues and Troubleshooting

If you find any problems or issues with CV32E40X or the documentation, please check out the issue tracker and create a new issue if your problem is not yet tracked.

More Repositories

1

cva6

The CORE-V CVA6 is an Application class 6-stage RISC-V CPU capable of booting Linux
Assembly
2,230
star
2

cv32e40p

CV32E40P is an in-order 4-stage RISC-V RV32IMFCXpulp CPU based on RI5CY from PULP-Platform
SystemVerilog
941
star
3

core-v-verif

Functional verification project for the CORE-V family of RISC-V cores.
Assembly
430
star
4

cvfpu

Parametric floating-point unit with support for standard RISC-V formats and operations as well as transprecision formats.
SystemVerilog
426
star
5

force-riscv

Instruction Set Generator initially contributed by Futurewei
C++
259
star
6

cvw

CORE-V Wally is a configurable RISC-V Processor associated with RISC-V System-on-Chip Design textbook. Contains a 5-stage pipeline, support for A, B, C, D, F, M and Q extensions, and optional caches, BP, FPU, VM/MMU, AHB, RAMs, and peripherals.
SystemVerilog
251
star
7

core-v-cores

CORE-V Family of RISC-V Cores
202
star
8

programs

Documentation for the OpenHW Group's set of CORE-V RISC-V cores
HTML
187
star
9

core-v-mcu

This is the CORE-V MCU project, hosting CORE-V's embedded-class cores.
SystemVerilog
165
star
10

cv32e40s

4 stage, in-order, secure RISC-V core based on the CV32E40P
SystemVerilog
128
star
11

cva6-sdk

CVA6 SDK containing RISC-V tools and Buildroot
Makefile
59
star
12

core-v-xif

RISC-V eXtension interface that provides a generalized framework suitable to implement custom coprocessors and ISA extensions
SystemVerilog
59
star
13

cva5

The CORE-V CVA5 is an Application class 5-stage RISC-V CPU specifically targetting FPGA implementations.
SystemVerilog
59
star
14

cv-hpdcache

RTL sources of the High-Performance L1 Dcache (HPDcache) for OpenHW CV cores
SystemVerilog
51
star
15

cv32e41p

4 stage, in-order, secure RISC-V core based on the CV32E40P with Zfinx and Zce ISA extentions
SystemVerilog
26
star
16

corev-gcc

C++
22
star
17

core-v-mcu-uvm

CORE-V MCU UVM Environment and Test Bench
SystemVerilog
17
star
18

openhwgroup.org

OpenHW Group is a not-for-profit, global organization driven by its members and individual contributors where hardware and software designers collaborate in the development of open-source cores, related IP, tools and software. OpenHW provides an infrastructure for hosting high quality open-source HW developments in line with industry best practices.
HTML
16
star
19

core-v-sw

Main Repo for the OpenHW Group Software Task Group
15
star
20

riscv_vm

Instructions to import Ubuntu guest Virtual Machine for RISC-V development for the VEGA board
Shell
14
star
21

core-v-sdk

Java
14
star
22

core-v-mcu-devkit

This is the CORE-V MCU DevKit project, hosting the open-source artifacts for the CORE-V MCU Development Kit.
HTML
13
star
23

corev-llvm-project

12
star
24

tristan-isolde-unified-access-page

Unified Access Page for the TRISTAN project
HTML
11
star
25

riscv-ovpsim-corev

11
star
26

cv32e40x-dv

CV32E40X Design-Verification environment
Assembly
11
star
27

corev-binutils-gdb

C
9
star
28

core-v-mcu-cli-test

Eclipse/FreeRTOS/core-v-mcu example program
C
9
star
29

core-v-ide-cdt

Java
9
star
30

cva6-platform

CVA6-platform is a multicore CVA6 with CV-MESH software and regression platform
9
star
31

advanced-riscv-verification-methodologies

Advanced Verification Methodologies for RISC-V and related IP
SystemVerilog
7
star
32

cv-hpdcache-verif

Verification environment for the OpenHW Group's CORE-V High Performance Data Cache controller.
SystemVerilog
5
star
33

obi

Repository that maintain the OpenBus Interface spec
4
star
34

core-v-freertos

C
4
star
35

cv-mesh

3
star
36

u-boot

Unofficial development fork of U-Boot
C
2
star
37

cvw-arch-verif

The purpose of the repo is to support CORE-V Wally architectural verification
SystemVerilog
2
star
38

core-v-freertos-kernel

C
1
star
39

downloads.openhwgroup.org

downloads.openhwgroup.org
SCSS
1
star
40

osdforum.org

The Open Source Developer Forum is a workshop that brings open source software and hardware (chips, boards and systems) developers together to collaborate and learn.
HTML
1
star