SlideShare une entreprise Scribd logo
1  sur  45
FPGAs libres
Juan González Gómez (Obijuan)
Depto. Sistemas
Telemáticos y computación
9 de Noviembre de 2016
ETSIT-URJC.
https://github.com/Obijuan/myslides
https://github.com/Obijuan
PARTE I: Circuitos digitales y
FPGAs
PARTE II: Herramientas libres
PARTE III: ¿Cómo empiezo?
Contenido
PARTE I:
Circuitos digitales y FPGAs
Nuevas tecnologías:
Mundo de cajas negras
Patrimonio Tecnológico de la humanidad
Software
Libre
Hardware
Libre
Reprap
Pasemos al siguiente nivel:
Chips digitales
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
La electrónica digital es intuitiva y…
¡Divertida!
APP:
Circuit
Scramble
FPGAs: Implementando circuitos
digitales
FPGA: Chip “en blanco” que contiene una matriz con los 3 componentes
básicos: puertas lógicas, biestables y cables
Circuito 1 Circuito 2
Configuración
¡FPGAs = Impresoras 3D de circuitos digitales!
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
PARTE II:
HERRAMIENTAS LIBRES
FPGAs: Sólo personal autorizado
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
Flujo de trabajo
Diseño Ficheros HDL
Bitstream
Síntesis
Configuración
¡Usando sólo herramientas libres!
Pila de herramientas libres
https://github.com/FPGAwars/icestudio
● Autor: Jesús Arroyo
● Electrónica digital para todos
● Sin conocimientos de verilog
● Herramienta visual
● Traduce a verilog
Demo
Apio-ide https://github.com/FPGAwars/apio-ide
● Autores: Jesus Arroyo/Obijuan
● Plug-in para Atom
● No línea de comandos
● Llama a apio
● Aplicable a otros IDEs/editores
● Descripción en VerilogDemo
● Autor: Jesús Arroyo
● Multiplataforma (Linux, Mac, Windows, Raspberry)
● Línea de comandos
● Programado en python
● Multiplaca: icestick, icezum, icoboard, go-board
Demohttps://github.com/FPGAwars/apio
Demo
Bajo nivel: Icestorm
● Ficheros: cont8.v icezum.pcf
● Síntesis:
$ yosys -p "synth_ice40 -blif cont8.blif" cont8.v
● Emplazado y rutado:
$ arachne-pnr -d 1k -p icezum.pcf cont8.blif -o cont8.asc
● Empaquetado:
$ icepack cont8.asc cont8.bin
● Carga en FPGA:
$ iceprog cont8.bin
http://www.clifford.at/icestorm/
https://github.com/cliffordwolf/icestorm
● Autor: Clifford Wolf
● Herramientas programadas en C/C++
● Bajar del repo y compilar
● Línea de comandos
● Se usan típicamente junto con make
PARTE III:
¿Cómo empiezo?
Paso 1: Consigue una placa
Con FPGA libre
Icestick
Go-board
● Conexión directa al PC (USB)
● Soportadas por Apio/Icestudio
iCE40-HX8K Breakout Board
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
Icezum Alhambra v1.0K en Kicad
Icezum Alhambra v1.0K en Kicad
Icezum Alhambra v1.0K en Kicad
¡Fuentes de componentes en FreeCAD!
https://github.com/FreeCAD/FreeCAD-library
Rasty
● FPGA Fun!
● 8 Alhambra-leds
● Alimentación: power bank
Sonidos simples con Zumbador
● Conexión a una placa con
Zumbador
● Melodías básica
● ¡Fácil meter varios canales!
Larby: Robot modular
● Servos conectados directamente a
Icezum Alhambra
● Configuración mínima pitch-pitch
● Módulo impresos en 3D
Icezum Alhambra peregrina
● A.k.a CalmaSAV
● Empieza:
Rinconingenieril.es
● Ámbito: Toda España
● Coordinado desde la lista
de FPGAwars
¡Últimas noticias!
● 8 de Noviembre de 2016
● Primeras alhambra v1.1
de producción, para el
Crowdfunding de 100
unidades
● Vídeo de montaje
Vídeo
Paso 2: Instálate Icestudio/Apio
https://github.com/FPGAwars/icestudio https://github.com/FPGAwars/apio
Tutorial: Diseño Digital para FPGAs, con herramientas libres
Paso 3: Aprende diseño digital y Verilog
https://github.com/Obijuan/open-fpga-verilog-tutorial/wiki
● Hace 1 año (obsoleto)
● Herramientas de bajo nivel (make)
● Tarjeta icestick
● Útil mientras hago uno más actualizado :-)
Paso 4: Apúntate a la comunidad
FPGAwars
● Comunidad para compartir conocimiento
relacionado con FPGAs libres
● Es el clonewars de las FPGAs, pero en
modesto :-)
● Idioma: Castellano
● 211 miembros
● Cualquier pregunta / comentario /
sugerencia → Correo a la lista :-)
http://fpgawars.github.io/
Paso 5: Haz tus proyectos con
FPGAs libres
https://github.com/Obijuan/ACC/wikihttps://github.com/Obijuan/simplez-fpga/wiki/Procesador-SIMPLEZ-F
Paso 6: ¡Comparte con la comunidad!
FPGAs en Patrimonio Tecnológico de la humanidad
Software
Libre
Hardware
Libre
Reprap
FPG
As
libres
O
tros
FPGAs libres
Juan González Gómez (Obijuan)
Depto. Sistemas
Telemáticos y computación
9 de Noviembre de 2016
ETSIT-URJC.
https://github.com/Obijuan/myslides
https://github.com/Obijuan

