SlideShare a Scribd company logo
Workshop - Open FPGA tools
Jesús Arroyo Torrens
OurenseMakersLab
December 10, 2016
La Molinera, Ourense https://github.com/FPGAwars/workshops
https://github.com/Jesus89
Field Programmable Gate Array
Open FPGA toolchain
IceStorm Project
by Clifford Wolf
Open FPGA boards
Icestick iCE40-HX8K Breakout Board IceZUM Alhambra
Open FPGA tool stack
Open FPGA tool stack
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
Icestudio
Experimental graphic editor for open FPGAs. Created with HTML and JS
https://github.com/FPGAwars/icestudio
1. Install
● Copy icestudio-0.2.4-dev.zip
● Unzip the file
● Execute icestudio
2. Setup
● Install toolchain
Tools > Toolchain > Install
● Install drivers
Tools > Drivers > Enable Drivers configuration requires
administrative privileges
Follow the instructions in each OS
Icestudio
3. Hello, world!
● Load example
1. Basic > 1. Led on
● 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
The clock is a 12 MHz signal
6. Custom blink
● Add constant
Basic > Constant
● Insert a value
6000000
● Connect wires
● Upload bit stream
Tools > Upload
Icestudio
The clock is a 12 MHz signal
7. Counter
● Import counter block
File > Import block
● Reconnect wires
● Upload bit stream
Tools > Upload
Icestudio
8. Let’s code
● Create a project
File > New project
● Add blocks
Basic > Code
Basic > Input
Basic > Output
● Connect wires
● Verify the design
Tools > Verify
Icestudio
9. 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
10. Using buttons
● Create a project
File > New project
● Add blocks
Basic > Input
Basic > Output
Config > Pull up inv
● Connect wires
● Upload bit stream
Tools > Upload
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
I want more!
http://FPGAwars.github.io
Workshop - Open FPGA tools
Jesús Arroyo Torrens
OurenseMakersLab
December 10, 2016
La Molinera, Ourense https://github.com/FPGAwars/workshops
https://github.com/Jesus89

More Related Content

What's hot (20)

PDF
Having fun with Raspberry(s) and Apache projects
Jean-Frederic Clere
 
PDF
Node.js Lab
Leo Nguyen
 
PDF
Installing nagios core_from_source
laonap166
 
PDF
Install Nagios Core On CentOS 7
sharad chhetri
 
PDF
Nginx
Shaopeng He
 
PDF
node.js app deploy to heroku PaaS
Caesar Chi
 
PDF
STM32 개발 환경 셋팅
인호 최
 
PDF
20131015_demo_oshk
Jeff Yang
 
PDF
Django deployment and rpm+yum
Walter Liu
 
PDF
IT Automation with Puppet Enterprise
Anuchit Chalothorn
 
PDF
Why Mac Sysadmins Love Python
Timothy Sutton
 
PPTX
Python+anaconda Development Environment
Kwangyoun Jung
 
ODP
Making a Robust Installer for Linux Server Applications with Puppet Modules
Puppet
 
ODP
Sockets in nach0s
naniix21_3
 
PDF
Docker at Digital Ocean
Cloud 66
 
PDF
Improving monitoring systems Interoperability with OpenMetrics
Chan Shik Lim
 
PDF
Log monitoring with Logstash and Icinga
OlinData
 
PPTX
Build & test Apache Hawq
PivotalOpenSourceHub
 
PDF
Node.js x Azure, cli usage, website deployment
Caesar Chi
 
PDF
Learning Nagios
Jayant Chutke
 
Having fun with Raspberry(s) and Apache projects
Jean-Frederic Clere
 
Node.js Lab
Leo Nguyen
 
Installing nagios core_from_source
laonap166
 
Install Nagios Core On CentOS 7
sharad chhetri
 
node.js app deploy to heroku PaaS
Caesar Chi
 
STM32 개발 환경 셋팅
인호 최
 
20131015_demo_oshk
Jeff Yang
 
Django deployment and rpm+yum
Walter Liu
 
IT Automation with Puppet Enterprise
Anuchit Chalothorn
 
Why Mac Sysadmins Love Python
Timothy Sutton
 
Python+anaconda Development Environment
Kwangyoun Jung
 
Making a Robust Installer for Linux Server Applications with Puppet Modules
Puppet
 
Sockets in nach0s
naniix21_3
 
Docker at Digital Ocean
Cloud 66
 
Improving monitoring systems Interoperability with OpenMetrics
Chan Shik Lim
 
