Simulador visual de arquitetura de computadores RISC-V e editor de assembly para estudar como os processadores executam código.
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
Clone o repositório com seus submódulos
git clone --recurse-submodules https://github.com/cvut/qtrvsim.git - 2
No Linux, execute make na raiz do projeto para compilar com o Makefile wrapper
make - 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
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
Um emulador open source de ESP32 em Rust que executa firmware real no computador ou no navegador, sem precisar de hardware.
Framework leve de emulação de CPU baseado no QEMU, que executa código de máquina de várias arquiteturas por meio de uma API limpa e independente de arquitetura.
Um emulador de PC x86 que roda no navegador e traduz código de máquina para WebAssembly em tempo de execução para iniciar sistemas operacionais reais.
Um ambiente de desktop no estilo Windows que roda inteiramente no navegador, com Explorador de Arquivos, janelas, terminal e apps e jogos incluídos.
Sistema para criar, distribuir, corrigir automaticamente e avaliar manualmente tarefas em notebooks Jupyter.