A Design and Implementation of 32-bit Five-Stage RISC-V Processor Using FPGA

FPGA를 이용한 32-bit RISC-V 5단계 파이프라인 프로세서 설계 및 구현

  • Jo, Sangun (Department of System Semiconductor Engineering, Sangmyung University) ;
  • Lee, Jonghwan (Department of System Semiconductor Engineering, Sangmyung University) ;
  • Kim, Yongwoo (Department of System Semiconductor Engineering, Sangmyung University)
  • 조상운 (상명대학교 시스템반도체공학과) ;
  • 이종환 (상명대학교 시스템반도체공학과) ;
  • 김용우 (상명대학교 시스템반도체공학과)
  • Received : 2022.11.01
  • Accepted : 2022.12.13
  • Published : 2022.12.31

Abstract

RISC-V is an open instruction set architecture (ISA) developed in 2010 at UC Berkeley, and active research is being conducted as a processor to compete with ARM. In this paper, we propose an SoC system including an RV32I ISA-based 32-bit 5-stage pipeline processor and AHB bus master. The proposed RISC-V processor supports 37 instructions, excluding FENCE, ECALL, and EBREAK instructions, out of a total of 40 instructions based on RV32I ISA. In addition, the RISC-V processor can be connected to peripheral devices such as BRAM, UART, and TIMER using the AHB-lite bus protocol through the proposed AHB bus master. The proposed SoC system was implemented in Arty A7-35T FPGA with 1,959 LUTs and 1,982 flip-flops. Furthermore, the proposed hardware has a maximum operating frequency of 50 MHz. In the Dhrystone benchmark, the proposed processor performance was confirmed to be 0.48 DMIPS.

Keywords

Acknowledgement

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

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. A. Waterman, K. Asanovi, and RISC-V International, "The RISC-V instruction set manual, Volume II: Privileged Architecture, document version 20211203", 2021.
  3. Asanovic, Krste, and David A. Patterson, "Instruction sets should be free: The case for risc-v," EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS- 2014-146, 2014.
  4. Reinhold P. Weicker, "Dhrystone: A synthetic systems programming benchmark," Communications of the ACM, Vol.27, No.10, pp.1013-1030, 1984. https://doi.org/10.1145/358274.358283
  5. S. Park, C. Park, "Implementation of GPU Acceleration of Object Detection Application with Drone Video", Journal of the Semiconductor & Display Technology, vol. 20, no. 3, pp. 117-119, 2021.
  6. C. Park, "Performance Analysis of DNN inference using OpenCV Built in CPU and GPU Functions", Journal of the Semiconductor & Display Technology, vol. 21, no. 1, pp. 75-78, 2022.
  7. K. Asanovic, et al., "The rocket chip generator," EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS-2016-17, 2016.
  8. Asanovic, Krste; et al., rocket-chip. Retrieved October, 5, 2022, from https://github.com/chipsalliance/rocket-chip
  9. Celio, Christopher., riscv-boom. Retrieved October, 5, 2022, from https://github.com/riscv-boom/riscv-boom
  10. SpainHDL, VexRiscv. Retrieved October, 5, 2022, from https://github.com/SpinalHDL/VexRiscv
  11. S. Jang, S. Park, G. Kwon, T. Suh, "Design and Evaluation of 32-Bit RISC-V Processor Using FPGA", KIPS Transactions on Computer and Communication Systems, vol. 11, no. 1, pp. 1-8, Jan. 2022. https://doi.org/10.3745/KTCCS.2022.11.1.1
  12. PULP Platform, Retrieved October, 5, 2022, from https://pulp-platform.org
  13. Pulpino. Retrieved October, 5, 2022, from https://github.com/pulp-platform/pulpino
  14. ARM IHI 0011A, "AMBA Specification (Rev 2.0)", 1999.
  15. ARM, DesignStart. Retrieved October, 5, 2022, from http://www.arm.com/products/processors/designstartprocessor-ip/index.php
  16. ARM IHI 0033A, "AMBA 3 AHB-Lite Protocol v1.0 specification", 2006.
  17. Harris, S.L. and Harris, D.M., Digital Design and Computer Architecture RISC-V Edition, Morgan Kaufmann, pp. 393-497, (2021).
  18. Arm Limited Arm Cortex-M Processor Comparison Table. Retrieved October, 5, 2022, from https://developer.arm.com/documentation/102787/0100.