SlideShare a Scribd company logo
1 of 24
Download to read offline
Workshop - Open FPGA tools
Jesús Arroyo Torrens
OSHWDem 16
November 5, 2016
Museo Domus, A Coruña https://github.com/FPGAwars/workshops
https://github.com/Jesus89
Open FPGA boards
Icestick iCE40-HX8K Breakout Board IceZUM Alhambra
Open FPGA toolchains
Open FPGA stack tools
ide
Open FPGA stack tools
Requirements
1. Python 2.7
Check installation: open a console and type python
Windows Users: DON’T FORGET to
select  Add python.exe to Path 
feature on the “Customize” stage
https://www.python.org
Requirements
2. Atom Editor https://atom.io
Requirements
* (optional) equivalent to Icestudio Install toolchain or apio install –all.
It is used to save time by downloading the packages
● Copy apio-dir.zip
● Copy install.py
● Open console and execute
$ python install.py
Insert the zip filename: apio­dir­linux64.zip
Success: .apio dir updated!
3. Apio packages* https://github.com/FPGAwars/workshops/releases
Icestudio
Experimental graphic editor for open FPGAs. Created with HTML and JS
https://github.com/FPGAwars/icestudio
1. Install
● Copy icestudio-0.2.2-rc.zip
● Unzip the file
● Execute icestudio
2. Setup
● Install toolchain
Tools > Install/Upgrade toolchain
● Install drivers
Tools > Enable drivers Drivers configuration requires
administrative privileges
Follow the instructions in each OS
Icestudio
3. Hello, world!
● Load example
File > Examples
● Select board
Board > IceZUM
● Select I/O pin
Edit the combo
● Upload bit stream
Tools > Upload
Enter in a block and edit a I/O label by double clicking
Icestudio
4. More leds on
● Create a project
File > New project
● Add blocks
Bit > 1
Basic > Output
● Connect wires
● Upload bit stream
Tools > Upload
Multiple I/O blocks can be created, e.g. “led0 led1 led2␣ ␣ ”
Icestudio
5. Blink
● Import DIV block
File > Import block
● Add clock input
Basic > Input
● Connect wires
● Upload bit stream
Tools > Upload
Icestudio
5. Counter
● Import counter block
File > Import block
● Reconnect wires
● Upload bit stream
Tools > Upload
Icestudio
6. Let’s code
● Create a project
File > New project
● Add blocks
Basic > Code
Basic > Input
Basic > Output
● Connect wires
● Verify the design
Tools > Verify
Code block ports can be created “in out”,␣ e.g. “a,b c␣ ”
Icestudio
7. Custom block
● Load a project
File > Open project
● Save project as block
File > Export as block
Input / Output pins will become in/out block ports
Icestudio
Apio
Experimental open source ecosystem for open FPGAs. Created with Python
https://github.com/FPGAwars/apio
1. Install
● Open the console and execute
$ pip install ­U apio
● Check apio
$ apio
2. Setup
● Install toolchain
$ apio install ­­all
● Install drivers
$ apio drivers ­­enable
Drivers configuration requires
administrative privileges
Follow the instructions in each OS
Apio
3. Hello, world!
● Load example
$ apio examples ­d icezum/leds
● Move to example
$ cd icezum/leds
● Verify and simulate
$ apio verify $ apio sim
● Build and upload
$ apio build $ apio upload
● Time analysis and clean
$ apio time $ apio clean
Apio
Apio IDE
Experimental open FPGA IDE using Atom and Apio
https://github.com/FPGAwars/apio-ide
1. Install
● Open Atom
● Edit > Preferences
● + Install: apio-ide
● Retart Atom
2. Setup
● Sometimes Env PATH must be added:
apio-ide > Settings > Env PATH
to allow Atom find apio
Apio IDE
3. Hello, world!
● Open a new window
File > New Window
● Load icezum/leds
File > Open Folder...
● Load and edit leds.v
● Upload bit stream
Toolbar > Upload
Apio menu > Upload
All apio code commands are implemented in the GUI
Apio IDE
I want more!
http://FPGAwars.github.io
Workshop: open FPGAs tools
Jesús Arroyo Torrens
OSHWDem 16
November 5, 2016
Museo Domus, A Coruña https://github.com/FPGAwars/workshops
https://github.com/Jesus89

More Related Content

What's hot

Meetup C++ Floripa - Conan.io
Meetup C++ Floripa - Conan.ioMeetup C++ Floripa - Conan.io
Meetup C++ Floripa - Conan.ioUilian Ries
 
