Pipelined RISC-V Processor

Update: I have been offered a Teaching Assistant position for CIS 5710 in Spring 2026.

This project was carried out by myself and my teammate, Khanh Tran (Eddie), as part of the CIS 5710 course during Spring 2025 at the University of Pennsylvania.

System Architecture

In this project, we developed a custom 32-bit RISC-V core using SystemVerilog. The technical specifications of our design are as follows:

Our implementation is functionally correct, as verified by the Dhrystone benchmark. The design was synthesized using the Yosys toolchain and deployed on a Lattice ECP5 FPGA board.

Performance metrics and resource utilization of our design are reported in the table below:

Metric Without caches With caches
Max frequency 30.78 MHz 26.64 MHz
LUT 30.9% 22.8%
Flip-Flop 4.1% 3.9%
Multiplier Blocks 3.2% 2.6%
BRAM 1.0% 15.4%
I/O Blocks 4.4% 4.4%

Note: Since the with-caches version was later developed, several logic optimizations were made by us. As a result, its LUT and flip-flop usage is slightly more efficient compared to its predecessor.

As part of the course policy, we are unable to publicly share our code. However, our full SystemVerilog implementation and other technical details can be made available upon request (typically shared in cases like recruitment processes or work unrelated to CIS 5710).