Verilog con BASYS 3
Capítulo 6. Temporizador de escalera
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.