Ch2.setup.node.and.npm
Ch2.setup.node.and.npmCh2.setup.node.and.npm
Ch2.setup.node.and.npmRick Chang
 
Conan.io - The C/C++ package manager for Developers
Conan.io - The C/C++ package manager for DevelopersConan.io - The C/C++ package manager for Developers
Conan.io - The C/C++ package manager for DevelopersUilian Ries
 
Node Web Development 2nd Edition: Chapter2 Setup Node and NPM
Node Web Development 2nd Edition: Chapter2 Setup Node and NPMNode Web Development 2nd Edition: Chapter2 Setup Node and NPM
Node Web Development 2nd Edition: Chapter2 Setup Node and NPMRick Chang
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamRachid Zarouali
 
Installing nagios core_from_source
Installing nagios core_from_sourceInstalling nagios core_from_source
Installing nagios core_from_sourcelaonap166
 
Why Mac Sysadmins Love Python
Why Mac Sysadmins Love PythonWhy Mac Sysadmins Love Python
Why Mac Sysadmins Love PythonTimothy Sutton
 
Python+anaconda Development Environment
Python+anaconda Development EnvironmentPython+anaconda Development Environment
Python+anaconda Development EnvironmentKwangyoun Jung
 
Docker deploy
Docker deployDocker deploy
Docker deployEric Ahn
 
Node.js x Azure, cli usage, website deployment
Node.js x Azure, cli usage, website deploymentNode.js x Azure, cli usage, website deployment
Node.js x Azure, cli usage, website deploymentCaesar Chi
 
Django deployment and rpm+yum
Django deployment and rpm+yumDjango deployment and rpm+yum
Django deployment and rpm+yumWalter Liu
 
STM32 개발 환경 셋팅
STM32 개발 환경 셋팅STM32 개발 환경 셋팅
STM32 개발 환경 셋팅인호 최
 
Docker e postgresql
Docker e postgresqlDocker e postgresql
Docker e postgresqlFernando Ike
 
Webvideo, FFmpeg und Drupal
Webvideo, FFmpeg und DrupalWebvideo, FFmpeg und Drupal
Webvideo, FFmpeg und DrupalWalter Ebert
 
Docker and fig for dev
Docker and fig for devDocker and fig for dev
Docker and fig for devpranas_algoteq
 
OpenStack Swift on virtualbox
OpenStack Swift on virtualboxOpenStack Swift on virtualbox
OpenStack Swift on virtualboxAtul Jha
 
Introduction to Octopress at DRUG
Introduction to Octopress at DRUGIntroduction to Octopress at DRUG
Introduction to Octopress at DRUGWojciech Langiewicz
 

What's hot (20)

Meetup C++ Floripa - Conan.io
Meetup C++ Floripa - Conan.ioMeetup C++ Floripa - Conan.io
Meetup C++ Floripa - Conan.io
 
Ch2.setup.node.and.npm
Ch2.setup.node.and.npmCh2.setup.node.and.npm
Ch2.setup.node.and.npm
 
Conan.io - The C/C++ package manager for Developers
Conan.io - The C/C++ package manager for DevelopersConan.io - The C/C++ package manager for Developers
Conan.io - The C/C++ package manager for Developers
 
Node Web Development 2nd Edition: Chapter2 Setup Node and NPM
Node Web Development 2nd Edition: Chapter2 Setup Node and NPMNode Web Development 2nd Edition: Chapter2 Setup Node and NPM
Node Web Development 2nd Edition: Chapter2 Setup Node and NPM
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
 
Installing nagios core_from_source
Installing nagios core_from_sourceInstalling nagios core_from_source
Installing nagios core_from_source
 
Python on pi
Python on piPython on pi
Python on pi
 
Why Mac Sysadmins Love Python
Why Mac Sysadmins Love PythonWhy Mac Sysadmins Love Python
Why Mac Sysadmins Love Python
 
Python+anaconda Development Environment
Python+anaconda Development EnvironmentPython+anaconda Development Environment
Python+anaconda Development Environment
 
Docker deploy
Docker deployDocker deploy
Docker deploy
 
創科 從零開始認識 Docker
創科 從零開始認識 Docker創科 從零開始認識 Docker
創科 從零開始認識 Docker
 
Node.js x Azure, cli usage, website deployment
Node.js x Azure, cli usage, website deploymentNode.js x Azure, cli usage, website deployment
Node.js x Azure, cli usage, website deployment
 
Django deployment and rpm+yum
Django deployment and rpm+yumDjango deployment and rpm+yum
Django deployment and rpm+yum
 
