RISC-V Assembly Learn Environment

Overview

The RISC-V Assembly Learn Environment, or ALE, is an environment designed to support the execution and test of RISC-V programs.

Hassle-free use

ALE is based on JavaScript and runs directly on the browser! In other words, there is no need to install complex simulation softwares and you may run it on Windows, Linux, and OSX. It works even on mobile operating systems!

The simulator can also be easily installed for offline use as a progressive web application (PWA)

System Calls Emulation

The simulator emulates a set of pre-defined system calls, including open, read, write, and close, allowing users to interact with the terminal.

C programs that require a minimum support from the operating system may be linked with NewLib for execution on ALE!

Hardware Peripherals

ALE comes with a set of modules that emulate hardware peripherals. The environment can be easily configured to use all, or a subset of these modules, to emulate different kinds of systems. So far, the system emulates a General Purpose Timer (GPT), a MIDI sound synthesizer, a small robot called Uóli, and a self-driving car with multiple peripherals!

Automatic Feedback

ALE can be configured by instructors to provide automatic feedback about the code execution or to verify its output for correctness.

ISA Extensions

The RISC-V ALE uses the Western Digital SweRV simulator, which allows the user to select among several RISV-V ISA extensions to extend the basic RV32 ISA!

Easy integration with other environments

ALE has an API that allows other environments to directly load RISC-V programs for execution on it. With this feature, users can directly load programs from Colab into ALE. For an example, check-out the Assembling RISC-V programs with Colab notebook.

Getting started

The easiest way to get started is to follow the instructions at the Assembling RISC-V programs with Colab notebook.