Coder Social home page Coder Social logo

modulesim's Introduction

ModuleSim

ModuleSim is a Java GUI application for building a processor out of components (adders, registers, memory, multiplexers etc.) as taught in the computer architecture units in Computer Science at the University of Bristol.

The modules and the Hex8 processor that you can build with them were designed by Prof. David May FREng FRS (wiki page). For a brief while, we even had a 16-bit physical version of the machine running in our building:

ModuleSim, in this repository, allows you to build a virtual Hex8/16 processor.

Building and Using

If you are taking the relevant courses at the University of Bristol, binary (JAR) versions of ModuleSim should be distributed along with the course materials, and are preinstalled on the lab machines.

You should be able to double-click a JAR file if you have Java installed correctly. The terminal command is java -jar JARFILENAME where you replace JARFILENAME with the name of the file, such as ModuleSim.jar.

To build the application from source, run build.sh from any POSIX-compatible shell with the find binary and a JDK available (git bash on windows works just fine too).

Module Documentation

Clone this repository and open the HTML files in doc/workbook. You will find:

  • components: an explanation of most components.
  • hex8: overview of the instruction set of the hex8 processor.
  • exercises: a guide to building the hex8 processor step by step, best used together with the lectures and labs for our computer architecture units (not public).
  • program: an example hex8 program that does something vaguely useful.
  • stacks: implementing a stack on hex8. The fact there is no stack pointer does not matter.

modulesim's People

Contributors

alishug avatar sr14978 avatar ednutting avatar jackoson avatar foxinatel avatar joedight avatar samtherussell avatar shedandburied avatar bristol-d 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.