Temporal - Obijuan/Curso-Electronica-Digital-para-makers-con-FPGAs-Libres GitHub Wiki
Información temporal
Introducción
Las FPGAs son una tecnología muy potente, que nos permite implementar rápidamente cualquier circuito digital avanzado: microprocesadores, unidades de comunicaciones, controladores, periféricos, coprocesadores, filtros digitales...
Aunque se conocen desde hace más de 30 años, no han llegado a ser tan populares como los sistemas digitales basados en microprocesadores (como por ejemplo arduino). Sin embargo, desde marzo del 2015, ya disponemos de herramientas libres para trabajar con las FPGAs de Lattice (Proyecto icestorm). Esto ha cambiado el escenario totalmente, democratizando esta tecnología. Ahora es mucho más fácil y accesible el proceso de síntesis en estas FPGAs, convirtiéndolas en "arduinos". Pero en vez de cargar software, lo que hacemos es crear hardware.
El objetivo de este curso es diseñar sistemas digitales utilizando estas nuevas herramientas libres, y transmitir a los asistentes lo accesible que es ahora crear nuestros propios diseños en la FPGA
Material
- Servos
- Sensores IR
- Pulsadores
- Leds
- Protoboards
- Cables
Contenido
Bloque 1A: Introducción (4h)
- FPGAs
- FPGAs libres
- Proyecto Icestorm
- Herrmientas libres: apio, apio-ide, icestudio, platformio
- Lenguajes de descripción hardware
- Verilog
- Sistemas digitales
- Circuitos "hola mundo"
Bloque 1B: Circuitos combinaciones (4h)
- Tirando cables
- Tablas de verdad
- Puertas lógicas
- Multiplexores
- Codificadores y decodificadores
Bloque 2A: Circuitos secuenciales (4h)
- Registros
- Contadores
- Memorias
Bloque 2B: Sistemas digitales (4h)
- Instanciación de módulos
- Generación de sonidos
- Movimiento de servos
- Seguidor de líneas
Bloque 3A: Comunicaciones (4h)
- Uarts
- SPI
- I2C
Bloque 3B: Periféricos (4h)
- Temporizadores
- Unidades PWM
- divisores de frecuencia
Bloque 4A: Máquinas de estado (Autómatas) (4h)
- Unidades de control
Bloque 4B: Soft-procesors (4h)
- Microbio
- Simplez