SlideShare una empresa de Scribd logo
1 de 36
FPGAwars:
Explorando el lado libre de las FPGAs
Juan González Gómez (Obijuan)
24 Septiembre 2016
Medialab-Prado, Madrid https://github.com/Obijuan/myslides
https://github.com/Obijuan
Chips digitales
● El gran invento del siglo XX
● Están por todos lados
● Muy baratos
● Los compramos y los usamos
● Son cajas negras
● No los podemos estudiar
● No los podemos modificar
● No los podemos compartir
FPGAs
¿Te imaginas hacer tus propios chips?
¿Quieres aprender cómo son sus tripas?
¿Cómo se diseñan?
Una primera aproximación es
usar FPGAs
Viaje al interior de los chips digitales
● Nivel de electrónica digital
● Información: Sólo 1s y 0s (Bits)
● Función: Manipular, almacenar y transportar bits
Elementos en circuitos digitales
Cualquier circuito digital, por muy complejo que sea,
se descompone en estos 3 tipos de componentes
elementales
Tecnología FPGA
FPGA: Chip “en blanco” que contiene una matriz con los 3 componentes
básicos: puertas lógicas, biestables y cables
Configuración
FPGA no configurada
Las uniones entre cables son configurables
Configuración
Circuito creado configurando las uniones
entre los elementos básicos de la FPGA
FPGA configurada
Re-configuración
¡Sólo con cambiar las uniones, aparece
otro circuito diferente!
Circuito 1 Circuito 2
¡FPGAs = Impresoras 3D de circuitos digitales!
Bitstream
Bitstream
...1001111100010011001010101…..
● La configuración se hace cargando
un bitstream en la FPGA
● Estos bits determinan qué cables se
conectan y cuales no
Memoria de configuración
● FPGA volátiles: pierden su configuración al quitar alimentación
● El bitstream se guarda en una memoria externa: memoria de configuración
● Al arrancar la FPGA se carga con el bitstream de la memoria de configuración
● Desde un ordenador externo se carga el bitstream en la memoria de config.
Demo 1: Contador
Tarjeta Icezum Alhambra
https://github.com/FPGAwars/icezum/wiki
Diseñando circuitos digitales
Los circuitos digitales modernos se diseñan usando lenguajes de
Descripción Hardware (HDL)
HDL
Descripción en lenguajes HDL
Desde una descripción en HDL podemos simular el circuito, generar el
bitstream para FPGAs o fabricar el circuito integrado
El hardware es software
● El hardware libre es igual al software libre
● Muy fácil de compartir
● Telecopias del hardware
● Desarrollo de hardware en comunidad
HDL
FPGAs: Sólo personal autorizado
● Sólo el fabricante conoce los detalles internos
● Sólo se puede usar lo que el fabricante haya previsto
● Atados de por vida al fabricante
FPGAs libres: El renacimiento
● Proyecto Icestorm (Mayo, 2015)
● La primera toolchain que permiten pasar de Verilog al bitstream
usando sólo Herramientas libres
FPGAs libres
● Familia Lattice iCE40
● Sólo Lenguaje Verilog
Denominamos FPGAs libres a aquellas FPGAs que disponen de una
toolchain totalmente libre
● Definición:
● FPGAs libres actualmente:
http://www.latticesemi.com/Products/FPGAandCPLD/iCE40.aspx
Proyecto Icestorm
● Herramientas programadas en C/C++
● Bajar del repo y compilar
● Línea de comandos
● Se usan típicamente junto con make
● (bajo nivel)
http://www.clifford.at/icestorm/
https://github.com/cliffordwolf/icestorm
● Autor: Jesús Arroyo
● Multiplataforma (Linux, Mac, Windows, Raspberry)
● Línea de comandos
● Programado en python
● Multiplaca: icestick, icezum, icoboard, go-board
APIO
Icestorm
Comandos
Demohttps://github.com/FPGAwars/apio
APIO
https://github.com/FPGAwars/apio-ide
APIO
Icestorm
APIO-ide
● Plug-in para Atom
● No línea de comandos
● Llama a apio
● Apicable a otros
IDEs/editores
● Descripción en Verilog
APIO-ide
APIO ide
Demo
https://github.com/FPGAwars/icestudio
APIO
Icestorm
● Autor: Jesús Arroyo
● Electrónica digital para todos
● Sin conocimientos de verilog
● Herramienta visual
● Traduce a verilog
APIO-ide Icestudio
Icestudio: Demo
Tarjetas entrenadoras con FPGAs libres
Icestick
Go-board
● Conexión directa al PC (USB)
● Soportadas por Apio/Icestudio
iCE40-HX8K Breakout Board Icezum Alhambra
Tarjetas entrenadoras FPGA
icoboard
● Conexión a Raspberry PI
● Soportada por Apio/Icestudio
NO Soportadas por Apio/Icestudio
Mystorm iCE40HX1K-EVB
Icezum Alhambra v1.1
● Autor: Eladio Delgado
● Diseñada en Pinos del Valle
(Granada)
● Arduino de las FPGAs
● Compatible Arduino
● Fácil conexión de circuitos
externos/sensores/servos
● Reutilización de los shields de
arduino
● 20 entradas/salidas de 5v
● 3A corriente de entrada
● Perfecta para hacer robots
https://github.com/FPGAwars/icezum/wiki
Icezum Alhambra v1.1
8 leds de pruebas Pulsadores
de prueba
Conector
micro-usb
Alimentación
6-17v 3A
Interruptor
On/off
Pines io 3v3
Conexión directa de
Sensores / actuadores
4 entradas
analógicas i2c
Pulsador de
reset
Comunidad FPGAwars
● Comunidad para compartir conocimiento
relacionado con FPGAs libres
● Es el clonewars de las FPGAs, pero en
modesto :-)
● Idioma: Castellano
● 150 miembros
● Cualquier pregunta / comentario /
sugerencia → Correo a la lista :-)
http://fpgawars.github.io/
Me molan las FPGAs libres…
¿Por dónde empiezo?
Paso 1: Consigue una placa con FPGA libre
Icestick
Go-board
iCE40-HX8K Breakout Board Icezum Alhambra
Me molan las FPGAs libres…
¿Por dónde empiezo?
Paso 3: Empieza a aprender verilog
Tutorial: Diseño Digital para FPGAs, con herramientas libres
Paso 2: Instálate Apio / Icestudio
Me molan las FPGAs libres…
¿Por dónde empiezo?
Paso 4: Apúntate al grupo de FPGAwars y haz preguntas
● Las FPGAs libres evolucionan muy rápido y
en seguida la información se queda
obsoleta
● En FPGAwars es donde se cuece lo último
de lo último
Paso 5: Haz tus propios proyectos con FPGAs libres
Paso 6: ¡Comparte tu proyecto con la comunidad! :-)
FPGAs en Patrimonio Tecnológico de la humanidad
Software
Libre
Hardware
Libre
Reprap
FPG
As
libres
O
tros
FPGAwars:
Explorando el lado libre de las FPGAs
Juan González Gómez (Obijuan)
24 Septiembre 2016
Medialab-Prado, Madrid https://github.com/Obijuan/myslides
https://github.com/Obijuan

