Verilog con BASYS 3
Capítulo 4. Display de 7 segmentos
7 de febrero de 2024
En este tutorial veremos cómo controlar el display de 7 segmentos de la BASYS 3. Describiremos cuatro ejemplos de menor a mayor dificultad.
- Convertidor Binario a Hexadecimal v1
Un convertido binario a hexadecimal es un ejemplo de aplicación de los decoders. Un descodificador es un circuito combinacional que recibe como entrada un código binario, se descodifica y se activan las salidas correspondientes.
En este ejemplo introducimos un número binario de 4 bits con los switches sw0 a sw3 y su correspondiente valor en hexadecimal lo mostramos en los displays de 7 segmentos de la BASYS 3. Para activar un display, se conecta el ánodo a nivel bajo. En este ejemplo conectaremos todos a GND para que los cuatro displays funcionen a la vez.
El código Verilog queda como sigue:
Mapa de entradas y salidas.
2. Convertidor Binario a Hexadecimal v2
Partiendo del código anterior, vamos a añadir cuatro interruptores sw12 a sw15 que conectaremos a los ánodos comunes de los displays y controlaremos manualmente que display se enciende en cada momento.
El código Verilog queda como sigue.
Mapa de entradas y salidas.
3. Contador ascedendente / descendente
En este ejemplo haremos un contador hexadecimal ascendente / descendente, el resultado se muestra por un sólo display que irá moviéndose de derecha a izquierda si estamos en modo contador ascendente, o de izquierda a derecha si contamos en modo descendente.
Para mover el dígito describiremos un contador de dos bits, conectado a los ánodos comunes del display de siete segmentos.
El circuito tendrá además un interruptor de enable que detiene la cuenta y un pulsador de reset para poner a cero el contador.
El código Verilog queda como sigue.
Mapa de entradas y salidas.
4. Contador BCD
En este último ejemplo haremos un contador de 0 a 9999. Pare ello instanciamos cuatro contadores BCD para las unidades, decenas, centenas y millares. Luego con dos multiplexores conmutamos a una frecuencia de 50 Hz el valor de cada contador BDC en los dígitos del display de 7 segmentos, de esa manera da la sensación de que los cuatro displays están encendidos a la vez.
El código Verilog queda como sigue.
Mapa de entradas y salidas.
Enlaces
Basado en el curso Digital Circuit Design Using Verilog
Many thanks to Mr Anas Salah Eddin for sharing
Descargas
Puedes descargar el código Verilog de los cuatro ejemplos en el link de aquí abajo.