Verilog con BASYS 3

Capítulo 6. Temporizador de escalera

24 de febrero de 2024

En el siguiente tutorial veremos cómo hacer un sencillo temporizador de escalera donde encender una lámpara con un pulsador. Y digo sencillo entre comillas porque vamos a emplear hasta 5 módulos para hacer el circuito final.

Este puede ser un buen ejemplo de diseño jerárquico en Verilog, donde aprenderemos cómo se interconectan los distintos módulos que componen nuestro diseño.

Ejemplo 1. Temporizador de escalera

Veamos el código Verilog de cada uno de los módulos por separado.

El flip-flop tipo D se instancia dos veces, el primero genera la señal enable para el temporizador, el segundo flip-flop se encarga de encender y apagar el led1 que simula la lámpara.

El temporizador produce un tic x segundo.

La salida del temporizador, junto el flip-flop T, generan una señal de reloj de 1 Hz.

La señal de reloj de 1 Hz se aplica en la entrada del contador. El tiempo que permanece la lámpara encendida lo determina el valor final del contador.

Cuando se alcanza el tiempo establecido, el contador genera un tic para apagar la lámpara reseteando el flip-flop D.

La imagen siguiente muestra el esquema del temporizador. Como decíamos al principio, está formado por cinco módulos independientes y conectados entre sí.

Las entradas son el pulsador de encendido y la señal de reloj. Como salidas tenemos el led1 que simula la lámpara y el led0 es la señal de reloj de 1 Hz que utiliza el contador. Conectar esta señal de reloj al led0 nos sirve para saber que el circuito está vivo.

Justo a continuación del esquema podemos ver el código Verilog del módulo top, donde se instancian e interconectar los módulos simples, completando así el diseño jerárquico de nuestro circuito.

Mapa de entradas y salidas.

Ejemplo 2. Temporizador doble independiente

Por supuesto podemos seguir añadiendo módulos a la jerarquía. 

Por ejemplo, vamos a instanciar dos veces el módulo top anterior para crear dos temporizadores independientes, cada uno con su pulsador de encendido y salidas independientes para la lámpara y la señal de reloj de 1 Hz.

Archivo .XDC

Eso es todo! espero que os haya gustado.

Enlaces

Verilog con BASYS 3. Capitulo 5. Generadores de frecuencia 

Verilog con Alhambra FPGA. Capítulo 7. Flip-Flop tipo D 

Descargas

Puedes descargar el código Verilog de los ejemplos anteriores en el enlace de aquí abajo.