Más contenido relacionado

La actualidad más candente

Introducción a Arduino - Parte I
Introducción a Arduino - Parte IIntroducción a Arduino - Parte I
Introducción a Arduino - Parte I
Víctor R. Ruiz
 
Presentacion Arduino PowerPoint
Presentacion Arduino PowerPointPresentacion Arduino PowerPoint
Presentacion Arduino PowerPoint
cristianperea
 

La actualidad más candente (20)

Intro al beaglebone black makerspe
Intro al beaglebone black   makerspeIntro al beaglebone black   makerspe
Intro al beaglebone black makerspe
 
Arduino (terminado)
Arduino (terminado)Arduino (terminado)
Arduino (terminado)
 
Taller de introducción a Arduino OSL 2014
Taller de introducción a Arduino OSL 2014Taller de introducción a Arduino OSL 2014
Taller de introducción a Arduino OSL 2014
 
Introducción a Arduino - Parte I
Introducción a Arduino - Parte IIntroducción a Arduino - Parte I
Introducción a Arduino - Parte I
 
Raspberry Pi 2: Instalación y configuración
Raspberry Pi 2: Instalación y configuraciónRaspberry Pi 2: Instalación y configuración
Raspberry Pi 2: Instalación y configuración
 
Targetas arduinos
Targetas arduinosTargetas arduinos
Targetas arduinos
 
Arduino iti-2016
Arduino iti-2016Arduino iti-2016
Arduino iti-2016
 
