A Survey on RISC-V-Based Machine Learning Ecosystem
Abstract
:1. Introduction
2. RISC-V Background and Challenges
2.1. Design Challenges
- Licensing: The OSH definition is curated by the open-source hardware association (OSHWA), which extends not only to electronics, but also to machines and to other physical objects. The definition enables, although without imposing, new designs based on OSH to be released into the public domain where anyone can reuse, modify, and redistribute the designs. The CERN Open Hardware Licence version 2 consists of three variants (strongly-reciprocal, weakly-reciprocal, and permissive) [19] aligning with open-source software licensing schemes. In general, licensing has been providing permissions to individuals or commercial entities to reuse a design and potentially make a new product out of it. OSHWA offers a certification program for products commercially released under a OSH license. More in depth, the taxonomy of the licenses entail the free and permissive open-source licenses from the academia, such as the MIT, BSD and Apache 2.0 licenses, as well as proprietary, or non-permissive, licenses usually bound with specific IP hardware blocks, or entire designs;
- Power consumption: The importance of power efficiency has become dominant for hardware ML accelerator designs targeted towards edge computing applications. Typically, a higher operating frequency results in higher power consumption. Another critical factor is the complexity of the design, as the power estimation for RISC-V cores have shown variations depending the core architecture, operating frequency, and voltage [13]. Hence, design optimization is imperative to achieve a notably higher power efficiency;
- Security: Hardware and physical access security is of paramount importance in modern system architectures. RISC-V, as a relatively new ISA, has not yet gained research maturity in all the related security topics, such as memory protection, encryption verification, side-channel attack prevention, and control flow integrity [15]. However, RISC-V has settled a broad range of security features, which are profound in the hardware architecture, as well as many custom security extensions have been introduced to the RISC-V ISA. Further research in the aforementioned security topics and similar design considerations are, therefore, required;
- Interoperability: RISC-V, as a new ISA, has been far from establishing a universal adoption in terms of software development and operating system (OS) support. Specific RISC-V-based SoC boards are supported by some Linux flavors and real-time OS (RTOS) [20,21] and software developers must re-build existing code or start from scratch. The existence of the RISC-V GNU compiler toolchain [22] have supported developers in building new, or re-compile existing, C/C++ programs, as well as enable OS kernel support and device drivers for RISC-V hardware. Hence, this process has been non-automatic and strenuous. Such an example, is the porting of the Android open-source project (AOSP) repositories to incorporate RISC-V hardware support [23].
2.2. RISC-V ISA Set of Extensions
3. RISC-V Implementations
3.1. CPU Cores and SoCs
3.2. Commercial Cores
3.3. Resource Utilization
4. Software Frameworks and Stacks
4.1. TVM
“The vision of the Apache TVM Project is to host a diverse community of experts and practitioners in machine learning, compilers, and systems architecture to build an accessible, extensible, and automated open-source framework that optimizes current and emerging machine learning models for any hardware platform”.
4.2. CFU Playground
4.3. Chipyard
4.4. Open ESP
“An open-source research platform for heterogeneous system-on-chip design that combines a scalable tile-based architecture and a flexible SLD methodology”.
4.5. NVDLA
5. Case Studies of RISC-V in Machine Learning
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Abbreviations
CPU | Central Processing Unit |
MCU | Micro Controller Unit |
UART | Universal Asynchronous Receiver-Transmitter |
SPI | Serial Peripheral Interface |
MOPS | Milion Operations Per Second |
GOPS | Giga Operations Per Second |
TOPS | Tera Operations Per Second |
SDK | Software Development Kit |
References
- Kalapothas, S.; Flamis, G.; Kitsos, P. Efficient Edge-AI Application Deployment for FPGAs. Information 2022, 13, 279. [Google Scholar] [CrossRef]
- Kalapothas, S.; Flamis, G.; Kitsos, P. Importing Custom DNN Models on FPGAs. In Proceedings of the 2021 10th Mediterranean Conference on Embedded Computing (MECO), Budva, Montenegro, 7–10 June 2021; pp. 1–4. [Google Scholar]
- Kane, G.; Heinrich, J. MIPS RISC Architectures; Prentice-Hall, Inc.: Hoboken, NJ, USA, 1992. [Google Scholar]
- Karkhanis, T.; Moreira, J.E. IBM Power Architecture. 2011. Available online: https://dominoweb.draco.res.ibm.com/reports/rc25146.pdf (accessed on 9 October 2022).
- Agrawal, A.; Garner, R.B. SPARC: A scalable processor architecture. Future Gener. Comput. Syst. 1992, 7, 303–309. [Google Scholar] [CrossRef]
- McAllister, N. Intel x86 CONQUERED THE WORD. (cover story). InfoWorld 2005, 27, 24–31. [Google Scholar]
- Hussain, S.M.; Wahid, A.; Shah, M.A.; Akhunzada, A.; Khan, F.; Arshad, S.; Ali, I. Seven Pillars to Achieve Energy Efficiency in High-Performance Computing Data Centers. In Recent Trends and Advances in Wireless and IoT-Enabled Networks; EAI/Springer Innovations in Communication and Computing; Jan, M., Khan, F., Alam, M., Eds.; Springer: Cham, Switzerland, 2019; pp. 93–105. [Google Scholar] [CrossRef]
- OpenRISC Project. Available online: https://openrisc.io/ (accessed on 7 October 2022).
- OpenSPARC Overview. Available online: https://www.oracle.com/servers/technologies/opensparc-overview.html (accessed on 7 October 2022).
- IEEE Std 1800-2005; IEEE Standard for SystemVerilog: Unified Hardware Design, Specification and Verification Language. IEEE: Piscataway, NJ, USA, 2005; pp. 1–648. [CrossRef]
- Asanović, K.; Patterson, D.A. Instruction sets should be free: The case for risc-v. In Technical Report UCB/EECS-2014-146; EECS Department, University of California: Berkeley, CA, USA, 2014. [Google Scholar]
- RISC-V Foundation. Available online: https://live-risc-v.pantheonsite.io/technical/technical-forums/ (accessed on 7 October 2022).
- Dörflinger, A.; Albers, M.; Kleinbeck, B.; Guan, Y.; Michalik, H.; Klink, R.; Blochwitz, C.; Nechi, A.; Berekovic, M. A comparative survey of open-source application-class RISC-V processor implementations. In Proceedings of the 18th ACM International Conference on Computing Frontiers, Virtual Event, Italy, 11–13 May 2021; pp. 12–20. [Google Scholar] [CrossRef]
- Schiavone, P.D.; Conti, F.; Rossi, D.; Gautschi, M.; Pullini, A.; Flamand, E.; Benini, L. Slow and steady wins the race? A comparison of ultra-low-power RISC-V cores for Internet-of-Things applications. In Proceedings of the 2017 27th International Symposium on Power and Timing Modeling, Optimization and Simulation (PATMOS), Thessaloniki, Greece, 25–27 September 2017; pp. 1–8. [Google Scholar] [CrossRef]
- Lu, T. A survey on risc-v security: Hardware and architecture. arXiv 2021, arXiv:2107.04175. [Google Scholar]
- Di Mascio, S.; Menicucci, A.; Gill, E.; Furano, G.; Monteleone, C. Leveraging the Openness and Modularity of RISC-V in Space. J. Aerosp. Inf. Syst. 2019, 16, 454–472. [Google Scholar] [CrossRef]
- Palmer, C. Simplified Instruction Set Architecture Accelerates Chip Development—And Wins the 2022 Draper Prize. Engineering 2022, 17, 7–9. [Google Scholar] [CrossRef]
- Recommendations and Roadmap for European Sovereignty on Open Source Hardware, Software and RISC-V Technologies. Available online: https://digital-strategy.ec.europa.eu/en/library/recommendations-and-roadmap-european-sovereignty-open-source-hardware-software-and-risc-v (accessed on 9 October 2022).
- CERN Open Hardware License Version 2. Available online: https://ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2 (accessed on 15 October 2022).
- RISC-V Ubuntu Wiki. Available online: https://wiki.ubuntu.com/RISC-V (accessed on 15 October 2022).
- Using FreeRTOS on RISC-V Microcontrollers. Available online: https://www.freertos.org/Using-FreeRTOS-on-RISC-V.html (accessed on 15 October 2022).
- RISC-V GNU Compiler Toolchain. Available online: https://github.com/riscv-collab/riscv-gnu-toolchain (accessed on 15 October 2022).
- RISC-V Android Port. Available online: https://github.com/riscv-android-src/riscv-android (accessed on 15 October 2022).
- Charles Papon with VexRiscv Was Awarded $6000 USD. Check out VexRiscv on GitHub. Available online: https://github.com/SpinalHDL/VexRiscvSoftcoreContest2018/ (accessed on 20 October 2022).
- A FPGA Friendly 32 Bit RISC-V CPU Implementation. Available online: https://github.com/SpinalHDL/VexRiscv (accessed on 20 October 2022).
- Scala Based HDL. Available online: https://github.com/SpinalHDL/SpinalHDL (accessed on 20 October 2022).
- Asanovic, K.; Avizienis, R.; Bachrach, J.; Beamer, S.; Biancolin, D.; Celio, C.; Cook, H.; Dabbelt, D.; Hauser, J.; Izraelevitz, A.; et al. The Rocket Chip Generator; Technical Report UCB/EECS-2016-17; EECS Department, University of California: Berkeley, CA, USA, 2016; Volume 4. [Google Scholar]
- Bachrach, J.; Vo, H.; Richards, B.; Lee, Y.; Waterman, A.; Avižienis, R.; Wawrzynek, J.; Asanović, K. Chisel: Constructing Hardware in a Scala Embedded Language. In Proceedings of the 49th Annual Design Automation Conference (DAC ’12), San Francisco, CA, USA, 3–7 June 2012; pp. 1216–1225. [Google Scholar] [CrossRef]
- Asanovic, K.; Patterson, D.A.; Celio, C. The Berkeley Out-of-Order Machine (Boom): An Industry-Competitive, Synthesizable, Parameterized Risc-V Processor; Technical Report; University of California: Berkeley, CA, USA, 2015. [Google Scholar]
- Zhao, J.; Korpan, B.; Gonzalez, A.; Asanovic, K. Sonicboom: The 3rd generation berkeley out-of-order machine. In Proceedings of the Fourth Workshop on Computer Architecture Research with RISC-V, Virtual Event, 29 May 2020; Volume 5. [Google Scholar]
- PicoRV32—A Size-Optimized RISC-V CPU. Available online: https://github.com/YosysHQ/picorv32 (accessed on 20 October 2022).
- The NEORV32 RISC-V Processor. Available online: https://github.com/stnolting/neorv32 (accessed on 20 October 2022).
- The Zephyr Project. Available online: https://www.zephyrproject.org/ (accessed on 20 October 2022).
- FreeRTOS—A Real-Time Operating System for Microcontrollers. Available online: https://www.freertos.org/index.html (accessed on 20 October 2022).
- NaxRiscv—An Open-Source OoO Superscalar Softcore. Available online: https://github.com/SpinalHDL/NaxRiscv (accessed on 20 October 2022).
- Kermarrec, F.; Bourdeauducq, S.; Badier, H.; Le Lann, J.C. LiteX: An open-source SoC builder and library based on Migen Python DSL. In Proceedings of the OSDA 2019, Colocated with DATE 2019 Design Automation and Test in Europe, Florence, Italy, 25–29 March 2019. [Google Scholar]
- NOEL-V—A Synthesizable VHDL Model of a Processor That Implements the RISC-V Architecture. Available online: https://www.gaisler.com/index.php/products/processors/noel-v (accessed on 20 October 2022).
- Wessman, N.J.; Malatesta, F.; Ribes, S.; Andersson, J.; García-Vilanova, A.; Masmano, M.; Nicolau, V.; Gomez, P.; Rhun, J.L.; Alcaide, S.; et al. De-RISC: A Complete RISC-V Based Space-Grade Platform. In Proceedings of the 2022 Design, Automation & Test in Europe Conference & Exhibition (DATE) (DATE ’22), Antwerp, Belgium, 14–23 March 2022; pp. 802–807. [Google Scholar]
- ORCA—RISC-V by VectorBlox. Available online: https://github.com/kammoh/ORCA-risc-v (accessed on 20 October 2022).
- SERV—The SErial RISC-V CPU. Available online: https://github.com/olofk/serv (accessed on 20 October 2022).
- VRoom! RISC-V CPU. Available online: https://github.com/MoonbaseOtago/vroom (accessed on 20 October 2022).
- Ibex Is a Small 32 Bit RISC-V CPU Core, Previously Known as Zero-Riscy. Available online: https://github.com/lowRISC/ibex (accessed on 20 October 2022).
- Rossi, D.; Conti, F.; Marongiu, A.; Pullini, A.; Loi, I.; Gautschi, M.; Tagliavini, G.; Capotondi, A.; Flatresse, P.; Benini, L. PULP: A parallel ultra low power platform for next generation IoT applications. In Proceedings of the 2015 IEEE Hot Chips 27 Symposium (HCS), Cupertino, CA, USA, 22–25 August 2015; pp. 1–39. [Google Scholar]
- lowRISC—Open to the Core. Available online: https://lowrisc.org/ (accessed on 20 October 2022).
- SiFive E31 Standard Core. Available online: https://www.sifive.com/cores/e31 (accessed on 20 October 2022).
- SiFive E51 Standard Core. Available online: https://static.dev.sifive.com/E51-RVCoreIP.pdf (accessed on 20 October 2022).
- PolarFire® SoC FPGA. Available online: https://www.microchip.com/en-us/products/fpgas-and-plds/system-on-chip-fpgas/polarfire-soc-fpgas (accessed on 20 October 2022).
- Chen, C.; Xiang, X.; Liu, C.; Shang, Y.; Guo, R.; Liu, D.; Lu, Y.; Hao, Z.; Luo, J.; Chen, Z.; et al. Xuantie-910: A commercial multi-core 12-stage pipeline out-of-order 64-bit high performance RISC-V processor with vector extension: Industrial product. In Proceedings of the 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA), Valencia, Spain, 30 May–3 June 2020; pp. 52–64. [Google Scholar]
- OpenXuantie—OpenC910 Core. Available online: https://github.com/T-head-Semi/openc910 (accessed on 20 October 2022).
- GD32VF103 Series—GD32 RISC-V Microcontrollers. Available online: https://www.gigadevice.com/products/microcontrollers/gd32/risc-v/mainstream-line/gd32vf103-series/ (accessed on 20 October 2022).
- Bumblebee ProcessorCore ISA. Available online: https://www.rvmcu.com/uploadfile/pdf/0/0/239.pdf (accessed on 20 October 2022).
- Nuclei N200 Series 32-Bit High Performance Processor. Available online: https://www.nucleisys.com/product/200.php (accessed on 20 October 2022).
- ESP32-SA Series Datasheet. Available online: https://www.espressif.com/sites/default/files/documentation/esp32-s2_datasheet_en.pdf (accessed on 20 October 2022).
- Kendryte K210 System-on-Chip (SoC). Available online: https://maixduino.sipeed.com/en/hardware/k210.html (accessed on 20 October 2022).
- Face Detection K210 Model Generated by Nncase. Available online: https://github.com/kendryte/kendryte-standalone-demo/tree/develop/face_detect (accessed on 20 October 2022).
- Google Groups—Rocket Chip for Embedded, FPGA Area. Available online: https://groups.google.com/a/groups.riscv.org/g/hw-dev/c/zZxy0iFzrvI/m/LVeFiK2vAQAJ (accessed on 20 October 2022).
- Build FPGA Bitstream—64-Bit Sonic BOOM Cores. Available online: https://github.com/eugene-tarassov/vivado-risc-v#build-fpga-bitstream (accessed on 20 October 2022).
- Gookyi, D.A.N.; Ryoo, K. Selecting a synthesizable RISC-V processor core for low-cost hardware devices. J. Inf. Process. Syst. 2019, 15, 1406–1421. [Google Scholar]
- Li, B.; Zhang, X.; You, H.; Qi, Z.; Zhang, Y. Machine Learning Based Framework for Fast Resource Estimation of RTL Designs Targeting FPGAs. ACM Trans. Des. Autom. Electron. Syst. (TODAES) 2022, 28, 24. [Google Scholar] [CrossRef]
- Apache TVM—An End to End Machine Learning Compiler Framework. Available online: https://tvm.apache.org/ (accessed on 20 October 2022).
- Chen, T.; Moreau, T.; Jiang, Z.; Zheng, L.; Yan, E.; Shen, H.; Cowan, M.; Wang, L.; Hu, Y.; Ceze, L.; et al. TVM: An automated End-to-End optimizing compiler for deep learning. In Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18), Carlsbad, CA, USA, 8–10 October 2018; pp. 578–594. [Google Scholar]
- Moreau, T.; Chen, T.; Vega, L.; Roesch, J.; Yan, E.; Zheng, L.; Fromm, J.; Jiang, Z.; Ceze, L.; Guestrin, C.; et al. A hardware–software blueprint for flexible deep learning specialization. IEEE Micro 2019, 39, 8–16. [Google Scholar] [CrossRef] [Green Version]
- microTVM: TVM on Bare-Metal. Available online: https://tvm.apache.org/docs/topic/microtvm/index.html (accessed on 20 October 2022).
- Prakash, S.; Callahan, T.; Bushagour, J.; Banbury, C.; Green, A.V.; Warden, P.; Ansell, T.; Reddi, V.J. Cfu playground: Full-stack open-source framework for tiny machine learning (tinyml) acceleration on fpgas. arXiv 2022, arXiv:2201.01863. [Google Scholar]
- The CFU Playground: Accelerate ML Models on FPGAs. Available online: https://cfu-playground.readthedocs.io/ (accessed on 20 October 2022).
- Renode—A Virtual Development Tool for Multinode Embedded Networks. Available online: https://github.com/renode/renode (accessed on 20 October 2022).
- Amid, A.; Biancolin, D.; Gonzalez, A.; Grubb, D.; Karandikar, S.; Liew, H.; Magyar, A.; Mao, H.; Ou, A.; Pemberton, N.; et al. Chipyard: Integrated Design, Simulation, and Implementation Framework for Custom SoCs. IEEE Micro 2020, 40, 10–21. [Google Scholar] [CrossRef]
- Zaruba, F.; Benini, L. The cost of application-class processing: Energy and performance analysis of a Linux-ready 1.7-GHz 64-bit RISC-V core in 22-nm FDSOI technology. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2019, 27, 2629–2640. [Google Scholar] [CrossRef] [Green Version]
- Lee, Y.; Schmidt, C.; Ou, A.; Waterman, A.; Asanović, K. The Hwacha Vector-Fetch Architecture Manual, Version 3.8.1; Technical Report UCB/EECS-2015-262; EECS Department, University of California: Berkeley, CA, USA, 2015. [Google Scholar]
- Izraelevitz, A.; Koenig, J.; Li, P.; Lin, R.; Wang, A.; Magyar, A.; Kim, D.; Schmidt, C.; Markley, C.; Lawson, J.; et al. Reusability is FIRRTL ground: Hardware construction languages, compiler frameworks, and transformations. In Proceedings of the 2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), Irvine, CA, USA, 13–16 November 2017; pp. 209–216. [Google Scholar] [CrossRef]
- Karandikar, S.; Mao, H.; Kim, D.; Biancolin, D.; Amid, A.; Lee, D.; Pemberton, N.; Amaro, E.; Schmidt, C.; Chopra, A.; et al. FireSim: FPGA-accelerated cycle-exact scale-out system simulation in the public cloud. In Proceedings of the 2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA), Los Angeles, CA, USA, 1–6 June 2018; pp. 29–42. [Google Scholar]
- Pemberton, N.; Amid, A. FireMarshal: Making HW/SW Co-Design Reproducible and Reliable. In Proceedings of the 2021 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), Stony Brook, NY, USA, 28–30 March 2021; pp. 299–309. [Google Scholar] [CrossRef]
- Spike RISC-V ISA Simulator. Available online: https://github.com/riscv-software-src/riscv-isa-sim (accessed on 20 October 2022).
- Mantovani, P.; Giri, D.; Di Guglielmo, G.; Piccolboni, L.; Zuckerman, J.; Cota, E.G.; Petracca, M.; Pilato, C.; Carloni, L.P. Agile SoC development with open ESP. In Proceedings of the 2020 IEEE/ACM International Conference On Computer Aided Design (ICCAD), San Diego, CA, USA, 2–5 November 2020; pp. 1–9. [Google Scholar]
- Fahim, F.; Hawks, B.; Herwig, C.; Hirschauer, J.; Jindariani, S.; Tran, N.; Carloni, L.P.; Di Guglielmo, G.; Harris, P.; Krupa, J.; et al. hls4ml: An open-source codesign workflow to empower scientific low-power machine learning devices. arXiv 2021, arXiv:2103.05579. [Google Scholar]
- NVIDIA Deep Learning Accelerator (NVDLA) Is a Free and Open Architecture. Available online: http://nvdla.org/ (accessed on 20 October 2022).
- GreenSocs QBOX, a Solution for Co-Simulation with QEMU and SystemC. Available online: https://www.machineware.de/#qemu (accessed on 20 October 2022).
- Gonzalez, A.; Zhao, J.; Korpan, B.; Genc, H.; Schmidt, C.; Wright, J.; Biswas, A.; Amid, A.; Sheikh, F.; Sorokin, A.; et al. A 16 mm2 106.1 GOPS/W Heterogeneous RISC-V Multi-Core Multi-Accelerator SoC in Low-Power 22 nm FinFET. In Proceedings of the ESSCIRC 2021—IEEE 47th European Solid State Circuits Conference (ESSCIRC), Grenoble, France, 13–22 September 2021; pp. 259–262. [Google Scholar] [CrossRef]
- Giri, D.; Chiu, K.L.; Eichler, G.; Mantovani, P.; Chandramoorth, N.; Carloni, L.P. Ariane+ NVDLA: Seamless third-party IP integration with ESP. In Proceedings of the Workshop on Computer Architecture Research with RISC-V (CARRV), Virtual Event, 29 May 2020. [Google Scholar]
- Feng, S.; Wu, J.; Zhou, S.; Li, R. The Implementation of LeNet-5 with NVDLA on RISC-V SoC. In Proceedings of the 2019 IEEE 10th International Conference on Software Engineering and Service Science (ICSESS), Beijing, China, 18–20 October 2019; pp. 39–42. [Google Scholar] [CrossRef]
- Assir, I.A.; Iskandarani, M.E.; Sandid, H.R.A.; Saghir, M.A. Arrow: A RISC-V Vector Accelerator for Machine Learning Inference. arXiv 2021, arXiv:2107.07169. [Google Scholar]
- Patsidis, K.; Nicopoulos, C.; Sirakoulis, G.C.; Dimitrakopoulos, G. RISC-V2: A Scalable RISC-V Vector Processor. In Proceedings of the 2020 IEEE International Symposium on Circuits and Systems (ISCAS), Seville, Spain, 12–14 October 2020; pp. 1–5. [Google Scholar] [CrossRef]
- Schiavone, P.D.; Rossi, D.; Di Mauro, A.; Gürkaynak, F.K.; Saxe, T.; Wang, M.; Yap, K.C.; Benini, L. Arnold: An eFPGA-augmented RISC-V SoC for flexible and low-power IoT end nodes. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2021, 29, 677–690. [Google Scholar] [CrossRef]
- Flamand, E.; Rossi, D.; Conti, F.; Loi, I.; Pullini, A.; Rotenberg, F.; Benini, L. GAP-8: A RISC-V SoC for AI at the Edge of the IoT. In Proceedings of the 2018 IEEE 29th International Conference on Application-Specific Systems, Architectures and Processors (ASAP), Milan, Italy, 10–12 July 2018; pp. 1–4. [Google Scholar] [CrossRef]
Character | Name | Description |
---|---|---|
I | RV32I | Base integer instruction set |
E | RV32E | Base integer for embedded (16-bit registers) |
M | RV32IM | Multiply/Divide extension |
A | RV32IMA | Atomic instructions |
F | RV32IMAF | Single-precision floating-point |
D | RV32IMAFD | Double-precision floating-point |
G | RV32G | Shorthand for the IMAFD |
Q | RV32Q | Quad-precision floating-point |
C | RV32C | Compressed instructions |
K | RV32K | Scalar cryptography |
H | RV32H | Hypervisor extension |
V | RV32V | Vector operations 1 |
B | RV32B | Bit manipulation operations 1 |
P | RV32P | DSP and packed SIMD instructions 1 |
Core | Year | ISA | Freq. | Perf. | HDL | License | Type |
---|---|---|---|---|---|---|---|
MHz | DMIPS/MHz | ||||||
VexRiscv | 2018 | RV32I[M][A][F][D][C] | 200 | 1.38 | SpinalHDL | MIT | FPGA |
Rocket Core | 2016 | RV64I[M][A][F][D] | 1000 | 1.72 | Chisel | BSD | ASIC |
SonicBOOM | 2020 | RV64GC | 1000 | 3.93 | Chisel3 | BSD | ASIC |
PicoRV32 | 2020 | RV32I/E[M][C] | 500 | 0.516 | Verilog | ISC | FPGA |
NEORV32 | 2020 | RV32I/E[B][C][M][U][X] | 150 | 0.952 1 | VHDL | BSD | FPGA |
NaxRiscV | 2021 | RV64I[M][A][F][D][C][S][U] | 137 | 2.97 | SpinalHDL | MIT | FPGA |
NOEL-V | 2020 | RV64I[M][A][F][D][C][H][B] | 100 | 4.69 1 | VHDL | GPL | FPGA |
ORCA | 2016 | RV32IM | 122 | 0.98 | VHDL | BSD | FPGA |
SERV | 2020 | RV32I[M] | 135 | 0.718 | VHDL | ISC | FPGA |
VROOM | 2021 | RV64IMAFDCHB[V] | - | 6.5 | Verilog | GPL3 | FPGA |
Ibex | 2019 | RV32I/E[M][C][B] | 50 | 3.13 1 | Verilog | Apache 2.0 | FPGA |
Core | Year | ISA | Freq. | Perf. | HDL | License | Type |
---|---|---|---|---|---|---|---|
MHz | DMIPS/MHz | ||||||
SiFive E31 | 2019 | RV32IMAC | 320 | 1.61 | Verilog | eval | FPGA |
SiFive E51 | 2019 | RV64IMAC | 667 | 1.714 | Verilog | eval | FPGA |
XuanTie C910 | 2019 | RV64IMAFDC | 2500 | 6 | Verilog 1 | - | ASIC |
GD32VF103 | 2019 | RV32IMAC | 108 | 1.53 | - | commercial | ASIC |
K210 | 2018 | RV64IMAFDC | 400 | 0.8 2 | - | commercial | ASIC |
ESP32-S2 | 2019 | RV32IMC | 8 | 2.5 3 | - | commercial | ASIC |
Core | LUTs | FFs | BRAM | Notes |
---|---|---|---|---|
VexRiscv | 504 | 505 | 0 | RV32I, small config, Artix-7 [25] |
Rocket Core | 4413 | 2205 | 5.5 | Rocket core, Zynq UltraScale + MPSoC [56] |
SonicBOOM | 148,500 | - | - | 2-wide superscalar Medium BOOM, 1 core [57] |
PicoRV32 | 917 | 583 | 0 | regular config, Arty A7-100T [31] |
NEORV32 | 1328 | 678 | 0 | rv32i_Zicsr, Cyclone IV [32] |
NaxRiscV | 11,600 | 9200 | 11.5 | RV32IMASU, Arty A7-100T [35] |
NOEL-V | 22,960 | 10,350 | 28 | RV64IMA, Arty A7-100 [37] |
ORCA | 1350 | 746 | 1 | RV32I, XC7Z020 [58] |
SERV | 436 | 375 | 0 | RV32I, Arty A7-100T [40] |
VROOM | - | - | - | not provided |
Ibex | 600 | 1000 | 48 | RV32I, Arty A7-100T [42] |
SiFive E31 | 3614 | 1642 | 0 | RV32IMAC, XC7Z020 [58] |
OpenC910 | 669,902 | 235,730 | 347 | RV64GC, Virtex UltraScale [59] |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Kalapothas, S.; Galetakis, M.; Flamis, G.; Plessas, F.; Kitsos, P. A Survey on RISC-V-Based Machine Learning Ecosystem. Information 2023, 14, 64. https://doi.org/10.3390/info14020064
Kalapothas S, Galetakis M, Flamis G, Plessas F, Kitsos P. A Survey on RISC-V-Based Machine Learning Ecosystem. Information. 2023; 14(2):64. https://doi.org/10.3390/info14020064
Chicago/Turabian StyleKalapothas, Stavros, Manolis Galetakis, Georgios Flamis, Fotis Plessas, and Paris Kitsos. 2023. "A Survey on RISC-V-Based Machine Learning Ecosystem" Information 14, no. 2: 64. https://doi.org/10.3390/info14020064
APA StyleKalapothas, S., Galetakis, M., Flamis, G., Plessas, F., & Kitsos, P. (2023). A Survey on RISC-V-Based Machine Learning Ecosystem. Information, 14(2), 64. https://doi.org/10.3390/info14020064