A homebrew FPGA CPU with a native Pascal compiler and a simple development environment
Find a file
2024-10-03 23:08:20 +02:00
doc initial commit 2024-09-19 14:12:22 +02:00
examples initial commit 2024-09-19 14:12:22 +02:00
lib initial commit 2024-09-19 14:12:22 +02:00
pcomp initial commit 2024-09-19 14:12:22 +02:00
progs editor: handle DEL at prompt() 2024-09-27 02:18:14 +02:00
tests initial commit 2024-09-19 14:12:22 +02:00
tridoracpu import Vivado project, rearrange Verilog sources 2024-09-27 22:14:57 +02:00
tridoraemu initial commit 2024-09-19 14:12:22 +02:00
utils initial commit 2024-09-19 14:12:22 +02:00
.gitignore import Vivado project, rearrange Verilog sources 2024-09-27 22:14:57 +02:00
LICENSE.md initial commit 2024-09-19 14:12:22 +02:00
README.md README: add video links 2024-10-03 23:08:20 +02:00

Tridora System

Tridora is a homebrew CPU written in Verilog and a matching software environment, including a Pascal compiler and assembler. Everything was created from the ground up (except soldering stuff). Everything is as simple as possible while still being reasonably useful. Everything is open source, so you can read, understand and modify the whole system, hardware and software.

Overview

  • homebrew CPU
  • Verilog FPGA SoC
  • 32-bit word-oriented stack machine architecture
  • running at 83 MHz on an Arty-A7 board with four clocks per instruction
  • has its own instruction set architecture, compatible with nothing
  • additional IO controllers on FPGA: UART (serial console), SD-Card, VGA
  • Pascal compiler written from zero
  • CPU and compiler were designed together
  • minimal operating system
  • editor, compiler, assembler run natively
  • so you can develop programs directly on the machine
  • small: CPU has ~500 lines of Verilog, compiler ~9000 LoC
  • compiler written in Pascal and can compile itself
  • cross-compiler/-assembler can be compiled with FPC
  • compiler does its own Pascal dialect with some restrictions and some extensions
  • emulator available

Demos

Videos

Compiling and Running Hello-World