Repolode
cvut

cvut/qtrvsim

Simulador de CPU RISC-V baseado em Qt para ensinar arquitetura de computadores, com uma versão WebAssembly que roda no navegador.

Estrelas
651
Forks
97
Issues abertas
25
Último commit
há 9 dias

O que é?

O QtRvSim é um simulador gráfico de CPU RISC-V desenvolvido para disciplinas de arquitetura de computadores. Ele carrega executáveis ELF little-endian de 32 ou 64 bits vinculados estaticamente e os executa; o simulador seleciona o XLEN com base no cabeçalho ELF. Também inclui um assembler integrado básico e pode chamar um utilitário make externo para compilar o programa em edição.

O simulador modela um conjunto de periféricos mapeados em memória: uma porta serial UART, um painel com LEDs e botões giratórios, um framebuffer LCD RGB565 e dispositivos de timer e interrupção de software ACLINT. Também implementa um subconjunto de CSRs e o tratamento de interrupções, além de um pequeno conjunto de chamadas de sistema do Linux, como read, write, openat e exit, para executar programas simples.

O projeto é desenvolvido pelo grupo de Ensino de Arquitetura de Computadores da Czech Technical University. É possível testar online uma versão WebAssembly sem instalação, embora ela seja marcada como experimental. Há pacotes binários disponíveis para várias distribuições Linux, e o projeto pode ser compilado com Qt 5 ou Qt 6 usando CMake.

Recursos principais

  • 01Executa executáveis ELF RISC-V vinculados estaticamente nos modos de 32 e 64 bits.
  • 02Inclui um assembler integrado básico que aceita um subconjunto das diretivas do GNU assembler.
  • 03Emula periféricos UART, painel de LEDs e botões giratórios, framebuffer LCD e timer ACLINT.
  • 04Implementa CSRs comuns e o tratamento de interrupções no modo machine.
  • 05Disponibiliza um conjunto de chamadas de sistema do Linux para executar programas simples.
  • 06Roda no navegador por meio de uma versão WebAssembly.

Casos de uso

  • Ensinar arquitetura de computadores em cursos de graduação ou pós-graduação usando um modelo visual de CPU.
  • Demonstrar como E/S serial, interrupções e timers interagem com um programa RISC-V.
  • Testar pequenos programas em assembly ou C para RISC-V, compilados com GCC ou Clang, antes de executá-los no hardware.

Início rápido

  1. 1

    Clone o repositório com seus submódulos

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

    No Linux, execute make na raiz do projeto para compilar com o Makefile wrapper

    make
  3. 3

    Ou experimente a versão experimental em WebAssembly no navegador sem instalar nada

Antes de usar

  • Licenciado sob a GPL-3.0, uma licença copyleft que exige que trabalhos derivados sejam disponibilizados como código aberto sob os mesmos termos.
  • Instruções RISC-V compactadas ainda não são compatíveis.
  • A versão em WebAssembly é experimental.

Tópicos

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

Perguntas frequentes

O que é qtrvsim?
Simulador de CPU RISC-V baseado em Qt para ensinar arquitetura de computadores, com uma versão WebAssembly que roda no navegador. O QtRvSim é um simulador gráfico de CPU RISC-V desenvolvido para disciplinas de arquitetura de computadores. Ele carrega executáveis ELF little-endian de 32 ou 64 bits vinculados estaticamente e os executa; o simulador seleciona o XLEN com base no cabeçalho ELF. Também inclui um assembler integrado básico e pode chamar um utilitário make externo para compilar o programa em edição.
qtrvsim é gratuito? Qual é a licença?
qtrvsim é open source sob a licença GPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
qtrvsim ainda é mantido?
Manutenção ativa. O último commit de qtrvsim foi em 29 de out. de 2026.
Para que posso usar qtrvsim?
Ensinar arquitetura de computadores em cursos de graduação ou pós-graduação usando um modelo visual de CPU. Demonstrar como E/S serial, interrupções e timers interagem com um programa RISC-V. Testar pequenos programas em assembly ou C para RISC-V, compilados com GCC ou Clang, antes de executá-los no hardware.
Como instalar qtrvsim?
Clone o repositório com seus submódulos: git clone --recurse-submodules https://github.com/cvut/qtrvsim.git No Linux, execute make na raiz do projeto para compilar com o Makefile wrapper: make Ou experimente a versão experimental em WebAssembly no navegador sem instalar nada
Onde consigo qtrvsim?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/cvut/qtrvsim

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados