lowRISC/ibex
Небольшое 32-битное ядро процессора RISC-V на SystemVerilog производственного качества для встраиваемых систем управления.
- Звёзды
- 2,162
- Форки
- 831
- Открытые issues
- 278
- Последний коммит
- 22 часа назад
Что это?
Ibex — 32-битное ядро процессора RISC-V, написанное на SystemVerilog. Оно обладает широкими возможностями параметризации: разработчики могут выбирать баланс между производительностью, площадью и функциями безопасности с помощью параметров конфигурации, например архитектуры умножителя. Ядро поддерживает базовый набор целочисленных инструкций I или E, расширения M, C и B, а также базовую ISA CHERIoT 1.0.
Изначально Ibex разрабатывался в рамках платформы PULP под названием Zero-riscy. Сейчас его поддерживает и развивает дальше команда lowRISC. В проекте опубликован ряд поддерживаемых конфигураций с результатами CoreMark, данными о площади по оценкам Yosys и коммерческого синтеза, а также сведениями о степени зрелости верификации для каждой конфигурации.
В репозитории есть Simple System — интеграция, ориентированная на симуляцию и предназначенная для запуска bare-metal-бинарных файлов, — а также руководство пользователя на ReadTheDocs. Более полный пример на базе FPGA поддерживается отдельно в репозитории Ibex Demo System.
Ключевые возможности
- 01Поддерживает базовую целочисленную ISA RV32I или RV32E с расширениями M, C и B.
- 02Широко параметризуется: доступно несколько вариантов умножителя и настроек производительности и безопасности.
- 03Для нескольких предустановленных конфигураций опубликованы результаты CoreMark, данные о площади и статус верификации.
- 04Включает готовый к симуляции пример Simple System для запуска bare-metal-бинарных файлов.
- 05Поддерживает базовую ISA CHERIoT 1.0.
Сценарии использования
- Создание компактного встроенного микроконтроллера с простым управляющим ядром RISC-V.
- Оценка компромиссов между площадью и производительностью ядра RISC-V в разных конфигурациях перед tapeout.
- Запуск bare-metal-программ на ядре RISC-V в симуляции.
- Изучение или преподавание реализации производственного качества ядра RISC-V на SystemVerilog.
Что важно знать
- Некоторые конфигурации, например micro RV32EC config, прошли лишь минимальную проверку, поэтому перед любым tapeout пользователям необходимо самостоятельно оценить готовность к верификации.
- В README не описан простой способ установки или запуска. Это аппаратное RTL-ядро, которое обычно используют с помощью примеров моделирования и документации.
В подборках
Темы
Частые вопросы
- Что такое ibex?
- Небольшое 32-битное ядро процессора RISC-V на SystemVerilog производственного качества для встраиваемых систем управления. Ibex — 32-битное ядро процессора RISC-V, написанное на SystemVerilog. Оно обладает широкими возможностями параметризации: разработчики могут выбирать баланс между производительностью, площадью и функциями безопасности с помощью параметров конфигурации, например архитектуры умножителя. Ядро поддерживает базовый набор целочисленных инструкций I или E, расширения M, C и B, а также базовую ISA CHERIoT 1.0.
- ibex можно использовать бесплатно? Какая у него лицензия?
- ibex распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- ibex всё ещё поддерживается?
- Активно поддерживается. Последний коммит в ibex — 6 нояб. 2026 г..
- Для чего можно использовать ibex?
- Создание компактного встроенного микроконтроллера с простым управляющим ядром RISC-V. Оценка компромиссов между площадью и производительностью ядра RISC-V в разных конфигурациях перед tapeout. Запуск bare-metal-программ на ядре RISC-V в симуляции. Изучение или преподавание реализации производственного качества ядра RISC-V на SystemVerilog.
- Где скачать ibex?
- Исходный код и инструкции по установке — на GitHub: https://github.com/lowRISC/ibex
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Высокопроизводительное ядро RISC-V с открытым исходным кодом, написанное на Scala с использованием Chisel и разработанное проектом XiangShan.
Python-фреймворк для создания собственных FPGA-ядер и SoC: шины, периферия, интеграция CPU и поддержка симуляции.
Sesame — миниатюрный робот-квадрупед с открытым исходным кодом, который можно напечатать на 3D-принтере; он работает на ESP32, оснащён OLED-лицом и ходит с помощью сервоприводов.
Плата с открытым исходным кодом заменяет плату в классических часах Casio F-91W и позволяет запускать собственные программы прямо на запястье.
Минималистичный движок инференса LLM на C11 для запуска GGUF-моделей архитектуры LLaMA класса 1B на недорогих платах с примерно 45 МБ RAM и без зависимостей.