Опубликован: 19.01.2025 | Доступ: свободный | Студентов: 0 / 0 | Длительность: 05:57:00
Лекция 17:

Список литературы и рекомендации

< Лекция 16 || Лекция 17: 123

Симуляторы, эмуляторы, наборы инструментов

Jupiter

Кроссплатформенный компилятор и симулятор исполнения ассемблерного кода для архитектуры RISC-V с открытым исходным кодом. Поддерживает все инструкции по работе с целыми числами, числами с плавающей запятой одинарной и двойной точности, атомарными инструкциями, умножением и делением. Симулятор создавался для учебных целей, имеет интуитивно понятный графический интерфейс, может использоваться через командную строку. Может работать с несколькими файлами, что дает возможности выстраивать структуру проекта.

Venus

Симулятор исполнения ассемблерного кода для архитектуры RISC-V с открытым исходным кодом. Поддерживает все инструкции стандарта RV32IM. Реализовано пошаговое выполнение кода, точки останова, подсветка синтаксиса, просмотр машинного кода и исходных инструкций рядом друг с другом, вывод значений в регистрах и по адресам в памяти.

Spike

Симулятор исполнения ассемблерного кода для архитектуры RISC-V с открытым исходным кодом. Реализует функциональную модель, поддерживающую несколько аппаратных потоков. Поддерживает большое количество функций из стандарта RISC-V ISA. Реализован интерактивный режим отладки, возможна отладка с использованием gdb.

RARS

Сборщик и симулятор исполнения ассемблерного кода под архитектуру RISC-V с открытым исходным кодом. Представляет удобное окружение разработки для людей, только знакомящихся с RISC-V. Реализует стандарт RISC-V IMFDN Base (riscv32 и riscv64). Реализован отладчик, возможность просмотра машинного кода и исходных инструкций рядом друг с другом, сборка проекта из нескольких файлов.

Ripes / (Web-RIPES)

Графически симулятор для изучения ассемблера RISC-V, есть возможность программирования на языке С, с потактовой симуляцией программы и с иллюстрацией обновления каждой стадии конвейера. Так же добавлен эмулятор cache памяти с настройкой архитектуры кэша, политик замещения. Web-реализация симулятора RIPES простых ядер RISC-V на основе цифровых схем может точно учитывать микроархитектурные особенности: конвейер, кэши, суперскалярность и прочее. В состав эмулятора входят набор 32 и 64-битных ядер, как одноцикловых, так и многостадийных суперскалярных.

RISC-V Interpreter

Популярный интерпретатор RISC-V Корнельского университета, оснащенный простым и понятным интерфейсом.

QtRvSim

Симулятор процессора RISC-V для образовательных целей, разработан образовательным проектом Computer Architectures в Чешском техническом университете. Git со всех необходимым для установки и инструкцией по сборке и пакетам. Кроме того, QtRVSim экспериментально доступен для WebAssembly и может быть запущен в большинстве браузеров без установки.

rv8

Симулятор RISC-V для x86-64, включающий высокопроизводительный двоичный транслятор x86-64, симулятор пользовательского режима, полнофункциональный системный эмулятор, инструмент двоичного анализа ELF и метаданные ISA.

RISC-V ALE

Онлайн-эмулятор по сборке RISC-V. Страница с интерактивной онлайн-средой обучения: есть терминал, запуск и отладка, возможность загрузки файлов, настройки. Также представлены упражнения или учебное пособие, чтобы начать изучать язык ассемблера RISC-V.

riscv-easy-as-pi

Инструкция по настройке набора инструментов для компиляции и сборки исполняемых файлов для RISC-V, который будет запускаться на одноплатном компьютере RPi. В качестве компилятора используется набор GNU, а для программирования и отладки целевой платформы - openOCD.

Opensource RISC-V processors from Academia

VexRiscv

В этом репозитории размещена 32-разрядная реализация процессора RISC-V, совместимая с FPGA, написанная на SpinalHDL. Описание аппаратного обеспечения этого процессора выполнено с использованием программно-ориентированного подхода.

Picorv32

Репозиторий с файлами PicoRV32 - ядро процессора, которое реализует набор команд RISC-V RV32IMC. Оно может быть сконфигурировано как ядро RV32E, RV32I, RV32IC, RV32IM или RV32IMC и, при необходимости, содержит встроенный контроллер прерываний. Этот процессор предназначен для использования в качестве вспомогательного процессора в конструкциях FPGA и ASIC.

Neorv32 Processor

