Práctica 4 · Memoria ROM
viernes 9 de octubre · 16:00–17:40 · en 48 días
GUÍA 09-10-26 Laboratorio de Arquitecturas Computacionales
LA116 · viernes 09/10/2026 · 16:00-17:40 · Sesión 9
Práctica 4 · Memoria ROM
OBJETIVO DE LA PRÁCTICA
Descripción en Verilog y simulación del manejo de memoria ROM y memoria RAM. Hoy la memoria de instrucciones.
LA ROM COMO MEMORIA DE INSTRUCCIONES
En el procesador que se está construyendo, la ROM guarda el programa. El procesador la lee y nunca la escribe, lo que corresponde a la separación de la arquitectura Harvard.
DESCRIPCIÓN
- reg [31:0] rom [0:255]; declara 256 palabras de 32 bits.
- assign dato = rom[direccion[9:2]]; — nota el desplazamiento de dos bits.
POR QUÉ SE DESCARTAN LOS DOS BITS BAJOS
Las direcciones son de bytes y las instrucciones ocupan cuatro bytes. La instrucción n está en la dirección 4n, así que el índice del arreglo es la dirección dividida entre cuatro, es decir, sin los dos bits menos significativos. Olvidarlo hace que el procesador ejecute basura y es un error difícil de localizar.
INICIALIZACIÓN
- $readmemh("programa.hex", rom); carga el contenido desde un archivo en hexadecimal.
- El archivo se genera con un ensamblador de RISC-V, o a mano para programas pequeños.
Vale la pena escribir a mano las primeras cinco instrucciones codificándolas bit a bit: es la mejor forma de fijar los formatos que se vieron en la clase de teoría.
ROM SÍNCRONA Y ASÍNCRONA
- Asíncrona: la salida aparece en cuanto cambia la dirección. Simple, pero es un camino combinacional largo.
- Síncrona: la salida aparece un ciclo después. Es la que permite usar los bloques de RAM dedicados de la FPGA y alcanzar frecuencias altas.
Elegir la síncrona obliga a considerar ese ciclo de latencia en el diseño del camino de datos. Es una decisión de arquitectura, no solo de implementación.
VERIFICACIÓN
Cargar un programa conocido, recorrer las direcciones y comprobar que cada palabra leída coincide con el archivo fuente.
PARA LA PRÓXIMA SESIÓN
Memoria RAM y entrega de la Práctica 4.
Nada anotado en esta sesión todavía.