Simulador visual de arquitectura de computadores RISC-V y editor de ensamblador para estudiar cómo ejecutan código los procesadores.
cvut/qtrvsim
Simulador de CPU RISC-V basado en Qt para enseñar arquitectura de computadoras, con una versión WebAssembly que se ejecuta en el navegador.
- Estrellas
- 651
- Forks
- 97
- Issues abiertos
- 25
- Último commit
- hace 9 días
¿Qué es?
QtRvSim es un simulador gráfico de CPU RISC-V creado para cursos de arquitectura de computadoras. Carga y ejecuta archivos ELF enlazados estáticamente, de 32 o 64 bits y en formato little-endian; el simulador selecciona XLEN según el encabezado ELF. Incluye un ensamblador integrado básico y puede llamar a una utilidad make externa para compilar el programa que se está editando.
El simulador modela varios periféricos mapeados en memoria: un puerto serie UART, un panel con LED y perilla, un framebuffer LCD RGB565, y dispositivos ACLINT de temporizador e interrupciones de software. También implementa un subconjunto de CSR y manejo de interrupciones, además de algunas llamadas al sistema de Linux, como read, write, openat y exit, para ejecutar programas sencillos.
El proyecto lo desarrolla el grupo de Educación en Arquitectura de Computadoras de la Universidad Técnica Checa. Se puede probar en línea una versión WebAssembly sin instalar nada, aunque está marcada como experimental. Hay paquetes binarios para varias distribuciones de Linux y se compila con Qt 5 o Qt 6 mediante CMake.
Funciones clave
- 01Ejecuta archivos ELF de RISC-V enlazados estáticamente en modos de 32 y 64 bits.
- 02Incluye un ensamblador integrado básico que acepta un subconjunto de las directivas de GNU assembler.
- 03Emula periféricos UART, un panel con LED y perilla, un framebuffer LCD y temporizadores ACLINT.
- 04Implementa CSR habituales y manejo de interrupciones en modo máquina.
- 05Ofrece varias llamadas al sistema de Linux para ejecutar programas sencillos.
- 06Se ejecuta en el navegador mediante una versión WebAssembly.
Casos de uso
- Enseñar arquitectura de computadoras en cursos de grado o posgrado con un modelo visual de CPU.
- Demostrar cómo interactúan la E/S serie, las interrupciones y los temporizadores con un programa de RISC-V.
- Probar pequeños programas en ensamblador o C para RISC-V, compilados con GCC o Clang, antes de ejecutarlos en hardware.
Inicio rápido
- 1
Clona el repositorio con sus submódulos
git clone --recurse-submodules https://github.com/cvut/qtrvsim.git - 2
En Linux, ejecuta make en la raíz del proyecto para compilar con el Makefile envoltorio
make - 3
O prueba la versión experimental de WebAssembly en el navegador sin instalar nada
Antes de usarlo
- Está bajo la licencia GPL-3.0, una licencia copyleft que exige que las obras derivadas se publiquen como código abierto bajo las mismas condiciones.
- Aún no admite las instrucciones RISC-V comprimidas.
- La versión de WebAssembly es experimental.
Temas
Preguntas frecuentes
- ¿Qué es qtrvsim?
- Simulador de CPU RISC-V basado en Qt para enseñar arquitectura de computadoras, con una versión WebAssembly que se ejecuta en el navegador. QtRvSim es un simulador gráfico de CPU RISC-V creado para cursos de arquitectura de computadoras. Carga y ejecuta archivos ELF enlazados estáticamente, de 32 o 64 bits y en formato little-endian; el simulador selecciona XLEN según el encabezado ELF. Incluye un ensamblador integrado básico y puede llamar a una utilidad make externa para compilar el programa que se está editando.
- ¿qtrvsim es gratuito? ¿Qué licencia tiene?
- qtrvsim es open source bajo la licencia GPL-3.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿qtrvsim sigue mantenido?
- Mantenimiento activo. El último commit de qtrvsim fue el 29 oct 2026.
- ¿Para qué puedo usar qtrvsim?
- Enseñar arquitectura de computadoras en cursos de grado o posgrado con un modelo visual de CPU. Demostrar cómo interactúan la E/S serie, las interrupciones y los temporizadores con un programa de RISC-V. Probar pequeños programas en ensamblador o C para RISC-V, compilados con GCC o Clang, antes de ejecutarlos en hardware.
- ¿Cómo se instala qtrvsim?
- Clona el repositorio con sus submódulos: git clone --recurse-submodules https://github.com/cvut/qtrvsim.git En Linux, ejecuta make en la raíz del proyecto para compilar con el Makefile envoltorio: make O prueba la versión experimental de WebAssembly en el navegador sin instalar nada
- ¿Dónde consigo qtrvsim?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/cvut/qtrvsim
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Emulador open source de ESP32 en Rust que ejecuta firmware real en tu computadora o en el navegador, sin necesidad de hardware.
Framework ligero de emulación de CPU basado en QEMU que ejecuta código máquina de varias arquitecturas mediante una API clara e independiente de la arquitectura.
Un emulador de PC x86 que se ejecuta en el navegador y traduce código máquina a WebAssembly en tiempo de ejecución para iniciar sistemas operativos reales.
Un entorno de escritorio al estilo de Windows que se ejecuta íntegramente en el navegador e incluye Explorador de archivos, ventanas, terminal y aplicaciones y juegos integrados.
Sistema para crear, distribuir y calificar automáticamente y de forma manual tareas de Jupyter notebook.