En este paquete de trabajo los estudiantes deben familiarizarce con el framework de trabajo de la FPGA seleccionado, a partir de la descripción dedecodificador BCD2SSeg
Para este paquete de trabajo, deben estar inscrito en un grupo y clonar la información del siguiente link WP02. Una vez aceptado el repositorio debe descargarlo en su computador, para ello debe clonar el mismo. Si no sabe cómo hacerlo revise la metodología de trabajo, donde se explica el proceso
Las documentación deben estar diligencia en el archivo README.md del repositorio clonado.
Una vez clone el repositorio, realice lo siguiente:
En este punto, ya se estar en la capacidad de describir e implementar Hardware sencillo, con la ayuda de herramientas computaciones. y como se vio en los ejemplos anteriores, la suma se visualiza en leds, algo que es difícil para validad visualmente la respuesta. Por lo tanto, es aconsejable tener una visualización mas acorde a las necesidades, como por ejemplo visualizar los resultados en el Display 7 Segmentos
En este Ejercicio se propone que realicen el diseño, sintentización e implementación del Display de 7 sergmentos (este último de manera virtual), el cual permita visualizar números en representación hexadecimal (0x0 a 0xF). En el siguiente gráfico, se observa cual es el funcionamiento deseado del display:
Imagen tomada de User:Guam + Various
A continuación se presentan los pasos recomendados para el ejercicio:
Definir la caja funcional del BCD:
Si observa la caja negra/ funcional ademas de la salidad de 7 segmentos contiene una salida An
. esta salida es para conectar eventualmente el ánodo del display y poder hacer visualización dinámica, cuando se tiene mas de un display conectado.
Definir la descripción Funcional
Para ello recuerde que puede hacer uso, bien sea, de las tablas de verdad o de la descripción algorítmica del BCD a siete segmentos. Recuerde que cada Segmento es una salida del diseño. Ejemplo, si desea visualizar el número 1, la salida seria de Sseg es 0110000
. observe la gráfica a continuación, para generar las salidas acorde al número de entrada.
Si el diseño digital de algún sistema se requiere mas de un display de 7 segmentos, es necesario generar una visualización tal que sea necesario el menor número de pines para conectar todos los display en con la FPGA.
Por ahora, se ha visualizado el números en un solo display de 7 segmentos. Pero en la mayoría de los casos, los 7 pines de los cátodos están inter-conectados entre cada display, como se observa en la figura:
Por lo tanto, se debe realizar una multiplexación entre los Anodos de cada Display, con el fin de visualizar en cada display un número diferente. En otras palabras, en cada instante de tiempo, solo un display se encuentra activo. En este sentido, se debe garantizar que el destello en la visualización entre cada display no se perciba. Para ello, cada display debe activarse máximo cada 16 ms.
Visualmente esto se entiende mas con la siguiente simulación, donde se desea visualizar el número en representación hexadecimal 0x4321
:
Como siempre, antes de realizar la descripción del hardware se debe diseñar la caja funcional del modulo, con las entradas y salidas
En este sentido, se adiciona al HDL de siete segmentos 4 señales de control para el LCD, llamadas An. cada bit de la señal An
debe ser modificado en el tiempo, con el fin de activar solo un display.
Se evidencia que se deben construir cuatro módulos básicos, de los cuales uno de ellos esta descrito en el ejercicio anterior, BCDtoSSeg.v. Los otros tres bloques son:
clk
de entrada, en el tiempo requerido para cada camvio de ánodo1110 1101 1011 0111
Una vez clone el repositorio y lea la anterior guia, realice lo siguiente:
En el paquete de trabajo WP02 esta la descripción del hardware que se implementa para visualizar un número hexadecimal de 32 bits en 4 display de 7 segmentos.
Comprenda cada línea del código HDL de los archivos que se encuentra en la carpera src. Si cree necesario realice los respectivos comentarios en el mismo archivo y comente
06 de abril 8 de la Noche