Contenu connexe

Tendances

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ónVíctor R. Ruiz
 
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 2014Jose Antonio Vacas
 
MicroPython en el ESP8266
MicroPython en el ESP8266MicroPython en el ESP8266
MicroPython en el ESP8266Víctor R. Ruiz
 
Introducción a Arduino (II)
Introducción a Arduino (II)Introducción a Arduino (II)
Introducción a Arduino (II)Víctor R. Ruiz
 
Introducción a Arduino - Parte I
Introducción a Arduino - Parte IIntroducción a Arduino - Parte I
Introducción a Arduino - Parte IVíctor R. Ruiz
 
Arduino iti-2016
Arduino iti-2016Arduino iti-2016
Arduino iti-2016jcucaita
 
El sorprendente esp8266
El sorprendente esp8266El sorprendente esp8266
El sorprendente esp8266Volkan Rivera
 
Usemos un raspberry pi para analizar el funcionamiento
Usemos un raspberry pi para analizar el funcionamientoUsemos un raspberry pi para analizar el funcionamiento
Usemos un raspberry pi para analizar el funcionamientoJavier Liendo
 
Seminario de arduino DeustoTech
Seminario de arduino DeustoTechSeminario de arduino DeustoTech
Seminario de arduino DeustoTechAdolfo García
 
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 2017obijuan_cube
 
Presentacion Arduino PowerPoint
Presentacion Arduino PowerPointPresentacion Arduino PowerPoint
Presentacion Arduino PowerPointcristianperea
 
Arduino práctico comunicaciones - serie
Arduino práctico   comunicaciones - serieArduino práctico   comunicaciones - serie
Arduino práctico comunicaciones - serieJose Antonio Vacas
 
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...Carlos Camacho
 

Tendances (20)

Intro al beaglebone black makerspe
Intro al beaglebone black   makerspeIntro al beaglebone black   makerspe
Intro al beaglebone black makerspe
 
Charla
CharlaCharla
Charla
 
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
 
MicroPython y ESP32
MicroPython y ESP32MicroPython y ESP32
MicroPython y ESP32
 
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
 
MicroPython en el ESP8266
MicroPython en el ESP8266MicroPython en el ESP8266
MicroPython en el ESP8266
 
Introducción a Arduino (II)
Introducción a Arduino (II)Introducción a Arduino (II)
Introducción a Arduino (II)
 
Arduino
ArduinoArduino
Arduino
 
Introducción a Arduino - Parte I
Introducción a Arduino - Parte IIntroducción a Arduino - Parte I
Introducción a Arduino - Parte I
 
