Skip to content

A custom 16-bit processor with a custom assembly language and emulator, based off of the ARM 32-bit processor.

License

Notifications You must be signed in to change notification settings

linguini1/gol-16

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gol-16

License: GNUGPL3.0

Matteo Golin

High Level Schematic View

Overview

The gol-16 is a 16-bit processor inspired by the 32-bit ARM processor. It includes a custom assembly language with full arithmetic operations, logical operations and conditional branching.

This project features a fully custom assembler written in C, which outputs binary files that can be directly uploaded to the Logisim Evolution schematic. The assembler includes its own test cases and test evaluation with the make check recipe.

Alongside the assembler, the gol-16 features a custom microcoding language: 'gmc' (gol-16 microcode). This microcode is 'assembled' by the fully custom mcasm assembler into FSM decode ROM and state ROM contents.

The schematic was created in Logisim Evolution, a community extended version of Logisim. If you install Logisim Evolution on your machine, you will be able load assembled gol-16 programs directly into the main memory ROM for execution by the built-in simulation.

This project is currently under construction.

Index

Please visit each of the pages below to read about the gol-16 processor's specifications and view the code/project files used to build it.

Releases

No releases published

Packages

No packages published