RISC-V 特权 ISA 规范 v1.10 中定义的机器、[Supervisor] 和 [User] 模式的可选中断和异常处理。
移位指令的两种实现:单周期(全桶式移位器)和shiftNumber周期
每个阶段可以有可选的旁路或互锁危险逻辑
Linux 兼容(SoC:https : //github.com/enjoy-digital/linux-on-litex-vexriscv)
Zephyr兼容
FreeRTOS 端口
下面是运行的最高主频及消耗的资源:
VexRiscv small (RV32I, 0.52 DMIPS/Mhz, no datapath bypass, no interrupt) ->
Artix 7 -> 243 Mhz 504 LUT 505 FF
Cyclone V -> 174 Mhz 352 ALMs
Cyclone IV -> 179 Mhz 731 LUT 494 FF
iCE40 -> 92 Mhz 1130 LC
VexRiscv small (RV32I, 0.52 DMIPS/Mhz, no datapath bypass) ->
Artix 7 -> 240 Mhz 556 LUT 566 FF
Cyclone V -> 194 Mhz 394 ALMs
Cyclone IV -> 174 Mhz 831 LUT 555 FF
iCE40 -> 85 Mhz 1292 LC
VexRiscv small and productive (RV32I, 0.82 DMIPS/Mhz) ->
Artix 7 -> 232 Mhz 816 LUT 534 FF
Cyclone V -> 155 Mhz 492 ALMs
Cyclone IV -> 155 Mhz 1,111 LUT 530 FF
iCE40 -> 63 Mhz 1596 LC
VexRiscv small and productive with I$ (RV32I, 0.70 DMIPS/Mhz, 4KB-I$) ->
Artix 7 -> 220 Mhz 730 LUT 570 FF
Cyclone V -> 142 Mhz 501 ALMs
Cyclone IV -> 150 Mhz 1,139 LUT 536 FF
iCE40 -> 66 Mhz 1680 LC
VexRiscv full no cache (RV32IM, 1.21 DMIPS/Mhz 2.30 Coremark/Mhz, single cycle barrel shifter, debug module, catch exceptions, static branch) ->
Artix 7 -> 216 Mhz 1418 LUT 949 FF
Cyclone V -> 133 Mhz 933 ALMs
Cyclone IV -> 143 Mhz 2,076 LUT 972 FF
VexRiscv full (RV32IM, 1.21 DMIPS/Mhz 2.30 Coremark/Mhz with cache trashing, 4KB-I$,4KB-D$, single cycle barrel shifter, debug module, catch exceptions, static branch) ->
Artix 7 -> 199 Mhz 1840 LUT 1158 FF
Cyclone V -> 141 Mhz 1,166 ALMs
Cyclone IV -> 131 Mhz 2,407 LUT 1,067 FF
VexRiscv full max perf (HZ*IPC) -> (RV32IM, 1.38 DMIPS/Mhz 2.57 Coremark/Mhz, 8KB-I$,8KB-D$, single cycle barrel shifter, debug module, catch exceptions, dynamic branch prediction in the fetch stage, branch and shift operations done in the Execute stage) ->
Artix 7 -> 200 Mhz 1935 LUT 1216 FF
Cyclone V -> 130 Mhz 1,166 ALMs
Cyclone IV -> 126 Mhz 2,484 LUT 1,120 FF
VexRiscv full with MMU (RV32IM, 1.24 DMIPS/Mhz 2.35 Coremark/Mhz, with cache trashing, 4KB-I$, 4KB-D$, single cycle barrel shifter, debug module, catch exceptions, dynamic branch, MMU) ->
Artix 7 -> 151 Mhz 2021 LUT 1541 FF
Cyclone V -> 124 Mhz 1,368 ALMs
Cyclone IV -> 128 Mhz 2,826 LUT 1,474 FF
VexRiscv linux balanced (RV32IMA, 1.21 DMIPS/Mhz 2.27 Coremark/Mhz, with cache trashing, 4KB-I$, 4KB-D$, single cycle barrel shifter, catch exceptions, static branch, MMU, Supervisor, Compatible with mainstream linux) ->
2017年图灵奖得主大卫·帕特森教授(David Patterson)领衔的RISC-V国际开源实验室(RIOS:RISC-V International Open Source Lab)发布了全球首个可运行Linux的全开源RISC-V微型电脑系统PicoRio项目,用于构建更透明、低功耗、定制能力强的高效能边缘计算平台。PicoRio最大的特点是从CPU设计,到PCB电路板设计,再到操作系统核心软件全部开源,核心架构使用最新的开源RISC-V指令集技术。除高质量工业级的开源IP之外,PicoRio还将提供开源的参考SoC设计,以及详尽的集成文档。PicoRio基于开源的处理器,拥有许多IP的支持。在软件方面,PicoRio设计了一个整体软件架构,具有丰富的操作系统环境以及其他程序的支持,因此拥有一个强大的软件生态。PicoRio的发布,标志着RIOS实验室进入了实际产出的阶段。之后,RIOS实验室将致力于在RISC-V生态下打造更开源、更低功耗和更安全的软硬件生态,并负责维护整个PicoRio的硬件系统和软件架构。