Lockstep Execution of gem5 and Spike for ISA-Level Verification
Esta tesis presenta un marco de co-simulación en lockstep entre los simuladores gem5 y Spike para la verificación de ejecuciones RISC-V a nivel de ISA. Se diseña e implementa un mecanismo para capturar el estado completo del núcleo (PC, registros enteros, registros de coma flotante, registros vector...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis de maestría |
| Fecha de publicación: | 2025 |
| País: | España |
| Institución: | Universitat Politècnica de Catalunya (UPC) |
| Repositorio: | UPCommons. Portal del coneixement obert de la UPC |
| Idioma: | inglés |
| OAI Identifier: | oai:upcommons.upc.edu:2117/452660 |
| Acceso en línea: | https://hdl.handle.net/2117/452660 |
| Access Level: | acceso abierto |
| Palabra clave: | Computer architecture--Computer simulation Computer systems – Verification RISC microprocessors RISC-V gem5 Spike lockstep co-simulation ISA-level verification RISC-V Vector (RVV) core state snapshot instantánea del estado del núcleo. Arquitectura d'ordinadors--Simulació per ordinador Sistemes informàtics Microprocessadors RISC Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors |
| Sumario: | Esta tesis presenta un marco de co-simulación en lockstep entre los simuladores gem5 y Spike para la verificación de ejecuciones RISC-V a nivel de ISA. Se diseña e implementa un mecanismo para capturar el estado completo del núcleo (PC, registros enteros, registros de coma flotante, registros vectoriales y CSRs) en cada commit de instrucción en gem5 y reenviarlo a Spike para su ejecución paso a paso. Actuando como modelo de referencia (golden model), Spike devuelve su propia instantánea, que luego se compara campo por campo con la de gem5 para detectar discrepancias funcionales. La infraestructura incluye modificaciones en gem5 (como nuevos eventos de commit, extracción de estado y filtrado de micro-operaciones), una capa externa de integración en C para controlar Spike, y un flujo de trabajo sistemático para investigar y corregir divergencias. El marco se valida utilizando un conjunto de pruebas basadas en intrínsecos RVV, y su sobrecarga de rendimiento se evalúa en tres modos de co-simulación: sin co-simulación, con co-simulación no verbosa y con registro completo del estado. Los resultados muestran que la verificación exhaustiva con registro completo incrementa el tiempo de simulación en un factor superior a 40, mientras que el modo no verboso ofrece un compromiso aceptable y mantiene las garantías de corrección funcional. |
|---|