STM32 개발 환경 셋팅
STM32 개발 환경 셋팅STM32 개발 환경 셋팅
STM32 개발 환경 셋팅
 
Docker e postgresql
Docker e postgresqlDocker e postgresql
Docker e postgresql
 
Webvideo, FFmpeg und Drupal
Webvideo, FFmpeg und DrupalWebvideo, FFmpeg und Drupal
Webvideo, FFmpeg und Drupal
 
Docker and fig for dev
Docker and fig for devDocker and fig for dev
Docker and fig for dev
 
OpenStack Swift on virtualbox
OpenStack Swift on virtualboxOpenStack Swift on virtualbox
OpenStack Swift on virtualbox
 
Node.js Lab
Node.js LabNode.js Lab
Node.js Lab
 
Introduction to Octopress at DRUG
Introduction to Octopress at DRUGIntroduction to Octopress at DRUG
Introduction to Octopress at DRUG
 

Viewers also liked

Haught, Krista - Recommendation
Haught, Krista - RecommendationHaught, Krista - Recommendation
Haught, Krista - RecommendationKrista Haught
 
Driving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsDriving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsEmbarcadero Technologies
 
Employment generation in tamil nadu through mgnrega
Employment generation in tamil nadu through mgnregaEmployment generation in tamil nadu through mgnrega
Employment generation in tamil nadu through mgnregaprabeenarajeesh
 
Graphic organizer presentation gb
Graphic organizer presentation gbGraphic organizer presentation gb
Graphic organizer presentation gbGerald Bradley
 
Build & test once, deploy anywhere - Vday.hu 2016
Build & test once, deploy anywhere - Vday.hu 2016Build & test once, deploy anywhere - Vday.hu 2016
Build & test once, deploy anywhere - Vday.hu 2016Zsolt Molnar
 
Inspeccion de chiles en vinagre
Inspeccion de chiles en vinagreInspeccion de chiles en vinagre
Inspeccion de chiles en vinagreValeriaEH888
 
Automated Deployment with Capistrano
Automated Deployment with CapistranoAutomated Deployment with Capistrano
Automated Deployment with CapistranoSumit Chhetri
 
Enterprise 3 teacher's book
Enterprise 3 teacher's bookEnterprise 3 teacher's book
Enterprise 3 teacher's bookEndko Shiilegbat
 

Viewers also liked (11)

Presentation3
Presentation3Presentation3
Presentation3
 
BARRIOS MÁGICOS
BARRIOS MÁGICOSBARRIOS MÁGICOS
BARRIOS MÁGICOS
 
Haught, Krista - Recommendation
Haught, Krista - RecommendationHaught, Krista - Recommendation
Haught, Krista - Recommendation
 
Driving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsDriving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data Assets
 
Employment generation in tamil nadu through mgnrega
Employment generation in tamil nadu through mgnregaEmployment generation in tamil nadu through mgnrega
Employment generation in tamil nadu through mgnrega
 
Graphic organizer presentation gb
Graphic organizer presentation gbGraphic organizer presentation gb
Graphic organizer presentation gb
 
Build & test once, deploy anywhere - Vday.hu 2016
Build & test once, deploy anywhere - Vday.hu 2016Build & test once, deploy anywhere - Vday.hu 2016
Build & test once, deploy anywhere - Vday.hu 2016
 
Inspeccion de chiles en vinagre
Inspeccion de chiles en vinagreInspeccion de chiles en vinagre
Inspeccion de chiles en vinagre
 
Automated Deployment with Capistrano
Automated Deployment with CapistranoAutomated Deployment with Capistrano
Automated Deployment with Capistrano
 
Enterprise 3 teacher's book
Enterprise 3 teacher's bookEnterprise 3 teacher's book
Enterprise 3 teacher's book
 
Breakdowns Powerpoint
Breakdowns PowerpointBreakdowns Powerpoint
Breakdowns Powerpoint
 

Similar to 2016/11/05: OSWDem16 workshop

Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...Jian-Hong Pan
 
Introduction to IPython & Notebook
Introduction to IPython & NotebookIntroduction to IPython & Notebook
Introduction to IPython & NotebookAreski Belaid
 
Git & e git beginner workshop
Git & e git beginner workshopGit & e git beginner workshop
Git & e git beginner workshopIgor Laborie
 
How to configure PyCharm for Odoo development in Windows?
How to configure PyCharm for Odoo development in Windows?How to configure PyCharm for Odoo development in Windows?
How to configure PyCharm for Odoo development in Windows?Celine George
 
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...Kevin Hooke
 
