Está en la página 1de 8

Actividad básica:

Utilizando un FPGA y cuatro displays de siete segmentos, diseñar un reloj digital, el cual
visualice en los dos primeros displays las horas y en los dos siguientes los minutos. Cada que
se llegue a 23 horas con 59 minutos, se reiniciará el conteo.
Para esta parte básica, tuve que realizar modificaciones al código que se proporcionó en el
documento de la práctica, esto debido a que ese código maneja una función que básicamente
opera como un multiplexor, pero como nosotros trabajamos con la placa DE10-Lite, la cual
tiene los segmentos de display conectados directamente, dicho multiplexor no nos serviría
de nada. Fue así como eliminé dicha función y después agregué cada apartado para los cuatro
displays que ocupamos.
Actividades complementarias:
Primera actividad complementaria:
A partir del ejercicio desarrollado, el alumno diseñara un bloque funcional que contenga los
elementos del multiplexor para los displays de 7 segmentos, de tal manera que ete bloque
pueda ser utilizado mas adelante por otras aplicaciones.

Segunda actividad complementaria


A partir del reloj digital presentado en la parte básica, haga las modificaciones necesarias
para que funcione como una alarma digital. Para ello, elija una hora a la que se activará la
alarma, y cuando el reloj llegue a esa hora, el avance del reloj se debe detener y la hora deberá
parpadear.
Para conseguir que el reloj se detuviera en una hora en específico, coloqué dos variables
llamadas “bandera1” y “bandera2”. Así como también declare una nueva función llamada
“alarm”, la cual, tal y como su nombre lo dice, será la alarma que, al llegar a cierta hora, se
detenga y comience a parpadear.
Es así que, con una condición en la cual, mientras la bandera1 y la bandera2 no sean ‘1’, no
se activara la detención de la alarma. Pero entonces, ¿qué ocurre cuando se activa la alarma?
Bueno, una vez que se cumplen ambas banderas, los valores de las variables que representan
a los displays, que son Qum, Qdm, Quh y Qdh, ahora recibirán el valor de unas nuevas
variables que asigné dentro de la función alarm, que son Qum1, Qdm1, Quh1 y Qdh1. Por lo
que, al activarse la alarma, se asignan estas variables que únicamente se quedaran en un
valor estático y parpadearan.

Conclusiones:
De inicio, la actividad básica me pareció bastante útil para recobrar la lógica y sintaxis del
lenguaje VHDL, confesando que no me resultó nada sencillo conseguir que el reloj digital
trabajara correctamente dentro de la DE10 – Lite, tanto por la lógica de la conexión directa
con los segmentos de los displays, como con la asignación de pines que en un principio los
coloqué invertidos.
Posteriormente, para la primera actividad complementaria percibí un poco más sencillo el
desarrollo del multiplexor, en parte por la función MUXY que se encontraba en el código
original de la parte básica, aunque a pesar de eso, terminé intrigado por el hecho de que
dicho código no pudo ser probado por nuestra placa.
Y para finalizar, llegamos a la parte más complicada de la práctica, la cual me llevó varios
días conseguir ejecutar correctamente, recalcando que de verdad sentí el aumento de nivel
a comparación con la materia anterior.

También podría gustarte