A Design and Implementation of 32-bit RISC-V RV32IM Pipelined Processor in Embedded Systems

임베디드 환경에서의 32-bit RISC-V RV32IM 파이프라인 프로세서 설계 및 구현

  • Subin Park (Department of System Semiconductor Engineering, Sangmyung University) ;
  • Yongwoo Kim (Department of System Semiconductor Engineering, Sangmyung University)
  • 박수빈 (상명대학교 시스템반도체공학과) ;
  • 김용우 (상명대학교 시스템반도체공학과)
  • Received : 2023.11.23
  • Accepted : 2023.12.14
  • Published : 2023.12.31

Abstract

Recently, demand for embedded systems requiring low power and high specifications has been increasing, and RISC-V processors are being widely applied. RISC-V, a RISC-based open instruction set architecture (ISA), has been developed and researched by UC Berkeley and other researchers since 2010. RV32I ISA is sufficient to support integer operations such as addition and subtraction instructions, but M-extension should be defined for multiplication and division instructions. This paper proposes an RV32I, RV32IM processor, and indicates benchmark performance scores compared to an existing processor. Additionally, A non-stalling method was proposed to support a 2-stage pipelined DSP multiplier to the 5-stage pipelined RV32IM processor. Proposed RV32I and RV32IM processors satisfied a maximum operating frequency of 50 MHz on Artix-7 FPGA. The performance of the proposed processors was verified using benchmark programs from Dhrystone and Coremark. As a result, the Coremark benchmark results of the proposed processor showed that it outperformed the existing RV32IM processor by 23.91%.

Keywords

Acknowledgement

본 연구는 2023학년도 상명대학교 교내연구비를 지원받아 수행하였음.

References

  1. A. Waterman, K. Asanovi, and RISC-V International, "The RISC-V instruction set manual, Volume I: User-Level ISA, document version 20191213", 2019.
  2. Vivado Design Suite, "Multiplier v12.0 LogiCORE IP Product Guide", 2015.
  3. SpainHDL, VexRiscv. Retrieved November, 17, 2023, from https://github.com/SpinalHDL/VexRiscv.
  4. H. Miyazaki, T. Kanamori, M. Ashraful, K. KISE, "RVCoreP: An Optimized RISC-V Soft Processor of Five-Stage Pipelining", Retrieved November, 17, 2023, from https://arxiv.org/abs/2002.03568.
  5. M. Ashraful, H. Miyazaki, K. KISE, "RVCoreP-32IM: An effective architecture to implement mul/div instructions for five stage RISC-V soft processors", Retrieved November, 17, 2023, from https://arxiv.org/abs/2010.16171.
  6. F. Farshchi, Q. Huang and H. Yun, "Integrating NVIDIA Deep Learning Accelerator (NVDLA) with RISC-V SoC on FireSim," 2019 2nd Workshop on Energy Efficient Machine Learning and Cognitive Computing for Embedded Applications (EMC2), Washington, DC, USA, pp. 21-25, 2019.
  7. ARM DDI 0439B, "Cortex-M4 Revision r0p0 Technical Reference Manual", 2010.
  8. K. Asanovic, et al., "The rocket chip generator," EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS-2016-17, 2016.
  9. S. Jo, J. Lee, Y. Kim, "A Design and Implementation of 32-bit Five-Stage RISC-V Processor Using FPGA", Journal of the Semiconductor & Display Technology, vol. 21, no. 4, pp. 27-32, 2022.
  10. A. Menon, S. Kim, Y. Chen, "EECS151/251A Spring 2022 Final Project Specification RISCV151, document version 1.0", 2022.
  11. U. S. Patankar, A. Koel, "Review of basic classes of dividers based on division algorithm", IEEE Access, vol. 9, pp. 23035 - 23069, 2021. https://doi.org/10.1109/ACCESS.2021.3055735