Coder Social home page Coder Social logo

silabs-oysteink / cv32e41p Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openhwgroup/cv32e41p

0.0 0.0 0.0 5.67 MB

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

License: Other

Emacs Lisp 0.05% SystemVerilog 87.36% Shell 1.31% Python 1.39% Makefile 1.27% Assembly 1.11% C 6.64% Tcl 0.87%

cv32e41p's Introduction

Build Status

OpenHW Group CORE-V CV32E41P RISC-V IP

CV32E41P is a small and efficient, 32-bit, in-order RISC-V core with a 4-stage pipeline that implements the RV32IM[F,Zfinx]C[Zce] instruction set architecture, and the Xpulp custom extensions for achieving higher code density, performance, and energy efficiency [1], [2]. It started its life as a fork of the CV32E40P core to implement the official RISC-V Zfinx and Zce ISA extensions.

A first implementation of the Zce ISA extensions has been explored in [3] to investigate code reduction benefits.

Documentation

The CV32E41P 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 CV32E41P is not in this Repository. There is a small, simple testbench here which is useful for experimentation only and should not be used to validate any changes to the RTL prior to pushing to the master branch of this repo.

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 cv32e41p RTL sources.

Constraints

Example synthesis constraints for the CV32E41P are provided.

Contributing

We highly appreciate community contributions. We are currently using the lowRISC contribution guide. To ease our work of reviewing your contributions, please:

  • 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!
  • Write meaningful commit messages. For more information, please check out the the Ibex contribution guide.
  • 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.

The RTL code has been formatted with "Verible" v0.0-1149-g7eae750.

Issues and Troubleshooting

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

References

  1. Gautschi, Michael, et al. "Near-Threshold RISC-V Core With DSP Extensions for Scalable IoT Endpoint Devices." in IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 25, no. 10, pp. 2700-2713, Oct. 2017

  2. Schiavone, Pasquale Davide, et al. "Slow and steady wins the race? A comparison of ultra-low-power RISC-V cores for Internet-of-Things applications." 27th International Symposium on Power and Timing Modeling, Optimization and Simulation (PATMOS 2017)

  3. Perotti, Matteo, et al. "HW/SW approaches for RISC-V code size reduction." Workshop on Computer Architecture Research with RISC-V (CARRV 2020). 2020.

cv32e41p's People

Contributors

aignacio avatar andreaskurth avatar antmas avatar atraber avatar bluewww avatar davideschiavone avatar dawidzim avatar fabianschuiki avatar florent-gwt avatar francescoconti avatar gautschimi avatar gmarkall avatar gtumbush avatar haugoug avatar jeremybennett avatar jm4rtin avatar lucabertaccini avatar mikeopenhwgroup avatar mp-17 avatar owenchj0 avatar razer6 avatar samuelriedel avatar silabs-arjanb avatar silabs-oysteink avatar silabs-paulz avatar stmach avatar strichmo avatar svenstucki avatar tobiaskaiser avatar wallento avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.