Design and Implementation of RISC-V ISA (RV32IM) on FPGA

International Journal of VLSI & Signal Processing
© 2023 by SSRG - IJVSP Journal
Volume 10 Issue 2
Year of Publication : 2023
Authors : Anmol Singh, Arpit Kumar, Abhishek Singh, R. Anirudh Reddy, K. N. Pushpalatha
pdf
How to Cite?

Anmol Singh, Arpit Kumar, Abhishek Singh, R. Anirudh Reddy, K. N. Pushpalatha, "Design and Implementation of RISC-V ISA (RV32IM) on FPGA," SSRG International Journal of VLSI & Signal Processing, vol. 10,  no. 2, pp. 17-21, 2023. Crossref, https://doi.org/10.14445/23942584/IJVSP-V10I2P103

Abstract:

RISC-V, an open-source Instruction Set Architecture, originated from the collaborative efforts of researchers at the University of California, Berkeley, in 2010. It is a basic Load and Store type architecture based on traditional principles of RISC whilst providing flexibility in terms of extensions to the base Integer Set such as multiply, floating point and atomic instructions. This paper details the Design and Implementation of 5 stages pipelined RV32IM (base integer set with multiply extension). The design also incorporates a 2-bit branch predictor for increased throughput. Analysis and Verification have been performed for proper decoding, pipelined operation, branch prediction, stalling, memory access, and overall functionality. Verilog HDL on Intel QuestaSim has been used to design the core and simulation. DE 10 Lite board with Max 10 family of FPGA has been used for hardware synthesis and analysis of the design.

Keywords:

RISC-V, Instruction Set Architecture, RV32IM, 5-stage pipeline, DE10 Lite FPGA.

References:

[1] Akshay Birari et al., “A RISC-V ISA Compatible Processor IP,” 24th International Symposium on VLSI Design and Test, pp. 1-6, 2020.
[CrossRef] [Google Scholar] [Publisher Link]
[2] Aneesh Raveendran et al., “A RISC-V Instruction Set Processor Microarchitecture Design and Analysis,” International Conference on VLSI Systems, Architectures, Technology and Applications, pp. 1-7, 2016.
[CrossRef] [Google Scholar] [Publisher Link]
[3] Aslesa Singh et al., “Design and Implementation of a 32-bit ISA RISC-V Processor Core using Virtex-7 and Virtex-UltraScale,” IEEE, 5th International Conference on Computing Communication and Automation, pp. 126-130, 2020.
[CrossRef] [Google Scholar] [Publisher Link]
[4] Sudhir Dagar, and Geeta Nijhawan, “Area Efficient Moving Object Detection using Spatial and Temporal Method in FPGA,” International Journal of Engineering Trends and Technology, vol. 70, no. 9, pp. 138-147, 2022.
[CrossRef] [Publisher Link]
[5] I. Kuroda et al., “A 16-bit Parallel MAC Architecture for a Multimedia RISC Processor,” IEEE, Workshop on Signal Processing Systems, SIPS 98, Design and Implementation, pp. 103-112, 1998.
[CrossRef] [Google Scholar] [Publisher Link]
[6] Shofiqul Islam et al., “Design of High-Speed-Pipelined Execution Unit of 32-bit RISC Processor,” Annual IEEE India Conference, pp. 1-5, 2006.
[CrossRef] [Google Scholar] [Publisher Link]
[7] Adrian Oleksiak et al., “Design and Verification Environment for RISC-V Processor Cores,” MIXDES - 26th International Conference ‘Mixed Design of Integrated Circuits and Systems’, pp. 206-209, 2019.
[CrossRef] [Google Scholar] [Publisher Link]
[8] Don Kurian Dennis et al., “Single Cycle RISC-V Micro Architecture Processor and its FPGA Prototype,” 7th International Symposium on Embedded Computing and System Design, pp. 1-5, 2017.
[CrossRef] [Google Scholar] [Publisher Link]
[9] Yang Jing et al., “Electrical Diagnosis of Temperature-Dependent Global Clock Failures Using Probeless Isolation and Pattern Commonality Analysis,” 19th IEEE International Symposium on the Physical and Failure Analysis of Integrated Circuits, pp. 1-6, 2012.
[CrossRef] [Google Scholar] [Publisher Link]
[10] Ludovico Poli et al., “Design and Implementation of a RISC V Processor on FPGA,” 17th International Conference on Mobility, Sensing and Networking, pp. 161-166, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[11] David A. Patterson, and John L. Hennessy, Computer Organization and Design RISC-V Edition: The Hardware Software Interface, Morgan Kaufmann Publisher, Elsevier, 2017.
[Google Scholar] [Publisher Link]
[12] Andrew Waterman et al., The RISC-V Instruction Set Manual, EECS Department, University of California, 2016.
[Google Scholar] [Publisher Link]
[13] Reinhold P. Weicker, “Dhrystone: a Synthetic Systems Programming Benchmark,” Communications of the ACM, vol. 27, no. 10, pp. 1013-1030, 1984.
[CrossRef] [Google Scholar] [Publisher Link]
[14] Jan Andersson, “Development of a NOEL-V RISC-V SoC Targeting Space Applications,” 50th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops, pp. 66-67, 2020.
[CrossRef] [Google Scholar] [Publisher Link]
[15] Jaewon Lee et al., “RISC-V FPGA Platform toward ROS-Based Robotics Application,” 30th International Conference on Field-Programmable Logic and Applications, pp. 370-370, 2020.
[CrossRef] [Google Scholar] [Publisher Link]
[16] RISC-V Specifications, 2021. [Online]. Available: https://riscv.org/technical/specifications
[17] Pierre Maillard et al., “Test Methodology & Neutron Characterization of Xilinx 16nm Zynq® UltraScale+™ Multi-Processor System-on-Chip (MPSoC),” IEEE Radiation Effects Data Workshop (REDW), pp. 1-4, 2018.
[CrossRef] [Google Scholar] [Publisher Link]