Presentacion Arduino PowerPoint
Presentacion Arduino PowerPointPresentacion Arduino PowerPoint
Presentacion Arduino PowerPoint
 
Open hardware - Primeros pasos con Arduino
Open hardware - Primeros pasos con ArduinoOpen hardware - Primeros pasos con Arduino
Open hardware - Primeros pasos con Arduino
 
Tarjetas arduino 1
Tarjetas arduino 1Tarjetas arduino 1
Tarjetas arduino 1
 
Arduino
ArduinoArduino
Arduino
 
Introducción a Arduino (II)
Introducción a Arduino (II)Introducción a Arduino (II)
Introducción a Arduino (II)
 
MicroPython y ESP32
MicroPython y ESP32MicroPython y ESP32
MicroPython y ESP32
 
Seminario de arduino DeustoTech
Seminario de arduino DeustoTechSeminario de arduino DeustoTech
Seminario de arduino DeustoTech
 
Tarjetas arduino
Tarjetas arduinoTarjetas arduino
Tarjetas arduino
 
Introduccion a arduino 97
Introduccion a arduino 97Introduccion a arduino 97
Introduccion a arduino 97
 
20170223 buenostiempos fpga
20170223 buenostiempos fpga20170223 buenostiempos fpga
20170223 buenostiempos fpga
 
Tarjetas arduino
Tarjetas arduinoTarjetas arduino
Tarjetas arduino
 
Arduino presentacion
Arduino presentacionArduino presentacion
Arduino presentacion
 
⭐⭐⭐⭐⭐ INTRODUCCÓN A LOS CPLDs Y FPGAs
⭐⭐⭐⭐⭐ INTRODUCCÓN A LOS CPLDs Y FPGAs⭐⭐⭐⭐⭐ INTRODUCCÓN A LOS CPLDs Y FPGAs
⭐⭐⭐⭐⭐ INTRODUCCÓN A LOS CPLDs Y FPGAs
 

Destacado

Molly Elizabeth Cox resume
Molly Elizabeth Cox resumeMolly Elizabeth Cox resume
Molly Elizabeth Cox resume
Molly Cox
 
Getting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and AndroidGetting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and Android
Embarcadero Technologies
 

Destacado (15)

Electrónica digital divertica con FPGAs Libres
Electrónica digital divertica con FPGAs LibresElectrónica digital divertica con FPGAs Libres
Electrónica digital divertica con FPGAs Libres
 
HEALTHY FOODS - DINESH VORA
HEALTHY FOODS - DINESH VORAHEALTHY FOODS - DINESH VORA
HEALTHY FOODS - DINESH VORA
 
Git Hooks
Git HooksGit Hooks
Git Hooks
 
What's up LOD Cloud - Observing the state of Linked Open Data Cloud Metadata
What's up LOD Cloud - Observing the state of Linked Open Data Cloud MetadataWhat's up LOD Cloud - Observing the state of Linked Open Data Cloud Metadata
What's up LOD Cloud - Observing the state of Linked Open Data Cloud Metadata
 
Atún en Bolsa
Atún en BolsaAtún en Bolsa
Atún en Bolsa
 
Molly Elizabeth Cox resume
Molly Elizabeth Cox resumeMolly Elizabeth Cox resume
Molly Elizabeth Cox resume
 
South south and north north co operation on (2)
South  south and north north co operation on (2)South  south and north north co operation on (2)
South south and north north co operation on (2)
 
PHONE GAP
PHONE GAPPHONE GAP
PHONE GAP
 
Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016
 
Gen1 week3final
Gen1 week3finalGen1 week3final
Gen1 week3final
 
The Secrets of SQL Server: Database Worst Practices
The Secrets of SQL Server: Database Worst PracticesThe Secrets of SQL Server: Database Worst Practices
The Secrets of SQL Server: Database Worst Practices
 
Infopath replacement sharepoint alternative
Infopath replacement sharepoint alternativeInfopath replacement sharepoint alternative
Infopath replacement sharepoint alternative
 
Getting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and AndroidGetting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and Android
 
Qa tester
Qa testerQa tester
Qa tester
 
my resume
my resumemy resume
my resume
 

Similar a 2016 09-24-mini-maker-faire-madrid

Curso de introducción a arduino
Curso de introducción a arduinoCurso de introducción a arduino
Curso de introducción a arduino
3D Print Barcelona
 