Log monitoring with Logstash and Icinga
OlinData
 
Build & test Apache Hawq
PivotalOpenSourceHub
 
Node.js x Azure, cli usage, website deployment
Caesar Chi
 
Learning Nagios
Jayant Chutke
 

Similar to 2016/12/10: Ourense MakersLab workshop (20)

PDF
2016/10/28: Reset ETSII UPM
JesusArroyoTorrens
 
PDF
digitaldesign-s20-lecture3b-fpga-afterlecture.pdf
Duy-Hieu Bui
 
PPTX
FPGA workshop
Alex Borisevich
 
PDF
Intro to the raspberry pi board
Thierry Gayet
 
PDF
Fel Flyer F10
chitlesh
 
PPTX
fpga1 - What is.pptx
ssuser0de10a
 
PPTX
Introduction to FPGA acceleration
Marco77328
 
PPTX
Using FPGA in Embedded Devices
GlobalLogic Ukraine
 
PPTX
FPGA based mini Project.pptx
SatyabratBordoloi2
 
PDF
Fpga
pramode_ce
 
PPTX
FPGA Based RGB LED Display
dfordivam
 
PDF
Transformation and dynamic visualization of images from computer through an F...
TELKOMNIKA JOURNAL
 
PDF
Tools for FPGA Development
Brahim HAMADICHAREF
 
PDF
FEL Flyer F12
chitlesh
 
PDF
Advanced view arduino projects list use arduino for projects
WiseNaeem
 
PPTX
SoC FPGA Technology
Siraj Muhammad
 
PDF
FPGA Architecture and application
ADARSHJKALATHIL
 
PPTX
Fpga architectures and applications
Sudhanshu Janwadkar
 
ODP
Introduction to Raspberry Pi and GPIO
Kris Findlay
 
PDF
INFN Advanced ML Hackaton 2022 Talk
Mirko Mariotti
 
2016/10/28: Reset ETSII UPM
JesusArroyoTorrens
 
digitaldesign-s20-lecture3b-fpga-afterlecture.pdf
Duy-Hieu Bui
 
FPGA workshop
Alex Borisevich
 
Intro to the raspberry pi board
Thierry Gayet
 
Fel Flyer F10
chitlesh
 
fpga1 - What is.pptx
ssuser0de10a
 
Introduction to FPGA acceleration
Marco77328
 
Using FPGA in Embedded Devices
GlobalLogic Ukraine
 
FPGA based mini Project.pptx
SatyabratBordoloi2
 
FPGA Based RGB LED Display
dfordivam
 
Transformation and dynamic visualization of images from computer through an F...
TELKOMNIKA JOURNAL
 
Tools for FPGA Development
Brahim HAMADICHAREF
 
FEL Flyer F12
chitlesh
 
Advanced view arduino projects list use arduino for projects
WiseNaeem
 
SoC FPGA Technology
Siraj Muhammad
 
FPGA Architecture and application
ADARSHJKALATHIL
 
Fpga architectures and applications
Sudhanshu Janwadkar
 
Introduction to Raspberry Pi and GPIO
Kris Findlay
 
INFN Advanced ML Hackaton 2022 Talk
Mirko Mariotti
 
Ad

Recently uploaded (20)

PPTX
Rules and Regulations of Madhya Pradesh Library Part-I
SantoshKumarKori2
 
PPTX
Introduction to Probability(basic) .pptx
purohitanuj034
 
PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
PPTX
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
PDF
Stepwise procedure (Manually Submitted & Un Attended) Medical Devices Cases
MUHAMMAD SOHAIL
 
PPTX
YSPH VMOC Special Report - Measles Outbreak Southwest US 7-20-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
PPTX
10CLA Term 3 Week 4 Study Techniques.pptx
mansk2
 
PPTX
IDEAS AND EARLY STATES Social science pptx
NIRANJANASSURESH
 
PPTX
HEALTH CARE DELIVERY SYSTEM - UNIT 2 - GNM 3RD YEAR.pptx
Priyanshu Anand
 
PPTX
FAMILY HEALTH NURSING CARE - UNIT 5 - CHN 1 - GNM 1ST YEAR.pptx
Priyanshu Anand
 
PPTX
Command Palatte in Odoo 18.1 Spreadsheet - Odoo Slides
Celine George
 
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
PPTX
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
PPTX
Translation_ Definition, Scope & Historical Development.pptx
DhatriParmar
 
