pulp-platform / cheshire

A minimal Linux-capable 64-bit RISC-V SoC built around CVA6
Other
190 stars 42 forks source link
asic fpga riscv rtl-design simulation systemverilog

Cheshire

Cheshire is a minimal Linux-capable host platform built around the RISC-V CVA6 core. Its goal is to provide a lightweight, configurable, autonomously booting host to systems that need one, from minimal Linux-capable SoCs to manycore compute accelerators.

Cheshire is developed as part of the PULP project, a joint effort between ETH Zurich and the University of Bologna.

Quick Start

If you are impatient and have all needed dependencies, you can run make all, then start QuestaSim in target/sim/vsim and run a simulation by typing:

set BINARY ../../../sw/tests/helloworld.spm.elf
source compile.cheshire_soc.tcl
source start.cheshire_soc.tcl
run -all

License

Unless specified otherwise in the respective file headers, all code checked into this repository is made available under a permissive license. All hardware sources and tool scripts are licensed under the Solderpad Hardware License 0.51 (see LICENSE) or compatible licenses. Register file code (e.g. hw/regs/*.sv) is generated by a fork of lowRISC's regtool and licensed under Apache 2.0. The USB OHCI controller (hw/future/UsbOhciAxi4.v) is generated from the SpinalHDL library licensed under the MIT license. All software sources are licensed under Apache 2.0.

Publication

If you use Cheshire in your work, you can cite us:

@article{ottaviano2023cheshire,
      title   = {Cheshire: A Lightweight, Linux-Capable RISC-V Host
                 Platform for Domain-Specific Accelerator Plug-In},
      author  = {Alessandro Ottaviano and Thomas Benz and
                 Paul Scheffler and Luca Benini},
      journal = {IEEE Transactions on Circuits and Systems II: Express Briefs},
      year    = {2023},
      volume  = {70},
      number  = {10},
      pages   = {3777-3781},
      doi     = {10.1109/TCSII.2023.3289186}
}