Open source projects with python
Open source projects with pythonOpen source projects with python
Open source projects with pythonroskakori
 
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJava Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJeff Prestes
 
How to Install ESP8266 WiFi Web Server using Arduino IDE
How to Install ESP8266 WiFi Web Server using Arduino IDEHow to Install ESP8266 WiFi Web Server using Arduino IDE
How to Install ESP8266 WiFi Web Server using Arduino IDENaoto MATSUMOTO
 
Python + STIX = Awesome
Python + STIX = AwesomePython + STIX = Awesome
Python + STIX = Awesomestixproject
 
Porion a new Build Manager
Porion a new Build ManagerPorion a new Build Manager
Porion a new Build ManagerStephane Carrez
 
Python py charm anaconda jupyter installation and basic commands
Python py charm anaconda jupyter   installation and basic commandsPython py charm anaconda jupyter   installation and basic commands
Python py charm anaconda jupyter installation and basic commandsSayed Ahmed
 
Proteus Project : Arduino programming for LED
Proteus Project : Arduino programming for LEDProteus Project : Arduino programming for LED
Proteus Project : Arduino programming for LEDHassan Khan
 
Developing new zynq based instruments
Developing new zynq based instrumentsDeveloping new zynq based instruments
Developing new zynq based instrumentsGraham NAYLOR
 
Open erp on ubuntu
Open erp on ubuntuOpen erp on ubuntu
Open erp on ubuntuIker Coranti
 
DevFest 2022 - Cloud Workstation Introduction TaiChung
DevFest 2022 - Cloud Workstation Introduction TaiChungDevFest 2022 - Cloud Workstation Introduction TaiChung
DevFest 2022 - Cloud Workstation Introduction TaiChungKAI CHU CHUNG
 
How to Connect MQTT Broker on ESP8266 WiFi
How to Connect MQTT Broker on ESP8266 WiFiHow to Connect MQTT Broker on ESP8266 WiFi
How to Connect MQTT Broker on ESP8266 WiFiNaoto MATSUMOTO
 

Similar to 2016/11/05: OSWDem16 workshop (20)

2016/10/28: Reset ETSII UPM
2016/10/28: Reset ETSII UPM2016/10/28: Reset ETSII UPM
2016/10/28: Reset ETSII UPM
 
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
Package a PyApp as a Flatpak Package: An HTTP Server for Example @ PyCon APAC...
 
Introduction to IPython & Notebook
Introduction to IPython & NotebookIntroduction to IPython & Notebook
Introduction to IPython & Notebook
 
Git & e git beginner workshop
Git & e git beginner workshopGit & e git beginner workshop
Git & e git beginner workshop
 
How to configure PyCharm for Odoo development in Windows?
How to configure PyCharm for Odoo development in Windows?How to configure PyCharm for Odoo development in Windows?
How to configure PyCharm for Odoo development in Windows?
 
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
 
OpenCV with Python
OpenCV with PythonOpenCV with Python
OpenCV with Python
 
Open source projects with python
Open source projects with pythonOpen source projects with python
Open source projects with python
 
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJava Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
 
How to Install ESP8266 WiFi Web Server using Arduino IDE
How to Install ESP8266 WiFi Web Server using Arduino IDEHow to Install ESP8266 WiFi Web Server using Arduino IDE
How to Install ESP8266 WiFi Web Server using Arduino IDE
 
Python + STIX = Awesome
Python + STIX = AwesomePython + STIX = Awesome
Python + STIX = Awesome
 
Porion a new Build Manager
Porion a new Build ManagerPorion a new Build Manager
Porion a new Build Manager
 
Python py charm anaconda jupyter installation and basic commands
Python py charm anaconda jupyter   installation and basic commandsPython py charm anaconda jupyter   installation and basic commands
Python py charm anaconda jupyter installation and basic commands
 
Proteus Project : Arduino programming for LED
Proteus Project : Arduino programming for LEDProteus Project : Arduino programming for LED
Proteus Project : Arduino programming for LED
 
Developing new zynq based instruments
Developing new zynq based instrumentsDeveloping new zynq based instruments
Developing new zynq based instruments
 
Open erp on ubuntu
Open erp on ubuntuOpen erp on ubuntu
Open erp on ubuntu
 
Meng
MengMeng
Meng
 
Meng
MengMeng
Meng
 
DevFest 2022 - Cloud Workstation Introduction TaiChung
DevFest 2022 - Cloud Workstation Introduction TaiChungDevFest 2022 - Cloud Workstation Introduction TaiChung
DevFest 2022 - Cloud Workstation Introduction TaiChung
 