Комплементарный пакет, основанный на RISC-V ЦП, вместе с периферийным интерфейсом, встроенной памятью и программной средой, составляющий полномасштабную платформу СнК с возможностью настройки для различных FPGA, плат и toolchain-ов. Основной акцент используемого процессора сделан на безопасность исполнения и баланс между малым размером и производительностью. Работает "из коробки" и, благодаря открытой документации, подходит как начинающим, так и продвинутым пользователям FPGA/RISC-V.

RiscvOrca

Пакет разработки, написанный на VHDL и содержащий оптимизированное для FPGA ядро RISC-V на основе архитектуры набора команд RV32IM. Существует возможность преобразования пакета до стандартного ядра RV32I/RV32E. Проект подходит для тестирования FPGA, а также полезен в качестве базиса для более сложных проектов на основе архитектуры RISC-V.

Vroom

Новейшая высокопроизводительная реализация ядра RISC-V на основе архитектуры набора команд RV64-IMAFDCHBK(V). К основным целям и преимуществам проекта можно отнести высокую частоту выполнения инструкций за такт, поддержку многоядерности и двусторонней одновременной многопоточности. Проект находится на стадии активной разработки с подробной документацией и описанием текущего прогресса и ближайших шагов команды разработчиков.

SonicBOOM

Out-of-Order Machine (BOOM) - синтезируемое и параметризуемое ядро RISC-V на основе архитектуры набора команд RV64GC с открытым исходным кодом, написанное на языке описания аппаратуры Chisel. Ядро BOOM в первую очередь оптимизирован для ASIC, но также приспособлен для использования на FPGA.

Serv

Ядро на основе архитектуры набора команд RV31I, претендующее на звание самого маленького в мире RISC-V процессора. Проект располагает открытым исходным Verilog кодом, подробным мануалом, инструкцией для быстрого старта и серией обучающих роликов, подходящих как опытным пользователям, так и для первого знакомства с архитектурой RISC-V. Версия разработки не является окончательной, но уже получила награды и признание среди научных инженерных кругов.

OpenC910

Высокопроизводительный 64-разрядный процессор, совместимый с RISC-V, основанный на наборе инструкций RV64GC и реализующий технологию XIE (XuanTie Instruction Extension). Основные направление проекта - обеспечение высокой производительности в потоке управления, вычислениях и частоте. Процессор использует современный 12-ступенчатый суперскалярный высокочастотный конвейер, включает в себя контроллеры прерывания CLINT и PLIC, поддерживает когерентность аппаратного кэша и многое другое.

Noel-V

Синтезируемая VHDL-модель процессора, реализующая архитектуру RISC-V на основе набора инструкций RV32/64IMAFDB*CH. Благодаря своей высокопроизводительной и отказоустойчивой конструкции, идеально подходит для спутников, планетоходов и других космических систем. Процессор может быть эффективно реализован на технологиях FPGA и ASIC, а пользователи для работы имеют доступ к обширной библиотеке существующего программного обеспечения и инструментов.

vivado-risc-v

Репозиторий содержит FPGA-прототип полнофункционального Linux-сервера RISC-V с онлайнрепозиторием Linux и ежедневным обновлением пакетов. Проект включает в себя сценарии и исходники для создания RISC-V СнК HDL, проекта Xilinx Vivado, FPGA bitstream и загрузочную SD-карту с двоичным интерфейсом и открытым исходным кодом RISC-V. Проект используется в качестве эталонного решения для проверки поддержки RISC-V в Eclipse TCF.

Building a RISC-V CPU Core

Проект является открытым исходным кодом и содержит описание и код для пошаговой реализации процессора на основе архитектуры RISC-V. Реализация начинается с построения базового процессора, затем добавляются различные инструкции и компоненты, такие как арифметические операции, умножение, деление, память и ввод-вывод. В проекте использованы языки Verilog и C для описания аппаратной части и тестирования процессора соответственно. Проект предоставляет уникальную возможность понять, как работает процессор, и изучить основы архитектуры компьютера и цифровой электроники. Также он может быть использован в качестве основы для создания собственного процессора или углубленного изучения архитектуры RISC-V.

XiangShan

Высокопроизводительное процессорное ядро RISC-V с открытым исходным кодом. Проект Института вычислительных технологий Китайской академии наук. Репозиторий содержит статьи Института по теме исследований RISC-V, документацию на процессорное ядро, а также исходные коды HDL Verilog ядра, fpu, L2/L3 кэш подмодулей и инструментарий для симуляции работы ядра.

< Лекция 16 || Лекция 17: 123