GithubHelp home page GithubHelp logo

00mjk / multicore-architecture Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kevinsala/multicore-architecture

0.0 0.0 0.0 33.84 MB

Simple multicore processor implemented in VHDL

License: GNU General Public License v3.0

VHDL 80.94% Assembly 2.34% Python 15.02% Makefile 1.71%

multicore-architecture's Introduction

Inkel Pentwice processor

"Blocking is for cowards, but it always works" - Development Team, 2017

This repository contains the source code of a processor in VHDL, and other tools to ease the development. It was developed in the context of the UPC MIRI in the course Processor Architecture by Carlos Escuín, Marc Marí and Kevin Sala and later continued on the course Multicore Architecture by Adrià Aguilà, Marc Marí, Antoni Navarro and Kevin Sala.

To read about the architecture details, please head to the documentation:

Tools

Compilation

The script compiler/compiler.py compiles an assembly file into binary code that can later be used in the processor. The output file memory_boot should be placed at the root of the project, in order to be read properly by the processor.

Simulation

The utility simulator/run_code.py simulates the binary code passed as an argument as if it was run on an Inkel Pentwice processor

Validation

It is also possible to validate the VHDL processor against the simulator.

The packages necessary to run this validator are:

  • GHDL
  • python-devel

To finish the installation get the cocotb testbench (on the project root folder):

git clone https://github.com/potentialventures/cocotb

If everything is right, you could now go to the test directory and run make. You should be validating the processor!

Known issues

Voyeur

To observe transactions that cross the bus, you need the same infrastructure described on "Validation".

To run, go to the voyeur directory and run make. You will be asked to press <Enter> before every transaction.

Documentation

For completeness, the repository includes both the report and the slides that were used to present this project as our final project of the Multiprocessor Architecture subject from the Master in Innovation and Research in Informatics from the Polytechnic University of Catalonia (FIB BarcelonaTech).

multicore-architecture's People

Contributors

adriaaap avatar cescuin avatar kevinsala avatar mark-mb avatar narru19 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.