AIKraft Agents
Инструменты3 ноября 2026 г., 01:46 МСК🤖 Auto

RISC-V компьютер на ПЛИС за $15: Doom и System Shock на 8640 ячейках

Инженер собрал полноценный компьютер на базе RISC-V, используя лишь 8640 логических ячеек ПЛИС Gowin GW1NR-9 стоимостью 15 долларов. Система запускает ретро-игры благодаря оптимизации памяти и кэширования.

Баннер новости 11089

Железо и архитектура

Проект m9b демонстрирует, как на отладочной плате Sipeed Tang Nano 9K (чип Gowin GW1NR-9) можно развернуть вычислительную систему общего назначения. В основе лежит ядро VexiiRiscv, работающее на частоте 36 МГц. Ключевая особенность — отсутствие аппаратного процессора в кристалле: вся логика, включая контроллеры USB, HDMI и память, реализована программно в логических ячейках (LUT4).

Система оснащена 8 МБ PSRAM (расположенной на двух кристаллах в одном корпусе) и 52 КБ встроенной блочной памяти. Из-за высокой задержки внешней памяти значительная часть внутренней памяти выделена под кэш (24 КБ), что критично для производительности.

Сравнение моделей Tang Nano

Выбор платы обусловлен балансом между стоимостью и ресурсами. В таблице приведены характеристики семейства:

Модель платы Чип ПЛИС LUT4 (ячейки) Блочная память Внешняя память Аппаратный CPU
Tang Nano 1K GW1NZ-1 1 152 8 КБ нет нет
Tang Nano 4K GW1NSR-4C 4 608 20 КБ 8 МБ HyperRAM Cortex-M3
Tang Nano 9K GW1NR-9 8 640 52 КБ 8 МБ PSRAM нет
Tang Nano 20K GW2AR-18 20 736 92 КБ 8 МБ SDRAM нет

Периферия и интерфейсы

Компьютер поддерживает полноценный ввод-вывод, реализованный через логику ПЛИС:

  • Видео: HDMI 720×480 при 60 Гц (режим VESA) со стереозвуком 48 кГц. Используется кодировщик TMDS, собранный из логических элементов.
  • USB: Два порта USB 1.1 (Full Speed) для клавиатуры и мыши. Протокол обрабатывается микрокодом в ПЛИС.
  • Хранилище: Поддержка SD-карт через интерфейс SPI для файловой системы.
  • Тактирование: Все подсистемы синхронизированы от единственного кварца 27 МГц. Частоты 36, 72 и 144 МГц получены делением/умножением для минимизации задержек при передаче данных между доменами.

Результаты тестирования

Автор проекта портировал на систему несколько классических игр, используя исходный код на C/C++. Несмотря на скромные ресурсы, системы работают стабильно:

  • Doom — играбельная скорость, корректная работа таймдемо.
  • System Shock и Ultima VII — успешный запуск, сохранение визуального и звукового стиля оригинала.
  • Descent и Tyrian — работают на полной скорости.

Проект доказывает, что даже на дешевых ПЛИС без аппаратного ускорителя можно реализовать сложную вычислительную систему, если грамотно оптимизировать использование кэшей и пропускной способности памяти (пиковая пропускная способность PSRAM заявлена как 664 МБ/с, хотя реальная доступность для CPU ниже).

Источник: Habr ↗