Giter Site home page Giter Site logo

yashdawani / mips-processor-vhdl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cm4233/mips-processor-vhdl

0.0 0.0 0.0 3.13 MB

This project describes an emulation of a 32-bit MIPS processor on Artix-7 FPGA using VHDL (Code in "VHDL Codes" folder). The implemented MIPS processor is tested by running RC5 encryption and decryption algorithms.

VHDL 100.00%

mips-processor-vhdl's Introduction

MIPS Processor using VHDL

This project describes an emulation of a 32-bit MIPS processor on Artix-7 FPGA using a hardware description language (VHDL). The implemented MIPS processor is tested by running RC5 encryption and decryption algorithms. The project highlights the advantage of FPGA based hardware acceleration to significantly reduce execution time. It takes about 7000 clock cycles to perform RC5 Encryption when executed on the general purpose MIPS processor as opposed to just 90 clock cycles when the algorithm is directly implemented on the FPGA.

Description of the included files (Code in "VHDL Codes" folder)

  • NYU6463Processor.vhd Is the top module for the entire project which implements the MIPS processor for Artix-7 FPGA.
  • MIPSProcessor.vhd Is the MIPS processor's VHDL code which has the following components (below).
    • programcounter.vhd
    • instructionmemory.vhd
    • registerfile.vhd
    • signextend.vhd
    • alu.vhd
    • datamemory.vhd
    • controlunit.vhd Image of components
  • Nexys4DDR_Master.ucf Is the ucf file for the Nexys4DDR development board that houses the Artix-7 FPGA.
  • Hex2SevenSegConverter.vhd Is the VHDL code for converting hexadecimal values to 7 segment display code.
  • assembly_code.txt Is the assembly level and machine code instructions for running RC5 encryption and decryption.

Testing the MIPS Processor

The implemented MIPS Processor was tested by running RC5 encryption and decryption algorithms. The assembly/machine-code instructions for the encryption and decryption algorithms can be found in assembly_code.txt file.

  • Simulation Output on Xilinx ISE/ModelSim Image of simout
  • FPGA Output on Nexys4DDR development board with Artix-7 FPGA

Image of fpgaout

mips-processor-vhdl's People

Contributors

cm4233 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.