En la práctica 2 se les pide que todas las subrutinas a partir de get_ps2 (parte c en adelante) puedan funcionar indistintamente corriendo desde RAM o corriendo desde ROM. Esta segunda alternativa no la hemos usado hasta ahora.
Para correr un programa desde ROM tienen que compilarlo usando "Macro > Compilar para ROM", y si no hay errores pueden cargarlo en la ROM usando "Macro > Cargar en ROM".
Este último comando usa herramientas del Quartus para grabar el programa de ustedes en la ROM a partir de la dirección 0x0000. Al escribir en la ROM destruye el contenido del monitor que estaba grabado inicialmente en la misma. Por eso a partir de ese momento ya no es posible utilizar el debugger. Una vez grabado el programa deben darle un RESET al sistema presionando BUTTON[0].
Si en algún momento quieren volver a correr el programa desde RAM utilizando el debugger deben volver a grabar el circuito con el contenido original de la ROM (usando "Macro -> Grabar sistema en FPGA").
Para que todo funcione bien corriendo desde ROM deben utilizar la sección .data que se describe en la letra de la práctica y elegir bien en qué sección (.text que quedará en ROM o .data que quedará en RAM) colocan cada recurso de su programa (programas, variables, tablas, etc.). Deberán también inicializar explícitamente todo lo que vaya en RAM.
Saludos,
julio