Skip to content

Adversing/Vela

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vela ⛵️

Vela is a statically-typed, compiled programming language targeting a custom 16-bit ARM-like CPU architecture. It is a companion project to the DE1 CPU ISA - Vela compiles .vl source files into .de1 assembly that the CPU's encoder assembles into machine code for simulation on the Verilog hardware model.

Table of Contents

This repository contains:

  • the Python compiler in src/;
  • the Vela standard library in stdlib/;
  • example programs in examples/;
  • automated tests in tests/;
  • full documentation in docs/.

Requirements

  • Python 3.12 or newer.
  • pytest, only for running the test suite.
  • The CPU project in the sibling ../CPU directory, only for running generated .de1 files on the simulator.

Quick Start

Compile a program:

python -m src.main examples/hello.vl -o examples/hello.de1

Run the generated assembly with the CPU simulator:

cd ../CPU
python run.py ../Vela/examples/hello.de1

Run the compiler tests:

pytest

Documentation

License

See LICENSE.

About

⛵️ A statically-typed, compiled programming language targeting a custom 16-bit ARM-like CPU architecture.

Topics

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages