Skip to content

ARX-0/RISC-V_single_cycle_processor

Repository files navigation

Note:- This is ONLY for showcase

High Speed Single Cycle Processor Implementation

License

This repository contains the Verilog implementation of a single-cycle processor. The goal is to bridge the gap between academic understanding and practical execution, following the RISC philosophy.

Overview

This processor supports R, I, and J type instructions as outlined in the MIPS architecture. The design has been inspired by the concepts discussed in the book "Digital Design and Computer Architecture" by David Money Harris & Sarah L. Harris (Pages 368-380).

Software Used

- Quartus Prime Lite Edition

Implementation Details

The processor components have been organized into different modules, each specified in its own Verilog file. To make it more user-friendly, the following steps can be followed to generate the Symbol files for each component:

1. Open the Verilog source file for a specific component in Quartus Prime.

2. For each component, go to File -> Create/Update -> Create Symbol Files (.bsf).

Getting Started

Creating Symbol Files

For better usability, it's recommended to generate Symbol files (.bsf) for each component in your Verilog source. Symbol files provide a graphical representation of the module, making it easier to understand the design hierarchy.

Follow these steps to create Symbol files for each component:

1. Open Quartus Prime and navigate to the project.

2. For each Verilog source file, open the file in Quartus Prime.

3. Once the file is open, go to File -> Create/Update -> Create Symbol Files (.bsf).

Understanding Data Flow

From the book

Data Flow Image

For main decoder (reference) - see codes for better understanding

ALU Decoder Image

Implementation of dataflow in verilog

Dataflow Implementation Image 1 Dataflow Implementation Image 2

THE CONTROL UNIT

Control Unit Image

MIPS single-cycle processor INTERFACED to EXTERNAL MEMORY

Processor to Memory Image 1 Processor to Memory Image 2

FINAL single cycle processor implementation

Final Processor Image 1 Final Processor Image 2

Overview of block design

Screenshot 2024-08-02 184206 Screenshot 2024-08-02 184254 Screenshot 2024-08-02 184340

Screenshot 2024-08-02 184224

Screenshot 2024-08-02 184438

Feel free to explore the Verilog source code, testbenches, and documentation for more detailed insights.

Contributors

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

About

This is a implementation of a RISC-V single cycle processor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published