PPTX
Electrophysiology_of_Heart. Electrophysiology studies in Cardiovascular syste...
Rajshri Ghogare
 
PPTX
Various Psychological tests: challenges and contemporary trends in psychologi...
santoshmohalik1
 
PPTX
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
PPT
DRUGS USED IN THERAPY OF SHOCK, Shock Therapy, Treatment or management of shock
Rajshri Ghogare
 
PPTX
THE JEHOVAH’S WITNESSES’ ENCRYPTED SATANIC CULT
Claude LaCombe
 
PPTX
LDP-2 UNIT 4 Presentation for practical.pptx
abhaypanchal2525
 
Rules and Regulations of Madhya Pradesh Library Part-I
SantoshKumarKori2
 
Introduction to Probability(basic) .pptx
purohitanuj034
 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
Stepwise procedure (Manually Submitted & Un Attended) Medical Devices Cases
MUHAMMAD SOHAIL
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 7-20-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
10CLA Term 3 Week 4 Study Techniques.pptx
mansk2
 
IDEAS AND EARLY STATES Social science pptx
NIRANJANASSURESH
 
HEALTH CARE DELIVERY SYSTEM - UNIT 2 - GNM 3RD YEAR.pptx
Priyanshu Anand
 
FAMILY HEALTH NURSING CARE - UNIT 5 - CHN 1 - GNM 1ST YEAR.pptx
Priyanshu Anand
 
Command Palatte in Odoo 18.1 Spreadsheet - Odoo Slides
Celine George
 
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
Translation_ Definition, Scope & Historical Development.pptx
DhatriParmar
 
Electrophysiology_of_Heart. Electrophysiology studies in Cardiovascular syste...
Rajshri Ghogare
 
Various Psychological tests: challenges and contemporary trends in psychologi...
santoshmohalik1
 
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
DRUGS USED IN THERAPY OF SHOCK, Shock Therapy, Treatment or management of shock
Rajshri Ghogare
 
THE JEHOVAH’S WITNESSES’ ENCRYPTED SATANIC CULT
Claude LaCombe
 
LDP-2 UNIT 4 Presentation for practical.pptx
abhaypanchal2525
 
Ad

2016/12/10: Ourense MakersLab workshop

  • 1. Workshop - Open FPGA tools Jesús Arroyo Torrens OurenseMakersLab December 10, 2016 La Molinera, Ourense https://github.com/FPGAwars/workshops https://github.com/Jesus89
  • 3. Open FPGA toolchain IceStorm Project by Clifford Wolf
  • 4. Open FPGA boards Icestick iCE40-HX8K Breakout Board IceZUM Alhambra
  • 7. 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
  • 8. Icestudio Experimental graphic editor for open FPGAs. Created with HTML and JS https://github.com/FPGAwars/icestudio
  • 9. 1. Install ● Copy icestudio-0.2.4-dev.zip ● Unzip the file ● Execute icestudio 2. Setup ● Install toolchain Tools > Toolchain > Install ● Install drivers Tools > Drivers > Enable Drivers configuration requires administrative privileges Follow the instructions in each OS Icestudio
  • 10. 3. Hello, world! ● Load example 1. Basic > 1. Led on ● 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
  • 11. 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
  • 12. 5. Blink ● Import DIV block File > Import block ● Add clock input Basic > Input ● Connect wires ● Upload bit stream Tools > Upload Icestudio The clock is a 12 MHz signal
  • 13. 6. Custom blink ● Add constant Basic > Constant ● Insert a value 6000000 ● Connect wires ● Upload bit stream Tools > Upload Icestudio The clock is a 12 MHz signal
  • 14. 7. Counter ● Import counter block File > Import block ● Reconnect wires ● Upload bit stream Tools > Upload Icestudio
  • 15. 8. Let’s code ● Create a project File > New project ● Add blocks Basic > Code Basic > Input Basic > Output ● Connect wires ● Verify the design Tools > Verify Icestudio
  • 16. 9. 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. 10. Using buttons ● Create a project File > New project ● Add blocks Basic > Input Basic > Output Config > Pull up inv ● Connect wires ● Upload bit stream Tools > Upload Icestudio
  • 18. Apio Experimental open source ecosystem for open FPGAs. Created with Python https://github.com/FPGAwars/apio
  • 19. 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
  • 20. 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
  • 22. Workshop - Open FPGA tools Jesús Arroyo Torrens OurenseMakersLab December 10, 2016 La Molinera, Ourense https://github.com/FPGAwars/workshops https://github.com/Jesus89