Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/linguini1/gol-16
A custom 16-bit processor with a custom assembly language and emulator, based off of the ARM 32-bit processor.
https://github.com/linguini1/gol-16
arm-assembly arm-processor assembler assembly emulator hardware hardware-design processor processor-architecture processor-arm schematic
Last synced: 3 months ago
JSON representation
A custom 16-bit processor with a custom assembly language and emulator, based off of the ARM 32-bit processor.
- Host: GitHub
- URL: https://github.com/linguini1/gol-16
- Owner: linguini1
- License: gpl-3.0
- Created: 2023-04-21T17:04:05.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-17T15:51:28.000Z (about 1 year ago)
- Last Synced: 2024-01-17T23:04:11.931Z (about 1 year ago)
- Topics: arm-assembly, arm-processor, assembler, assembly, emulator, hardware, hardware-design, processor, processor-architecture, processor-arm, schematic
- Language: C
- Homepage:
- Size: 512 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# gol-16
[![License: GNUGPL3.0](https://img.shields.io/badge/License-GNUGPL3.0-black.svg)](https://opensource.org/license/gpl-3-0)
### Matteo Golin![High Level Schematic View](./schematic/high_level.png)
# 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][logisim-evolution] [schematic](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](schematic/microcode.gmc): 'gmc' (gol-16
microcode). This microcode is 'assembled' by the fully custom [mcasm assembler](schematic/mcasm.c) into FSM decode ROM
and state ROM contents.The schematic was created in [Logisim Evolution][logisim-evolution], a community extended version of [Logisim][logisim].
If you install [Logisim Evolution][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.- [Specifications](spec)
- [Schematic](schematic)
- [Sample Programs](programs)
- [Assembler](assembler)
- [Emulator](emulator)[logisim-evolution]: https://github.com/logisim-evolution/
[logisim]: https://github.com/logisim-evolution/