
This project implements a Single-Cycle RISC-V Processor using SystemVerilog on a Nexys A7 (Artix-7) FPGA. Project includes complete datapath and control logic with instruction memory, data memory, ALU, immediate generator, and branch comparator. It supports the complete RV32I instruction set (R, I, S, B, U, J types) and is optimized for educational clarity and hardware-software co-design learning.


Type | Tool/Tech |
---|---|
Hardware | Nexys A7 FPGA (Artix-7, Digilent) |
Language | SystemVerilog (HDL) |
Software | Xilinx Vivado (Simulation + Synthesis) |
Extras | RISC-V Assembly, .mem files for memory preloading |

- Single-Cycle Execution
Executes one complete RISC-V instruction per clock cycle, enabling straightforward control logic and easier debugging. - Modular Design
Each processor component (ALU, Control Unit, Register File, etc.) is developed as a reusable SystemVerilog module. - Full RV32I Support
Supports all 32-bit base integer instruction types: R, I, S, B, U, and J. - Immediate Decoding & Sign Extension
Fully functional Immediate Generator for all instruction formats with correct 32-bit sign-extension. - Memory Preloading
Instruction memory, data memory, and register file can be initialized via.mem
files for controlled simulation. - Simulation Verified
All components tested with custom SystemVerilog testbenches in Xilinx Vivado simulator. - RTL & Timing Diagrams
Visual representation of RTL structure and timing behavior captured using Vivado tools. - Synthesizable for FPGA
Fully synthesizable and deployed on the Digilent Nexys A7 board (Artix-7 FPGA) without timing violations. - Educational Focus
Designed to offer clarity and transparency in digital design, ideal for students learning computer architecture and hardware design.
Each instruction follows 5 basic stages in one cycle:
- Fetch
- Decode
- Execute
- Memory Access
- Write Back


















These RTL (Register Transfer Level) views were auto-generated using Xilinx Vivado. They illustrate the structural connectivity and module instantiations within the design.









Timing diagrams were extracted from Vivado simulations to validate functional behavior.











These snapshots show the overall system execution for a sample RISC-V program.



This project is licensed under the MIT License.
Awais Asghar
NUST Chip Design Centre
