Verilog Práctico con Alhambra FPGA

Si tienes una Alhambra FPGA  seguramente conoces los tutoriales del gran Obijuan con Icestudio y has aprendido un montón acerca de este apasionante dispositivo. 

Si quieres profundizar en el mundillo FPGA y sacarle más partido a tu Alhambra, el siguiente paso es aprender Verilog.

Aquí encontrarás una serie de entradas sobre Verilog con ejemplos prácticos que puedes subir y testear en tu Alhambra.


18 de diciembre de 2021

En este capítulo veremos unos breves apuntes sobre Verilog.

No es mi intención hacer un repaso exhaustivo sobre todas y cada una de las funcionalidades de Verilog, si no más bien sentar un punto de partida para todos aquellos que se acercan por primera vez a este lenguaje. Definir los términos más comúnmente utilizados y tratar de explicar como se organizan los diferentes métodos de describir circuitos.


1 de enero de 2021

En este primer capítulo veremos como instalar las herramientas necesarias, básicamente utilizaremos Atom y APIO bajo Windows10.


publicado el 1 de enero de 2021
actualizado el 20 de noviembre de 2021

Uno de los dispositivos básicos cuando hablamos de circuitos digitales son las puertas lógicas.

En este capítulo veremos cómo programar puertas lógicas en la Alhambra.


20 de noviembre de 2021

Un wire es literalmente un cable, se usa para conectar componentes intermedios. En Verilog pertenece a los datos tipo Net. Puede tomar valores 0, 1, X, Z, donde X es desconocido o no inicializado y Z alta impedancia o triestado. 

Una señal tipo Net, es gobernada continuamente y actualiza su valor cuando el valor del controlador cambia. 



2 de enero de 2021

En este capítulo veremos dos elementos muy útiles, el contador y el prescaler. 

El primer elemento intuimos para qué sirve, el segundo se utiliza para dividir la frecuencia del reloj del sistema en frecuencias menores. 


9 de enero de 2021

En esta entrada veremos cómo controlar un display de 7 segmentos. 



17 de enero de 2021

En esta entrada aprenderemos cómo multiplexar un display de 7 segmentos x 4 dígitos de ánodo común, modelo 3461BS. Esta técnica de conmutación consiste en iluminar un dígito cada vez, pero a una frecuencia lo suficientemente alta como para engañar al ojo humano y que parezca que están todos encendidos a la vez, así ahorramos pines de E/S en la FPGA. 


6 de febrero de 2021

Siguiendo con los tutoriales sobre displays, a continuación veremos cómo controlar una pequeña matriz de ledes. Además, el dato a mostrar por el display lo almacenaremos en una memoria ROM.


20 de febrero de 2021

En este tutorial aprenderemos a modelar Flip-Flops tipo D. Esos dispositivos son unidades básicas de memoria.

Hay otros tipos de flip-flop como los SR y JK, pero los  de tipo D son los más empleados en diseño electrónico.


21 de marzo de 2021


En este tutorial veremos varias técnicas para eliminar los rebotes en pulsadores e interruptores.

Los rebotes o bouncing son un fenómeno que se da cuando accionamos pulsadores e interruptores y consiste en una serie de rebotes o picos en la señal, que pueden afectar de manera negativa al comportamiento de un circuito.

4 de abril de 2021

En esta primera parte, explicaremos conceptos generales; cómo generar pulsos PWM con la Alhambra FPGA, cómo customizar la frecuencia y el ciclo de trabajo  -duty cycle- y como ejemplo de aplicación veremos cómo controlar la velocidad y sentido de giro de un motor de CC.


24 de abril de 2021

Un servo es un motor de corriente continua que tiene la capacidad de ubicarse en cualquier posición dentro de su rango de operación (típicamente 0 - 180º) y mantenerse estable en dicha posición. 

 

Lleva incorporado un sistema de regulación controlado mediante pulsos PWM a una frecuencia de 50 Hz y con un duty cycle de entre 1 y 2 milisegundos. Es decir, la posición del eje de un servo se controla con pulsos PWM donde 1 ms son 0º y 2 ms son 180º. 

Licencia