1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xiaowuzxc-SparrowRV

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 7.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 07:40 1795e33

Процессор «Спарроу RV»

SparrowRV — это проект с открытым исходным кодом, который включает в себя ядро процессора RISC-V и дизайн системы на кристалле (SoC), а также пакет поддержки разработки на уровне платы (BSP) для разработки на языке C. Он предназначен для создания устройств с низким энергопотреблением и небольшой площадью, сравнимых с Cortex-M0.

Проект использует Verilog для реализации SoC на уровне регистровых передач (RTL), обеспечивая подробные комментарии к коду и предоставляя подробную документацию. Это позволяет быстро переносить проект на любую платформу FPGA для инженерных разработок и подходит для исследований и обучения.

Характеристики проекта:

  • Последовательная двухуровневая конвейерная структура (IF -> ID+EX+MEM+WB).
  • Поддержка настраиваемого набора инструкций RV32I/E/M/Zicsr и машинных режимов.
  • Система векторных прерываний с внешним управлением прерываниями через PLIC.
  • Гарвардская архитектура с разделением путей доступа к памяти и регистрам.
  • Поддержка разработки на C с BSP и соответствующими примерами программ.
  • Реализация SoC с ICB-шиной и распространёнными внешними устройствами.
  • JTAG-интерфейс с частичной поддержкой стандарта отладки RISC-V 0.13.2.
  • Параметризованная конфигурация для высокой гибкости.

Функциональная блок-схема системы:

soc架构

Более подробную информацию и инструкции по использованию можно найти на странице документации.

Структура организации проекта:

«Спарроу RV» включает в себя RTL, программное обеспечение и аппаратное проектирование.

  • SoC RTL-дизайн реализуется на языке описания аппаратуры (HDL) и включает ядро «Спарроу» и связанную с ним шинную систему и внешние устройства.
  • Программное обеспечение включает BSP, связанные примеры программ и программу инициализации приложения (IAP), реализуя разработку на C и используя библиотеки для взаимодействия с аппаратными средствами.
  • Аппаратное обеспечение включает FPGA-примеры и справочные проекты, помогая пользователям запускать «Спарроу RV» на FPGA.
  • Скриптовые инструменты используются для всех аспектов проекта, включая логическую симуляцию, преобразование данных и самотестирование.

Основные инструменты:

  • Для проектирования RTL используется подмножество Verilog-2001, которое обеспечивает высокую плотность кода, читаемость и широкую поддержку синтеза.
  • Тестирование RTL выполняется с использованием System Verilog-2005, что удовлетворяет требованиям симуляции и поддерживается большинством инструментов.
  • Логическая симуляция осуществляется с помощью iverilog/Modelsim, выбирая подходящий инструмент в зависимости от платформы и требований.
  • Сценарии создаются с использованием пакетной обработки (Win)/Makefile (кроссплатформенный) + Python3, чтобы максимально упростить операции.
  • BSP разрабатывается с использованием MRS (MounRiver Studio), предоставляя готовую среду разработки.
  • Все текстовые файлы кодируются в UTF-8, обеспечивая хорошую поддержку многоязычности и кроссплатформенности.

Каталог структуры:

SparrowRV корневой каталог
  ├─bsp  пакет поддержки на уровне платы
  |  ├─bsp_app  программы для написания приложений
  |  ├─bsp_iap  проект для запуска SD-карты IAP
  |  ├─OpenOCD  программа для управления верхним уровнем
  |  ├─readme.md  файл с описанием
  |  └─SparrowRV_IAP.bin  двоичный файл программы IAP для SD-карт
  ├─doc  все документы находятся здесь
  ├─fpga  примеры проектов для FPGA
  ├─rtl  проекты RTL
  └─tb  инструменты, скрипты, стимуляторы

Благодарности:

Этот проект вдохновлён RTL-дизайном tinyriscv и использует Python-скрипты. tinyriscv лицензирован под Apache-2.0. В проекте также используется облегчённая реализация printf, лицензированная под MIT.

Для ICB-шины используется код из проекта «Hbird v2». Hbird v2 лицензирован под Apache-2.0. Проект также использует функцию чтения по секторам SD-карты из FPGA-SDcard-Reader, лицензированного под MIT.

Автор выражает благодарность предшественникам за вдохновение, Ли Циншуй за помощь в обнаружении ошибок, множеству открытых проектов за полезные инструменты и MRS за удобные инструменты разработки. Поддержка сообщества является движущей силой для автора.

Если у вас есть какие-либо вопросы, предложения или проблемы, не стесняйтесь обращаться к автору через issue.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/xiaowuzxc-SparrowRV.git
git@api.gitlife.ru:oschina-mirror/xiaowuzxc-SparrowRV.git
oschina-mirror
xiaowuzxc-SparrowRV
xiaowuzxc-SparrowRV
master