Repolode
cvut

cvut/qtrvsim

Графический симулятор процессора RISC-V на Qt для изучения архитектуры компьютеров; версия WebAssembly работает в браузере.

Звёзды
651
Форки
97
Открытые issues
25
Последний коммит
10 дней назад

Что это?

QtRvSim — графический симулятор процессора RISC-V для курсов по архитектуре компьютеров. Он загружает статически скомпонованные 32- или 64-разрядные ELF-файлы для little-endian и запускает их, определяя XLEN по заголовку ELF. В программу встроен простой ассемблер; для сборки редактируемой программы она также может вызывать внешнюю утилиту make.

Симулятор моделирует набор периферийных устройств с отображением в память: последовательный порт UART, панель со светодиодом и регулятором, буфер кадра LCD в формате RGB565, а также таймер ACLINT и устройство программных прерываний. Кроме того, он реализует часть CSR и обработку прерываний, а также небольшой набор системных вызовов Linux — например, read, write, openat и exit — для запуска простых программ.

Проект разрабатывает группа по обучению архитектуре компьютеров Чешского технического университета. Версию WebAssembly можно попробовать онлайн без установки, однако она помечена как экспериментальная. Доступны бинарные пакеты для нескольких дистрибутивов Linux; проект собирается с Qt 5 или Qt 6 с помощью CMake.

Ключевые возможности

  • 01Запускает статически скомпонованные ELF-программы для RISC-V в 32- и 64-разрядном режимах.
  • 02Включает простой встроенный ассемблер, поддерживающий часть директив GNU assembler.
  • 03Эмулирует UART, панель со светодиодом и регулятором, буфер кадра LCD и периферию таймера ACLINT.
  • 04Реализует распространённые CSR и обработку прерываний в режиме machine.
  • 05Предоставляет набор системных вызовов Linux для запуска простых программ.
  • 06Работает в браузере благодаря сборке WebAssembly.

Сценарии использования

  • Преподавание архитектуры компьютеров студентам бакалавриата и магистратуры с помощью наглядной модели процессора.
  • Демонстрация взаимодействия последовательного ввода-вывода, прерываний и таймеров с программой для RISC-V.
  • Тестирование небольших программ на ассемблере или C для RISC-V, скомпилированных GCC или Clang, до запуска на аппаратуре.

Быстрый старт

  1. 1

    Клонируйте репозиторий вместе с его подмодулями

    git clone --recurse-submodules https://github.com/cvut/qtrvsim.git
  2. 2

    В Linux выполните make в корневом каталоге проекта, чтобы собрать его с помощью обёрточного Makefile

    make
  3. 3

    Или попробуйте экспериментальную версию WebAssembly в браузере без установки

Что важно знать

  • Распространяется по лицензии GPL-3.0 — лицензии с авторским левом, которая требует публиковать производные работы с открытым исходным кодом на тех же условиях.
  • Сжатые инструкции RISC-V пока не поддерживаются.
  • Версия WebAssembly является экспериментальной.

Темы

#risc-v#cpu-simulator#computer-architecture#teaching#emulator#webassembly#qt#cpu-emulator

Частые вопросы

Что такое qtrvsim?
Графический симулятор процессора RISC-V на Qt для изучения архитектуры компьютеров; версия WebAssembly работает в браузере. QtRvSim — графический симулятор процессора RISC-V для курсов по архитектуре компьютеров. Он загружает статически скомпонованные 32- или 64-разрядные ELF-файлы для little-endian и запускает их, определяя XLEN по заголовку ELF. В программу встроен простой ассемблер; для сборки редактируемой программы она также может вызывать внешнюю утилиту make.
qtrvsim можно использовать бесплатно? Какая у него лицензия?
qtrvsim распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
qtrvsim всё ещё поддерживается?
Активно поддерживается. Последний коммит в qtrvsim — 29 окт. 2026 г..
Для чего можно использовать qtrvsim?
Преподавание архитектуры компьютеров студентам бакалавриата и магистратуры с помощью наглядной модели процессора. Демонстрация взаимодействия последовательного ввода-вывода, прерываний и таймеров с программой для RISC-V. Тестирование небольших программ на ассемблере или C для RISC-V, скомпилированных GCC или Clang, до запуска на аппаратуре.
Как установить qtrvsim?
Клонируйте репозиторий вместе с его подмодулями: git clone --recurse-submodules https://github.com/cvut/qtrvsim.git В Linux выполните make в корневом каталоге проекта, чтобы собрать его с помощью обёрточного Makefile: make Или попробуйте экспериментальную версию WebAssembly в браузере без установки
Где скачать qtrvsim?
Исходный код и инструкции по установке — на GitHub: https://github.com/cvut/qtrvsim

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

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

3,5 тыс.+6 за неделю389C++MITАктивно поддерживаетсяОбновлён 4 дня назад

Эмулятор x86-ПК, работающий в браузере: он преобразует машинный код в WebAssembly на лету и загружает настоящие операционные системы.

23,7 тыс.+22 за неделю1,9 тыс.JavaScriptBSD-2-ClauseАктивно поддерживаетсяОбновлён 8 дней назад

Рабочий стол в стиле Windows, который целиком работает в браузере и включает проводник, окна, терминал, приложения и игры.

13,1 тыс.+12 за неделю1,2 тыс.JavaScriptMITАктивно поддерживаетсяОбновлён 17 дней назад