О BoxLambda
BoxLambda — это кросс-проект на стыке аппаратного и программного обеспечения, создающий самодельный микрокомпьютер в ретро-стиле на базе ПЛИС. Цель — создать песочницу для экспериментов с программным обеспечением и gateware ПЛИС.
Физическая установка

Физическая установка.
Текущие возможности
- Целевая ПЛИС: Arty-A7-100T.
- Ядро Ibex RISC-V с поддержкой машинного таймера и аппаратных прерываний.
- Интерконнект на основе гарвардской архитектуры.
- Доступ к регистрам и памяти с низкой задержкой по всей SoC.
- Предсказуемое количество тактов инструкций.
- Поддержка частичной реконфигурации ПЛИС DFX.
- Доступ к внешней памяти DDR3 через контроллер памяти Litex.
- Отладка через OpenOCD на ПЛИС и Verilator.
- Графика VGA на основе VERA: 2 слоя, тайловый или растровый режим, 2 банка по 64 спрайта, 128 КБ видеопамяти, 256-цветная палитра.
- Двойной звуковой генератор YM2149 PSG.
- Контроллер SD-карт и файловая система FatFs.
- 24-контактный GPIO, UART, контроллер SPI Flash, контроллер I2C.
- Поддержка часов реального времени и календаря (RTCC).
- Поддержка USB HID клавиатуры и мыши.
- Стандартная среда C на основе Picolibc.
- Набор тестовых приложений, охватывающий все компоненты SoC, запускаемый как на ПЛИС, так и на Verilator.
- Ядро Mecrisp Forth + C FFI.
Блок-схема gateware

Блок-схема программного обеспечения

Блок-схема архитектуры ОС BoxLambda.
Ключевые цели
-
Создать песочницу для экспериментов с программным обеспечением и gateware ПЛИС:
- Должно быть легко начать и что-то сделать: создавать, взламывать, возиться.
- Достаточно просто для одного человека: Мотивированный человек может разработать глубокое понимание всей системы, включая программное и аппаратное обеспечение.
- Детерминированное поведение: Продолжительность операций, таких как доступ к внутренней памяти или регистрам, должна быть предсказуемой по замыслу.
- Автономная среда выполнения, поддерживающая высокоуровневое интерактивное и низкоуровневое системное программирование.
- Создать модульную архитектуру, позволяющую комбинировать программные и аппаратные компоненты. Опционально поддерживать частичную реконфигурацию ПЛИС.
-
Целевое оборудование: Digilent Arty-A7.
-
Компьютер поддерживает следующие периферийные устройства:
- USB HID клавиатура
- USB HID мышь (опционально)
- USB HID джойстик (опционально)
- Часы реального времени и календарь (опционально)
- Последовательный порт
- Хранение на SD-карте
- Хранение во флеш-памяти
- VGA дисплей
- Аудиовыход
-
Звук и графика поддерживают ретро-стиль 2D-демо и игровые процессы.
Статус (апрель 2026)
- Инфраструктура (система сборки и т.д.): Завершена.
- Gateware: Завершено и соответствует требованиям.
- Программное обеспечение: Разработка продолжается.
- Архитектура ОС: определена.
- BoxLambda C Core: частично завершено.
- Mecrisp Forth Core: завершено.
- Среда Mecrisp Forth: частично завершена.
- Forth<->C FFI: завершено.
- Слой файловой системы: завершён.
Журнал изменений
Ссылки
Документация