Similar a 2016 09-24-mini-maker-faire-madrid (20)

FPGAs libres. UC3M-El-Evento. 2016-10-24
FPGAs libres. UC3M-El-Evento. 2016-10-24FPGAs libres. UC3M-El-Evento. 2016-10-24
FPGAs libres. UC3M-El-Evento. 2016-10-24
 
Charla
CharlaCharla
Charla
 
Electrónica digital para todos con FPGAs libres
Electrónica digital para todos con FPGAs libresElectrónica digital para todos con FPGAs libres
Electrónica digital para todos con FPGAs libres
 
Electrónica digital para todos con FPGAs libres
Electrónica digital para todos con FPGAs libresElectrónica digital para todos con FPGAs libres
Electrónica digital para todos con FPGAs libres
 
2017 05-20-murcia-meetup-day-elec-dig-para-todos-con-fpg as-libres
2017 05-20-murcia-meetup-day-elec-dig-para-todos-con-fpg as-libres2017 05-20-murcia-meetup-day-elec-dig-para-todos-con-fpg as-libres
2017 05-20-murcia-meetup-day-elec-dig-para-todos-con-fpg as-libres
 
Arduino UNO vs Launchpad MSP430G2
Arduino UNO vs Launchpad MSP430G2Arduino UNO vs Launchpad MSP430G2
Arduino UNO vs Launchpad MSP430G2
 
Curso de introducción a arduino
Curso de introducción a arduinoCurso de introducción a arduino
Curso de introducción a arduino
 
Diferentes tipos de arduino
Diferentes tipos de arduinoDiferentes tipos de arduino
Diferentes tipos de arduino
 
Expoembebidos
ExpoembebidosExpoembebidos
Expoembebidos
 
Electrónica digital divertica con FPGAs Libres. Malakabot 2017
Electrónica digital divertica con FPGAs Libres. Malakabot 2017Electrónica digital divertica con FPGAs Libres. Malakabot 2017
Electrónica digital divertica con FPGAs Libres. Malakabot 2017
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
GUIA BASICA ARDUINO
GUIA BASICA ARDUINOGUIA BASICA ARDUINO
GUIA BASICA ARDUINO
 
11 dispositivos logicos programables 2018
11 dispositivos logicos programables 201811 dispositivos logicos programables 2018
11 dispositivos logicos programables 2018
 
Charla introducción a RaspberryPI
Charla introducción a RaspberryPICharla introducción a RaspberryPI
Charla introducción a RaspberryPI
 
Los Diferentes Arduinos y Sus Caracteristicas
Los Diferentes Arduinos y Sus CaracteristicasLos Diferentes Arduinos y Sus Caracteristicas
Los Diferentes Arduinos y Sus Caracteristicas
 
Tipos de arduino y sus caracteristicas
Tipos de arduino y sus caracteristicasTipos de arduino y sus caracteristicas
Tipos de arduino y sus caracteristicas
 
Arduino's
Arduino'sArduino's
Arduino's
 
Reporte de arduino
Reporte de arduinoReporte de arduino
Reporte de arduino
 
Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015
 
Seminari
SeminariSeminari
Seminari
 

Más de obijuan_cube

Más de obijuan_cube (11)

Nosotros compartimos
Nosotros compartimosNosotros compartimos
Nosotros compartimos
 
2017 05-05-peac-elec-dig-divertida-con-fpg as-libres
2017 05-05-peac-elec-dig-divertida-con-fpg as-libres2017 05-05-peac-elec-dig-divertida-con-fpg as-libres
2017 05-05-peac-elec-dig-divertida-con-fpg as-libres
 
Let's build modular robots!
Let's build modular robots!Let's build modular robots!
Let's build modular robots!
 
PrintBots: Robots libres e imprimibles. Málaga 2012
PrintBots: Robots libres e imprimibles. Málaga 2012PrintBots: Robots libres e imprimibles. Málaga 2012
PrintBots: Robots libres e imprimibles. Málaga 2012
 
IMPRESORAS 3D OPEN-SOURCE: Orígenes y evolución
IMPRESORAS 3D OPEN-SOURCE: Orígenes y evoluciónIMPRESORAS 3D OPEN-SOURCE: Orígenes y evolución
IMPRESORAS 3D OPEN-SOURCE: Orígenes y evolución
 