Arduino iti-2016
Arduino iti-2016Arduino iti-2016
Arduino iti-2016
 
El sorprendente esp8266
El sorprendente esp8266El sorprendente esp8266
El sorprendente esp8266
 
Usemos un raspberry pi para analizar el funcionamiento
Usemos un raspberry pi para analizar el funcionamientoUsemos un raspberry pi para analizar el funcionamiento
Usemos un raspberry pi para analizar el funcionamiento
 
Seminario de arduino DeustoTech
Seminario de arduino DeustoTechSeminario de arduino DeustoTech
Seminario de arduino DeustoTech
 
Scratch salta al mundo real
Scratch salta al mundo realScratch salta al mundo real
Scratch salta al mundo real
 
Hardware 2
Hardware 2Hardware 2
Hardware 2
 
20170223 buenostiempos fpga
20170223 buenostiempos fpga20170223 buenostiempos fpga
20170223 buenostiempos fpga
 
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
 
Presentacion Arduino PowerPoint
Presentacion Arduino PowerPointPresentacion Arduino PowerPoint
Presentacion Arduino PowerPoint
 
Arduino práctico comunicaciones - serie
Arduino práctico   comunicaciones - serieArduino práctico   comunicaciones - serie
Arduino práctico comunicaciones - serie
 
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
 

En vedette

Assignment 2 (research report)
Assignment 2 (research report)Assignment 2 (research report)
Assignment 2 (research report)Carlson Ko
 
Cuvântul vietii august 2016
Cuvântul vietii   august  2016Cuvântul vietii   august  2016
Cuvântul vietii august 2016parohiavaleamare
 
March of-the-robots-into-the-boardroom-whitepaper
March of-the-robots-into-the-boardroom-whitepaperMarch of-the-robots-into-the-boardroom-whitepaper
March of-the-robots-into-the-boardroom-whitepaperJayne Florence
 
Tecnología
TecnologíaTecnología
Tecnologíaesap1004
 
Proyecto # 5
Proyecto # 5Proyecto # 5
Proyecto # 5jeankrs9
 
2016 Shawna Ley Resume Revised 2
2016 Shawna Ley Resume Revised 22016 Shawna Ley Resume Revised 2
2016 Shawna Ley Resume Revised 2Shawna Ley
 
Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.Carlos Miguel Ferreira
 