How to Connect MQTT Broker on ESP8266 WiFi
How to Connect MQTT Broker on ESP8266 WiFiHow to Connect MQTT Broker on ESP8266 WiFi
How to Connect MQTT Broker on ESP8266 WiFi
 

Recently uploaded

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 

Recently uploaded (20)

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 

2016/11/05: OSWDem16 workshop

  • 1. Workshop - Open FPGA tools Jesús Arroyo Torrens OSHWDem 16 November 5, 2016 Museo Domus, A Coruña https://github.com/FPGAwars/workshops https://github.com/Jesus89
  • 2. Open FPGA boards Icestick iCE40-HX8K Breakout Board IceZUM Alhambra
  • 4. Open FPGA stack tools ide
  • 6. Requirements 1. Python 2.7 Check installation: open a console and type python Windows Users: DON’T FORGET to select  Add python.exe to Path  feature on the “Customize” stage https://www.python.org
  • 7. Requirements 2. Atom Editor https://atom.io
  • 8. Requirements * (optional) equivalent to Icestudio Install toolchain or apio install –all. It is used to save time by downloading the packages ● Copy apio-dir.zip ● Copy install.py ● Open console and execute $ python install.py Insert the zip filename: apio­dir­linux64.zip Success: .apio dir updated! 3. Apio packages* https://github.com/FPGAwars/workshops/releases
  • 9. Icestudio Experimental graphic editor for open FPGAs. Created with HTML and JS https://github.com/FPGAwars/icestudio
  • 10. 1. Install ● Copy icestudio-0.2.2-rc.zip ● Unzip the file ● Execute icestudio 2. Setup ● Install toolchain Tools > Install/Upgrade toolchain ● Install drivers Tools > Enable drivers Drivers configuration requires administrative privileges Follow the instructions in each OS Icestudio
  • 11. 3. Hello, world! ● Load example File > Examples ● Select board Board > IceZUM ● Select I/O pin Edit the combo ● Upload bit stream Tools > Upload Enter in a block and edit a I/O label by double clicking Icestudio
  • 12. 4. More leds on ● Create a project File > New project ● Add blocks Bit > 1 Basic > Output ● Connect wires ● Upload bit stream Tools > Upload Multiple I/O blocks can be created, e.g. “led0 led1 led2␣ ␣ ” Icestudio
  • 13. 5. Blink ● Import DIV block File > Import block ● Add clock input Basic > Input ● Connect wires ● Upload bit stream Tools > Upload Icestudio
  • 14. 5. Counter ● Import counter block File > Import block ● Reconnect wires ● Upload bit stream Tools > Upload Icestudio
  • 15. 6. Let’s code ● Create a project File > New project ● Add blocks Basic > Code Basic > Input Basic > Output ● Connect wires ● Verify the design Tools > Verify Code block ports can be created “in out”,␣ e.g. “a,b c␣ ” Icestudio
  • 16. 7. Custom block ● Load a project File > Open project ● Save project as block File > Export as block Input / Output pins will become in/out block ports Icestudio
  • 17. Apio Experimental open source ecosystem for open FPGAs. Created with Python https://github.com/FPGAwars/apio
  • 18. 1. Install ● Open the console and execute $ pip install ­U apio ● Check apio $ apio 2. Setup ● Install toolchain $ apio install ­­all ● Install drivers $ apio drivers ­­enable Drivers configuration requires administrative privileges Follow the instructions in each OS Apio
  • 19. 3. Hello, world! ● Load example $ apio examples ­d icezum/leds ● Move to example $ cd icezum/leds ● Verify and simulate $ apio verify $ apio sim ● Build and upload $ apio build $ apio upload ● Time analysis and clean $ apio time $ apio clean Apio
  • 20. Apio IDE Experimental open FPGA IDE using Atom and Apio https://github.com/FPGAwars/apio-ide
  • 21. 1. Install ● Open Atom ● Edit > Preferences ● + Install: apio-ide ● Retart Atom 2. Setup ● Sometimes Env PATH must be added: apio-ide > Settings > Env PATH to allow Atom find apio Apio IDE
  • 22. 3. Hello, world! ● Open a new window File > New Window ● Load icezum/leds File > Open Folder... ● Load and edit leds.v ● Upload bit stream Toolbar > Upload Apio menu > Upload All apio code commands are implemented in the GUI Apio IDE
  • 24. Workshop: open FPGAs tools Jesús Arroyo Torrens OSHWDem 16 November 5, 2016 Museo Domus, A Coruña https://github.com/FPGAwars/workshops https://github.com/Jesus89