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.


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 

Lecture 35 - BCD Counters 

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.