Über BoxLambda
BoxLambda ist ein Hardware-Software-Crossover-Projekt, das einen selbstgebauten, retro-artigen FPGA-basierten Mikrocomputer entwickelt. Ziel ist es, eine Sandbox-Umgebung zum Experimentieren mit Software und FPGA-Gateware zu schaffen.
Die physische Einrichtung

Die physische Einrichtung.
Aktuelle Funktionen
- Ziel-FPGA: Arty-A7-100T.
- Ibex RISC-V-Kern mit Maschinentimer und Hardware-Interrupt-Unterstützung.
- Harvard-Architektur-basierter Interconnect.
- Niedriglatenz-Register- und Speicherzugriff im gesamten SoC.
- Vorhersagbare Befehlszykluszahlen.
- Unterstützung für DFX Partial FPGA Reconfiguration.
- DDR3-externer Speicherzugriff über den Litex-Speichercontroller.
- OpenOCD-basierter Debug-Zugriff auf FPGA und Verilator.
- VERA-basierte VGA-Grafik: 2 Ebenen, Tile- oder Bitmap-Modus, 2 Bänke mit 64 Sprites, 128 KB Video-RAM, 256-Farbpalette.
- Dual-YM2149-PSG-Audio.
- SD-Karten-Controller und FatFs-Dateisystem.
- 24-Pin-GPIO, UART, SPI-Flash-Controller, I2C-Controller.
- Unterstützung für Echtzeituhr und Kalender (RTCC).
- USB-HID-Tastatur- und Mausunterstützung.
- Picolibc-basierte Standard-C-Umgebung.
- Testanwendungssuite, die alle SoC-Komponenten abdeckt, läuft sowohl auf FPGA als auch auf Verilator.
- Mecrisp-Forth-Kern + C-FFI.
Gateware-Blockdiagramm

Software-Blockdiagramm

BoxLambda OS-Architektur-Blockdiagramm.
Hauptziele
-
Eine Sandbox zum Experimentieren mit Software und FPGA-Gateware schaffen:
- Es sollte einfach sein, einzusteigen und etwas zu tun: erstellen, hacken, tüfteln.
- Einfach genug für eine Person: Eine motivierte Person kann ein solides Verständnis des gesamten Systems entwickeln, einschließlich Software und Hardware.
- Deterministisches Verhalten: Die Dauer von Vorgängen wie internem Speicher- oder Registerzugriff muss von Natur aus vorhersagbar sein.
- In sich geschlossene Laufzeitumgebung, die sowohl interaktive High-Level-Programmierung als auch Low-Level-Systemprogrammierung unterstützt.
- Eine modulare Architektur schaffen, die ein Zusammenstellen von Software- und Hardwarekomponenten ermöglicht. Optional Unterstützung für Partial FPGA Reconfiguration.
-
Zielhardware: Digilents Arty-A7.
-
Der Computer unterstützt die folgenden Peripheriegeräte:
- USB-HID-Tastatur
- USB-HID-Maus (optional)
- USB-HID-Joystick (optional)
- Echtzeituhr und Kalender (optional)
- Serielle Schnittstelle
- SD-Kartenspeicher
- Flash-Speicher
- VGA-Display
- Audio-Ausgang
-
Sound und Grafik unterstützen retroartige 2D-Demos und Gameplay.
Status (April 2026)
- Infrastruktur (Build-System usw.): Abgeschlossen.
- Gateware: Abgeschlossen und erfüllt die Anforderungen.
- Software: Entwicklung läuft.
- OS-Architektur: definiert.
- BoxLambda C-Kern: teilweise abgeschlossen.
- Mecrisp Forth-Kern: abgeschlossen.
- Mecrisp Forth-Umgebung: teilweise abgeschlossen.
- Forth<->C-FFI: abgeschlossen.
- Dateisystemebene: abgeschlossen.
Änderungsprotokoll
Links
Dokumentation