munetomo-maruyama/mmRISC-2
64-битное ядро RISC-V на SystemVerilog, запускающее Linux на FPGA-плате Arty A7; RTL, тесты и документация созданы с помощью Claude Code.
- Звёзды
- 168
- Форки
- 32
- Открытые issues
- 0
- Последний коммит
- 18 дней назад
Что это?
mmRISC-2 — самодельный 64-битный процессор RISC-V (RV64GC) на SystemVerilog для FPGA-платы Digilent Arty A7-100T. В его состав входят 8-ступенчатый конвейер с последовательным выполнением команд, MMU Sv39 с PMP, предсказание переходов, FPU одинарной и двойной точности, кэши инструкций и данных L1 по 16 КБ и кэш L2 на 256 КБ. Периферийные устройства предоставляются LiteX, а отладка через JTAG/cJTAG реализована на кристалле.
На плате с частотой 50 МГц проект загружает с SD-карты LiteX BIOS, OpenSBI и Linux 7.2 и запускает оболочку BusyBox. Также загружается Debian 13 (riscv64); gcc, make и gdb при этом работают непосредственно на плате. Программы на C для bare-metal можно собирать и отлаживать в Eclipse IDE через JTAG. Ядро предоставляет 29 событий счётчиков производительности, доступных в Linux perf.
В репозитории также описана среда верификации: самодельные тесты, riscv-tests, эталонные модели и внедрение ошибок. Там же на английском и японском языках изложены история разработки и спецификации.
Ключевые возможности
- 01Ядро RV64GC с режимами M, S и U, MMU Sv39 и PMP на 8 записей.
- 028-ступенчатый конвейер с последовательным выполнением команд и предсказанием переходов (BTB, gshare, стек адресов возврата).
- 03FPU одинарной и двойной точности с конвейерным трактом данных.
- 04Кэши инструкций и данных L1 по 16 КБ и кэш L2 на 256 КБ.
- 05Загрузка Linux 7.2 и Debian 13 с SD-карты на Arty A7-100T.
- 06Встроенная отладка через JTAG/cJTAG с аппаратными триггерами, совместимая с OpenOCD и gdb.
Сценарии использования
- Изучение устройства ядра RISC-V, кэшей и MMU на SystemVerilog.
- Запуск Linux на самодельном ядре RISC-V на недорогой FPGA-плате.
- Разработка и отладка bare-metal-программ на C для ядра RISC-V на FPGA через Eclipse.
- Использование проекта как примера верификации процессора с эталонными моделями и внедрением ошибок.
Что важно знать
- Программа работает на конкретной FPGA-плате Digilent Arty A7-100T и не может работать на другом оборудовании без портирования.
- Разработка проекта завершается на Rev.02, дальнейшая разработка не планируется.
Темы
Частые вопросы
- Что такое mmRISC-2?
- 64-битное ядро RISC-V на SystemVerilog, запускающее Linux на FPGA-плате Arty A7; RTL, тесты и документация созданы с помощью Claude Code. mmRISC-2 — самодельный 64-битный процессор RISC-V (RV64GC) на SystemVerilog для FPGA-платы Digilent Arty A7-100T. В его состав входят 8-ступенчатый конвейер с последовательным выполнением команд, MMU Sv39 с PMP, предсказание переходов, FPU одинарной и двойной точности, кэши инструкций и данных L1 по 16 КБ и кэш L2 на 256 КБ. Периферийные устройства предоставляются LiteX, а отладка через JTAG/cJTAG реализована на кристалле.
- mmRISC-2 можно использовать бесплатно? Какая у него лицензия?
- mmRISC-2 распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- mmRISC-2 всё ещё поддерживается?
- Активно поддерживается. Последний коммит в mmRISC-2 — 20 окт. 2026 г..
- Для чего можно использовать mmRISC-2?
- Изучение устройства ядра RISC-V, кэшей и MMU на SystemVerilog. Запуск Linux на самодельном ядре RISC-V на недорогой FPGA-плате. Разработка и отладка bare-metal-программ на C для ядра RISC-V на FPGA через Eclipse. Использование проекта как примера верификации процессора с эталонными моделями и внедрением ошибок.
- Где скачать mmRISC-2?
- Исходный код и инструкции по установке — на GitHub: https://github.com/munetomo-maruyama/mmRISC-2
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Встроенный в Scala язык описания аппаратуры для создания параметризуемых генераторов цифровых схем, выпускающих Verilog.
Python-фреймворк для создания собственных FPGA-ядер и SoC: шины, периферия, интеграция CPU и поддержка симуляции.
Многочастное техническое руководство о загрузке компьютера и работе программ — от CPU до системных вызовов и процессов.
Терминальный интерфейс для графиков температуры, частоты, энергопотребления и загрузки CPU со встроенным стресс-тестом.
Слой автоматизации, позволяющий AI-агентам работать в EasyEDA Pro: читать даташиты, чертить схемы, разводить платы и проверять проекты.