GithubHelp home page GithubHelp logo

jassonrm / rsa-asip Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 6.34 MB

Design and implementation of an Application Specific Instruction Set Processor to accelerate the RSA decryption algorithm.

Python 0.19% SystemVerilog 5.78% Makefile 0.01% C 80.51% Verilog 7.50% Forth 0.01% Tcl 3.42% Shell 2.58%

rsa-asip's Introduction

El código fuente del procesador puede encontrarse en el siguiente repositorio https://github.com/JassonRM/rsa-asip El código fuente del compilador se puede encontrar en el siguiente repositorio https://github.com/kennethGHS/MDIE_Compiler

A continuación se muestra un listado de las herramientas utilizadas para el desarrollo del proyecto.

QuartusPrime version 20.1 - modelacion de hardware

Java jdk 8 - ambiente en el que corre el compilador

Modelsim 2020.1 - simulacion procesador

Intellij Idea - programacion java

Python 3.6 - Guia de desencripcion de imagen

VGA Simulator from https://ericeastwood.com/lab/vga-simulator/

Para la ejecución del proyecto se deben seguir los siguientes pasos:

  1. Desde Quartus seleccionar la opción de abrir un proyecto
  2. Seleccionar el archivo rsa-asip.qpf
  3. Modificar las direcciones de los archivos vram.v, rom_encrypted.v, mide_cpu_test.sv (Se debe reemplazar la parte C:/ del path por la dirección del proyecto)
  4. Seleccionar el archivo mide_cpu_test.sv como top level del proyecto
  5. Ejecutar la simulación
  6. Ejecutar los siguientes comandos en modelsim:

vsim -L altera_mf_ver -L lpm_ver work.mide_cpu_test add wave -position insertpoint
sim:/mide_cpu_test/DUT/MEM/data_output
sim:/mide_cpu_test/DUT/MEM/data_input add wave -position insertpoint
sim:/mide_cpu_test/DUT/EXE/VALUresult
sim:/mide_cpu_test/DUT/EXE/VALUinputB
sim:/mide_cpu_test/DUT/EXE/VALUinputA
sim:/mide_cpu_test/DUT/EXE/ALUresult
sim:/mide_cpu_test/DUT/EXE/ALUop
sim:/mide_cpu_test/DUT/EXE/ALUinputB
sim:/mide_cpu_test/DUT/EXE/ALUinputA add wave -position insertpoint
sim:/mide_cpu_test/DUT/MEM/vector_output
sim:/mide_cpu_test/DUT/MEM/vector_input
sim:/mide_cpu_test/DUT/MEM/instr_output
sim:/mide_cpu_test/DUT/MEM/instr_address
sim:/mide_cpu_test/DUT/MEM/data_address add wave -position insertpoint
sim:/mide_cpu_test/rgb_out
sim:/mide_cpu_test/clk add wave -position insertpoint
sim:/mide_cpu_test/DUT/result_WB

  1. Correr la simulación por 2 frames con el comando

run 33.4ms

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.