Práctica 6 · Integración del camino de datos
viernes 6 de noviembre · 16:00–17:40 · en 76 días
GUÍA 06-11-26 Laboratorio de Arquitecturas Computacionales
LA116 · viernes 06/11/2026 · 16:00-17:40 · Sesión 13
Práctica 6 · Integración del camino de datos
OBJETIVO DE LA PRÁCTICA
Descripción en Verilog e implementación en FPGA de una aplicación de un procesador RISC-V de 32 bits. Hoy se integran todos los bloques construidos.
LOS MÓDULOS A CONECTAR
- Contador de programa y sumador de PC más cuatro, de la Práctica 1.
- Memoria de instrucciones, de la Práctica 4.
- Banco de registros, de la Práctica 1.
- Generador de inmediato y unidad de control, de la Práctica 5.
- ALU de 32 bits, de la Práctica 3.
- Memoria de datos, de la Práctica 4.
- Multiplexores de selección en cada punto de decisión.
ESTRATEGIA DE INTEGRACIÓN
Conectar por incrementos y verificar en cada paso. Integrar los siete módulos de una vez y depurar el conjunto es el camino más lento posible.
1. PC y memoria de instrucciones: verificar que se recorren las direcciones correctas.
2. Agregar decodificación y banco de registros: verificar que se leen los registros correctos.
3. Agregar la ALU: verificar las instrucciones tipo R.
4. Agregar la memoria de datos: verificar lw y sw.
5. Agregar la lógica de saltos: verificar beq y jal.
PROGRAMA DE PRUEBA
Escribir un programa corto que ejercite todos los tipos: cargar constantes, operar, guardar en memoria, leer de vuelta y saltar en un bucle. Un contador que suma los primeros diez enteros cubre casi todo.
DEPURACIÓN
- Volcar en cada ciclo el PC, la instrucción y el banco de registros con $display.
- Comparar ese volcado contra la ejecución del mismo programa en un simulador de RISC-V.
- La primera divergencia entre ambos marca exactamente la instrucción con el error.
ERRORES FRECUENTES
- Índice de la ROM sin descartar los dos bits bajos de la dirección.
- x0 no cableado a cero, lo que rompe todas las pseudoinstrucciones.
- Inmediato de tipo B mal reordenado, lo que hace que los saltos caigan en direcciones equivocadas.
- Confundir asignación bloqueante y no bloqueante en el registro del PC.
PARA LA PRÓXIMA SESIÓN
Implementación en FPGA y entrega de la Práctica 6.
Nada anotado en esta sesión todavía.