PrintBots: Robots libres e imprimibles. Cybertech 2012
PrintBots: Robots libres e imprimibles. Cybertech 2012PrintBots: Robots libres e imprimibles. Cybertech 2012
PrintBots: Robots libres e imprimibles. Cybertech 2012
 
Printbots: Robots libres e imprimibles. Madridbot-2012
Printbots: Robots libres e imprimibles. Madridbot-2012Printbots: Robots libres e imprimibles. Madridbot-2012
Printbots: Robots libres e imprimibles. Madridbot-2012
 
PrintBots: Robots libres e imprimibles
PrintBots: Robots libres e imprimiblesPrintBots: Robots libres e imprimibles
PrintBots: Robots libres e imprimibles
 
Motion Control of Differential Wheeled Robots with Joint Limit Constraints (S...
Motion Control of Differential Wheeled Robots with Joint Limit Constraints (S...Motion Control of Differential Wheeled Robots with Joint Limit Constraints (S...
Motion Control of Differential Wheeled Robots with Joint Limit Constraints (S...
 
Latinoware: Robots libres e Imprimibles
Latinoware: Robots libres e ImprimiblesLatinoware: Robots libres e Imprimibles
Latinoware: Robots libres e Imprimibles
 
Robots libres e Imprimibles
Robots libres e ImprimiblesRobots libres e Imprimibles
Robots libres e Imprimibles
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (15)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

2016 09-24-mini-maker-faire-madrid

  • 1. FPGAwars: Explorando el lado libre de las FPGAs Juan González Gómez (Obijuan) 24 Septiembre 2016 Medialab-Prado, Madrid https://github.com/Obijuan/myslides https://github.com/Obijuan
  • 2. Chips digitales ● El gran invento del siglo XX ● Están por todos lados ● Muy baratos ● Los compramos y los usamos ● Son cajas negras ● No los podemos estudiar ● No los podemos modificar ● No los podemos compartir
  • 3. FPGAs ¿Te imaginas hacer tus propios chips? ¿Quieres aprender cómo son sus tripas? ¿Cómo se diseñan? Una primera aproximación es usar FPGAs
  • 4. Viaje al interior de los chips digitales ● Nivel de electrónica digital ● Información: Sólo 1s y 0s (Bits) ● Función: Manipular, almacenar y transportar bits
  • 5. Elementos en circuitos digitales Cualquier circuito digital, por muy complejo que sea, se descompone en estos 3 tipos de componentes elementales
  • 6. Tecnología FPGA FPGA: Chip “en blanco” que contiene una matriz con los 3 componentes básicos: puertas lógicas, biestables y cables
  • 7. Configuración FPGA no configurada Las uniones entre cables son configurables
  • 8. Configuración Circuito creado configurando las uniones entre los elementos básicos de la FPGA FPGA configurada
  • 9. Re-configuración ¡Sólo con cambiar las uniones, aparece otro circuito diferente!
  • 11. ¡FPGAs = Impresoras 3D de circuitos digitales!
  • 12. Bitstream Bitstream ...1001111100010011001010101….. ● La configuración se hace cargando un bitstream en la FPGA ● Estos bits determinan qué cables se conectan y cuales no
  • 13. Memoria de configuración ● FPGA volátiles: pierden su configuración al quitar alimentación ● El bitstream se guarda en una memoria externa: memoria de configuración ● Al arrancar la FPGA se carga con el bitstream de la memoria de configuración ● Desde un ordenador externo se carga el bitstream en la memoria de config.
  • 14. Demo 1: Contador Tarjeta Icezum Alhambra https://github.com/FPGAwars/icezum/wiki
  • 15. Diseñando circuitos digitales Los circuitos digitales modernos se diseñan usando lenguajes de Descripción Hardware (HDL) HDL
  • 16. Descripción en lenguajes HDL Desde una descripción en HDL podemos simular el circuito, generar el bitstream para FPGAs o fabricar el circuito integrado
  • 17. El hardware es software ● El hardware libre es igual al software libre ● Muy fácil de compartir ● Telecopias del hardware ● Desarrollo de hardware en comunidad HDL
  • 18. FPGAs: Sólo personal autorizado ● Sólo el fabricante conoce los detalles internos ● Sólo se puede usar lo que el fabricante haya previsto ● Atados de por vida al fabricante
  • 19. FPGAs libres: El renacimiento ● Proyecto Icestorm (Mayo, 2015) ● La primera toolchain que permiten pasar de Verilog al bitstream usando sólo Herramientas libres
  • 20. FPGAs libres ● Familia Lattice iCE40 ● Sólo Lenguaje Verilog Denominamos FPGAs libres a aquellas FPGAs que disponen de una toolchain totalmente libre ● Definición: ● FPGAs libres actualmente: http://www.latticesemi.com/Products/FPGAandCPLD/iCE40.aspx
  • 21. Proyecto Icestorm ● Herramientas programadas en C/C++ ● Bajar del repo y compilar ● Línea de comandos ● Se usan típicamente junto con make ● (bajo nivel) http://www.clifford.at/icestorm/ https://github.com/cliffordwolf/icestorm
  • 22. ● Autor: Jesús Arroyo ● Multiplataforma (Linux, Mac, Windows, Raspberry) ● Línea de comandos ● Programado en python ● Multiplaca: icestick, icezum, icoboard, go-board APIO Icestorm Comandos Demohttps://github.com/FPGAwars/apio APIO
  • 23. https://github.com/FPGAwars/apio-ide APIO Icestorm APIO-ide ● Plug-in para Atom ● No línea de comandos ● Llama a apio ● Apicable a otros IDEs/editores ● Descripción en Verilog APIO-ide
  • 25. https://github.com/FPGAwars/icestudio APIO Icestorm ● Autor: Jesús Arroyo ● Electrónica digital para todos ● Sin conocimientos de verilog ● Herramienta visual ● Traduce a verilog APIO-ide Icestudio
  • 27. Tarjetas entrenadoras con FPGAs libres Icestick Go-board ● Conexión directa al PC (USB) ● Soportadas por Apio/Icestudio iCE40-HX8K Breakout Board Icezum Alhambra
  • 28. Tarjetas entrenadoras FPGA icoboard ● Conexión a Raspberry PI ● Soportada por Apio/Icestudio NO Soportadas por Apio/Icestudio Mystorm iCE40HX1K-EVB
  • 29. Icezum Alhambra v1.1 ● Autor: Eladio Delgado ● Diseñada en Pinos del Valle (Granada) ● Arduino de las FPGAs ● Compatible Arduino ● Fácil conexión de circuitos externos/sensores/servos ● Reutilización de los shields de arduino ● 20 entradas/salidas de 5v ● 3A corriente de entrada ● Perfecta para hacer robots https://github.com/FPGAwars/icezum/wiki
  • 30. Icezum Alhambra v1.1 8 leds de pruebas Pulsadores de prueba Conector micro-usb Alimentación 6-17v 3A Interruptor On/off Pines io 3v3 Conexión directa de Sensores / actuadores 4 entradas analógicas i2c Pulsador de reset
  • 31. Comunidad FPGAwars ● Comunidad para compartir conocimiento relacionado con FPGAs libres ● Es el clonewars de las FPGAs, pero en modesto :-) ● Idioma: Castellano ● 150 miembros ● Cualquier pregunta / comentario / sugerencia → Correo a la lista :-) http://fpgawars.github.io/
  • 32. Me molan las FPGAs libres… ¿Por dónde empiezo? Paso 1: Consigue una placa con FPGA libre Icestick Go-board iCE40-HX8K Breakout Board Icezum Alhambra
  • 33. Me molan las FPGAs libres… ¿Por dónde empiezo? Paso 3: Empieza a aprender verilog Tutorial: Diseño Digital para FPGAs, con herramientas libres Paso 2: Instálate Apio / Icestudio
  • 34. Me molan las FPGAs libres… ¿Por dónde empiezo? Paso 4: Apúntate al grupo de FPGAwars y haz preguntas ● Las FPGAs libres evolucionan muy rápido y en seguida la información se queda obsoleta ● En FPGAwars es donde se cuece lo último de lo último Paso 5: Haz tus propios proyectos con FPGAs libres Paso 6: ¡Comparte tu proyecto con la comunidad! :-)
  • 35. FPGAs en Patrimonio Tecnológico de la humanidad Software Libre Hardware Libre Reprap FPG As libres O tros
  • 36. FPGAwars: Explorando el lado libre de las FPGAs Juan González Gómez (Obijuan) 24 Septiembre 2016 Medialab-Prado, Madrid https://github.com/Obijuan/myslides https://github.com/Obijuan