What every C++ programmer should know about modern compilers (w/ comments, AC...
What every C++ programmer should know about modern compilers (w/ comments, AC...What every C++ programmer should know about modern compilers (w/ comments, AC...
What every C++ programmer should know about modern compilers (w/ comments, AC...Sławomir Zborowski
 
Enabling Self-service Data Provisioning Through Semantic Enrichment of Data |...
Enabling Self-service Data Provisioning Through Semantic Enrichment of Data |...Enabling Self-service Data Provisioning Through Semantic Enrichment of Data |...
Enabling Self-service Data Provisioning Through Semantic Enrichment of Data |...Ahmad Assaf
 
Domain Driven Design Framework
Domain Driven Design FrameworkDomain Driven Design Framework
Domain Driven Design FrameworkBien Hoang
 
Erasmus+. Bienvenida y programa 25-4-16
Erasmus+. Bienvenida y programa 25-4-16Erasmus+. Bienvenida y programa 25-4-16
Erasmus+. Bienvenida y programa 25-4-16jesusman
 
ER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureEmbarcadero Technologies
 
тема 1 молоко
тема 1 молокотема 1 молоко
тема 1 молокоMANIHINA_LA
 

En vedette (17)

Assignment 2 (research report)
Assignment 2 (research report)Assignment 2 (research report)
Assignment 2 (research report)
 
Cuvântul vietii august 2016
Cuvântul vietii   august  2016Cuvântul vietii   august  2016
Cuvântul vietii august 2016
 
Four_Mortgage_Factors
Four_Mortgage_FactorsFour_Mortgage_Factors
Four_Mortgage_Factors
 
Resume
ResumeResume
Resume
 
March of-the-robots-into-the-boardroom-whitepaper
March of-the-robots-into-the-boardroom-whitepaperMarch of-the-robots-into-the-boardroom-whitepaper
March of-the-robots-into-the-boardroom-whitepaper
 
Tecnología
TecnologíaTecnología
Tecnología
 
Proyecto # 5
Proyecto # 5Proyecto # 5
Proyecto # 5
 
2016 Shawna Ley Resume Revised 2
2016 Shawna Ley Resume Revised 22016 Shawna Ley Resume Revised 2
2016 Shawna Ley Resume Revised 2
 
Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.Python 3.5: An agile, general-purpose development language.
Python 3.5: An agile, general-purpose development language.
 
What every C++ programmer should know about modern compilers (w/ comments, AC...
What every C++ programmer should know about modern compilers (w/ comments, AC...What every C++ programmer should know about modern compilers (w/ comments, AC...
What every C++ programmer should know about modern compilers (w/ comments, AC...
 
Enabling Self-service Data Provisioning Through Semantic Enrichment of Data |...
Enabling Self-service Data Provisioning Through Semantic Enrichment of Data |...Enabling Self-service Data Provisioning Through Semantic Enrichment of Data |...
Enabling Self-service Data Provisioning Through Semantic Enrichment of Data |...
 
Domain Driven Design Framework
Domain Driven Design FrameworkDomain Driven Design Framework
Domain Driven Design Framework
 
Erasmus+. Bienvenida y programa 25-4-16
Erasmus+. Bienvenida y programa 25-4-16Erasmus+. Bienvenida y programa 25-4-16
Erasmus+. Bienvenida y programa 25-4-16
 
Inspeccion 2latadechiles en rajas
Inspeccion 2latadechiles en rajasInspeccion 2latadechiles en rajas
Inspeccion 2latadechiles en rajas
 
ER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data Architecture
 
тема 1 молоко
тема 1 молокотема 1 молоко
тема 1 молоко
 
Презентация "Scrum с нуля"
Презентация "Scrum с нуля" Презентация "Scrum с нуля"
Презентация "Scrum с нуля"
 

Similaire à FPGAs libres tutorial

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 Libresobijuan_cube
 
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 libresobijuan_cube
 
Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Jose Antonio Vacas
 
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-libresobijuan_cube
 
Charla introducción a RaspberryPI
Charla introducción a RaspberryPICharla introducción a RaspberryPI
Charla introducción a RaspberryPIJuan Rodríguez
 
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 libresobijuan_cube
 
T3ch fest leganes_final
T3ch fest leganes_finalT3ch fest leganes_final
T3ch fest leganes_finalRober Garamo
 
Curso intensivo de arduino createc3 de mayo 2014
Curso intensivo de arduino createc3 de mayo 2014Curso intensivo de arduino createc3 de mayo 2014
Curso intensivo de arduino createc3 de mayo 2014Jose Antonio Vacas
 
Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014Jose Antonio Vacas
 
El AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteEl AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteJose Alva
 
Hardware Hacking con Arduino y RAD
Hardware Hacking con Arduino y RADHardware Hacking con Arduino y RAD
Hardware Hacking con Arduino y RADestialvarez
 
Introduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salidaIntroduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salidaMoises Nuñez Silva
 
Introduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salidaIntroduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salidaMoises Nuñez Silva
 

Similaire à FPGAs libres tutorial (20)

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
 
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
 
Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015
 
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
 
Charla introducción a RaspberryPI
Charla introducción a RaspberryPICharla introducción a RaspberryPI
Charla introducción a RaspberryPI
 
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
 
T3ch fest leganes_final
T3ch fest leganes_finalT3ch fest leganes_final
T3ch fest leganes_final
 
Curso intensivo de arduino createc3 de mayo 2014
Curso intensivo de arduino createc3 de mayo 2014Curso intensivo de arduino createc3 de mayo 2014
Curso intensivo de arduino createc3 de mayo 2014
 
Curso Arduino práctico 2014
Curso Arduino práctico  2014Curso Arduino práctico  2014
Curso Arduino práctico 2014
 
Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014
 
Introducción a Arduino
Introducción a ArduinoIntroducción a Arduino
Introducción a Arduino
 
El AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteEl AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelente
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Micropython el sílice y la serpiente
Micropython el sílice y la serpienteMicropython el sílice y la serpiente
Micropython el sílice y la serpiente
 
GUIA BASICA ARDUINO
GUIA BASICA ARDUINOGUIA BASICA ARDUINO
GUIA BASICA ARDUINO
 
Seminari
SeminariSeminari
Seminari
 
Hardware Hacking con Arduino y RAD
Hardware Hacking con Arduino y RADHardware Hacking con Arduino y RAD
Hardware Hacking con Arduino y RAD
 
Introduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salidaIntroduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salida
 
Introduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salidaIntroduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salida
 
Expoembebidos
ExpoembebidosExpoembebidos
Expoembebidos
 

Plus de obijuan_cube

Nosotros compartimos
Nosotros compartimosNosotros compartimos
Nosotros compartimosobijuan_cube
 
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-libresobijuan_cube
 
Let's build modular robots!
Let's build modular robots!Let's build modular robots!
Let's build modular robots!obijuan_cube
 
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 2012obijuan_cube
 
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ónobijuan_cube
 
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 2012obijuan_cube
 
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-2012obijuan_cube
 
PrintBots: Robots libres e imprimibles
PrintBots: Robots libres e imprimiblesPrintBots: Robots libres e imprimibles
PrintBots: Robots libres e imprimiblesobijuan_cube
 
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...obijuan_cube
 
Latinoware: Robots libres e Imprimibles
Latinoware: Robots libres e ImprimiblesLatinoware: Robots libres e Imprimibles
Latinoware: Robots libres e Imprimiblesobijuan_cube
 
Robots libres e Imprimibles
Robots libres e ImprimiblesRobots libres e Imprimibles
Robots libres e Imprimiblesobijuan_cube
 

Plus 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
 

Dernier

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
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 UninoveFagnerLisboa3
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
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 JosephBRAYANJOSEPHPEREZGOM
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
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íassuserf18419
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
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 FabricKeyla Dolores Méndez
 

Dernier (16)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
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
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
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
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
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
 

FPGAs libres tutorial

  • 1. FPGAs libres Juan González Gómez (Obijuan) Depto. Sistemas Telemáticos y computación 9 de Noviembre de 2016 ETSIT-URJC. https://github.com/Obijuan/myslides https://github.com/Obijuan
  • 2. PARTE I: Circuitos digitales y FPGAs PARTE II: Herramientas libres PARTE III: ¿Cómo empiezo? Contenido
  • 5. Patrimonio Tecnológico de la humanidad Software Libre Hardware Libre Reprap
  • 6. Pasemos al siguiente nivel: Chips digitales
  • 7. 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
  • 8. Elementos en circuitos digitales Cualquier circuito digital, por muy complejo que sea, se descompone en estos 3 tipos de componentes elementales
  • 9. La electrónica digital es intuitiva y… ¡Divertida! APP: Circuit Scramble
  • 10. FPGAs: Implementando circuitos digitales FPGA: Chip “en blanco” que contiene una matriz con los 3 componentes básicos: puertas lógicas, biestables y cables
  • 11. Circuito 1 Circuito 2 Configuración
  • 12. ¡FPGAs = Impresoras 3D de circuitos digitales!
  • 13. 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
  • 15. FPGAs: Sólo personal autorizado
  • 16. FPGAs libres: El renacimiento ● Proyecto Icestorm (Mayo, 2015) ● La primera toolchain que permiten pasar de Verilog al bitstream usando sólo Herramientas libres
  • 17. 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
  • 18. Flujo de trabajo Diseño Ficheros HDL Bitstream Síntesis Configuración
  • 21. https://github.com/FPGAwars/icestudio ● Autor: Jesús Arroyo ● Electrónica digital para todos ● Sin conocimientos de verilog ● Herramienta visual ● Traduce a verilog Demo
  • 22. Apio-ide https://github.com/FPGAwars/apio-ide ● Autores: Jesus Arroyo/Obijuan ● Plug-in para Atom ● No línea de comandos ● Llama a apio ● Aplicable a otros IDEs/editores ● Descripción en VerilogDemo
  • 23. ● Autor: Jesús Arroyo ● Multiplataforma (Linux, Mac, Windows, Raspberry) ● Línea de comandos ● Programado en python ● Multiplaca: icestick, icezum, icoboard, go-board Demohttps://github.com/FPGAwars/apio
  • 24. Demo Bajo nivel: Icestorm ● Ficheros: cont8.v icezum.pcf ● Síntesis: $ yosys -p "synth_ice40 -blif cont8.blif" cont8.v ● Emplazado y rutado: $ arachne-pnr -d 1k -p icezum.pcf cont8.blif -o cont8.asc ● Empaquetado: $ icepack cont8.asc cont8.bin ● Carga en FPGA: $ iceprog cont8.bin http://www.clifford.at/icestorm/ https://github.com/cliffordwolf/icestorm ● Autor: Clifford Wolf ● Herramientas programadas en C/C++ ● Bajar del repo y compilar ● Línea de comandos ● Se usan típicamente junto con make
  • 26. Paso 1: Consigue una placa Con FPGA libre Icestick Go-board ● Conexión directa al PC (USB) ● Soportadas por Apio/Icestudio iCE40-HX8K Breakout Board
  • 27. icoboard ● Conexión a Raspberry PI ● Soportada por Apio/Icestudio NO Soportadas por Apio/Icestudio Mystorm iCE40HX1K-EVB
  • 28. 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
  • 29. 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
  • 33. ¡Fuentes de componentes en FreeCAD! https://github.com/FreeCAD/FreeCAD-library
  • 34. Rasty ● FPGA Fun! ● 8 Alhambra-leds ● Alimentación: power bank
  • 35. Sonidos simples con Zumbador ● Conexión a una placa con Zumbador ● Melodías básica ● ¡Fácil meter varios canales!
  • 36. Larby: Robot modular ● Servos conectados directamente a Icezum Alhambra ● Configuración mínima pitch-pitch ● Módulo impresos en 3D
  • 37. Icezum Alhambra peregrina ● A.k.a CalmaSAV ● Empieza: Rinconingenieril.es ● Ámbito: Toda España ● Coordinado desde la lista de FPGAwars
  • 38. ¡Últimas noticias! ● 8 de Noviembre de 2016 ● Primeras alhambra v1.1 de producción, para el Crowdfunding de 100 unidades ● Vídeo de montaje Vídeo
  • 39. Paso 2: Instálate Icestudio/Apio https://github.com/FPGAwars/icestudio https://github.com/FPGAwars/apio
  • 40. Tutorial: Diseño Digital para FPGAs, con herramientas libres Paso 3: Aprende diseño digital y Verilog https://github.com/Obijuan/open-fpga-verilog-tutorial/wiki ● Hace 1 año (obsoleto) ● Herramientas de bajo nivel (make) ● Tarjeta icestick ● Útil mientras hago uno más actualizado :-)
  • 41. Paso 4: Apúntate a la comunidad FPGAwars ● Comunidad para compartir conocimiento relacionado con FPGAs libres ● Es el clonewars de las FPGAs, pero en modesto :-) ● Idioma: Castellano ● 211 miembros ● Cualquier pregunta / comentario / sugerencia → Correo a la lista :-) http://fpgawars.github.io/
  • 42. Paso 5: Haz tus proyectos con FPGAs libres https://github.com/Obijuan/ACC/wikihttps://github.com/Obijuan/simplez-fpga/wiki/Procesador-SIMPLEZ-F
  • 43. Paso 6: ¡Comparte con la comunidad!
  • 44. FPGAs en Patrimonio Tecnológico de la humanidad Software Libre Hardware Libre Reprap FPG As libres O tros
  • 45. FPGAs libres Juan González Gómez (Obijuan) Depto. Sistemas Telemáticos y computación 9 de Noviembre de 2016 ETSIT-URJC. https://github.com/Obijuan/myslides https://github.com/Obijuan