The CORE-V CVE2 is a small 32 bit RISC-V CPU core (RV32IMC/EMC) with a two stage pipeline, based on the original zero-riscy work from ETH Zurich and Ibex work from lowRISC.
Find a file
2017-01-10 10:47:08 +01:00
docs/datasheet Fix some typos 2016-09-02 09:22:33 +02:00
include Improve config scripts to not use small IF as it is bigger 2017-01-10 10:14:17 +01:00
scripts Fix bug in config 2017-01-10 10:47:08 +01:00
tb/serDiv Fix some typos 2016-09-02 09:22:33 +02:00
.gitignore Fix some issues and cleanup 2016-12-30 00:26:15 +01:00
alu.sv Fix missing config region declarations 2017-01-09 15:17:21 +01:00
alu_div.sv Bit of beautify 2016-04-12 11:11:45 +02:00
alu_simplified.sv Do some cleanup in the headers 2016-12-29 22:01:39 +01:00
alu_simplified_splitted.sv Fix bug in splitted ALU 2017-01-06 15:08:54 +01:00
compressed_decoder.sv beautify banners 2016-06-13 16:25:46 +02:00
controller.sv Simplify controller 2017-01-09 21:24:44 +01:00
cs_registers.sv Fix syntax 2017-01-07 16:36:58 +01:00
debug_unit.sv Merge ID and EX with MERGE_ID_EX 2017-01-07 14:33:33 +01:00
decoder.sv Fix wrong jump calculation in case of JALR 2017-01-09 22:21:40 +01:00
ex_stage.sv Fix missing config region declarations 2017-01-09 15:17:21 +01:00
exc_controller.sv Small fix in exc controller 2016-10-17 13:12:36 +02:00
hwloop_controller.sv moved to package based riscv core 2016-06-03 14:04:44 +02:00
hwloop_regs.sv moved to package based riscv core 2016-06-03 14:04:44 +02:00
id_stage.sv Fix wrong jump calculation in case of JALR 2017-01-09 22:21:40 +01:00
if_stage.sv Use only aligned version of prefetcher if ONLY_ALIGNED 2017-01-10 10:26:44 +01:00
LICENSE Added LICENSE file and started adding headers 2015-12-11 17:20:07 +01:00
load_store_unit.sv Try to remove register buffers 2017-01-09 10:59:11 +01:00
mult.sv Add missing whitespace in section title of multiplier module 2016-10-17 11:02:19 +02:00
prefetch_buffer.sv Rename hardware loop config region. Add sample configurations to script folder 2016-12-29 22:16:27 +01:00
prefetch_buffer_only_aligned.sv Remove non-used signal in Prefetcher 2017-01-07 16:26:42 +01:00
prefetch_buffer_small.sv Reformat prefetch_buffer_small.sv 2017-01-07 14:58:54 +01:00
prefetch_L0_buffer.sv Rename hardware loop config region. Add sample configurations to script folder 2016-12-29 22:16:27 +01:00
README.md Better language in README concerning configuration 2016-12-31 18:51:48 +01:00
register_file.sv Do some cleanup in the headers 2016-12-29 22:01:39 +01:00
register_file_ff.sv Do some cleanup in the headers 2016-12-29 22:01:39 +01:00
riscv_core.sv Remove some unneeded signals and rename jump_in_ex to jal_in_ex in case of NO_JUMP_ADDER 2017-01-09 14:28:00 +01:00
riscv_simchecker.sv Revert simchecker 2017-01-05 00:23:37 +01:00
riscv_tracer.sv Fix missing config region declarations 2017-01-09 15:17:21 +01:00
src_files.yml Add parts of splitted adder 2017-01-06 10:49:42 +01:00

littleRISCV: RISC-V Core

littleRISCV is a smaller 4-stage RISC-V core. It is a more configurable version of the RI5CY core, which started its life as a fork of the OR10N CPU core (OpenRISC ISA).

littleRISCV fully implements the RV32I instruction set, the multiply instruction from RV32M, RV32C and many custom instruction set extensions that improve its performance for signal processing applications.

Additional features include

  • hardware loop
  • post/pre increment
  • vector operations (RV32V)
  • bit operations (RV32B)
  • shuffling
  • rotate

and many more.

It can be configured to remove many non-needed compontents (e.g. multiplier), and enable more area-efficient versions of the modules (e.g. a smaller prefetch buffer, RV32E) for use as a lighter control core.

The core was developed as part of the PULP platform for energy-efficient computing and is currently used as the processing core for PULP and PULPino.

Configuration

The core can be configured by enabling and disabling capabilities in /include/riscv_config.sv. You can find some example configurations in /scripts/example_configs/.

To overwrite, test, synthesize, and generate a clean version of all these configurations use the tool scripts/ri5cly-manage.py.

Just open it's help for more information

python3 ./scripts/ri5cly-manage.py --help

Documentation

A datasheet that explains the most important features of the core can be found in docs/datasheet/.

It is written using LaTeX and can be generated as follows

make all