/icestudio

:snowflake: Visual editor for open FPGA boards

Primary LanguageJavaScriptGNU General Public License v2.0GPL-2.0

Build Status Build Mac

Version License

Digital Design for OpenSource FPGAs made easy: icestudio.io

Documentation

Find all the information on this WIKI PAGE

Introduction

  1. Draw your circuit
  2. Upload it to your board with an OpenSource FPGA
  3. Done!

Supported boards

HX1K

Board name Interface
IceZUM Alhambra FTDI
Nandland Go board FTDI
iCEstick Evaluation Kit FTDI

HX8K

Board name Interface
Alhambra II FTDI
BlackIce Serial
BlackIce II Serial
icoBOARD 1.0 GPIO RPi
Kéfir I iCE40-HX4K FTDI
iCE40-HX8K Breakout Board FTDI
iceFUN Serial

LP8K

Board name Interface
TinyFPGA B2 Serial
TinyFPGA BX Serial

UP5K

Board name Interface
iCEBreaker FTDI
iCEBreaker bitsy FTDI
UPDuino v1.0 FTDI
UPDuino v2.0 FTDI
FPGA 101 Workshop Badge Board FTDI
iCE40 UltraPlus Breakout Board FTDI
dadamachines doppler samd51 on board
iCESugar v1.5 HID
OK:iCE40 Pro FTDI

Installation

You can install stable or nightly Icestudio versions.

Because Icestudio is in development proccess, until it rises to 1.0 version, we are recommending to install nightly Icestudio versions, that have the latest features.

Check the Documentation for more information.

Development

Install Python >= 3.5 and Node.js, for windows developers nodejs version should be 10.17.x

Atom editor with linter-jshint is recommended.

If you want to add blocks or examples, please contribute to icestudio-blocks, icestudio-examples or collection-default.

Download

git clone https://github.com/FPGAwars/icestudio.git
cd icestudio

Install

npm install

Execute

npm start

Languages

Language Translated strings
English Progress
Spanish Progress
Italian Progress
French Progress
Dutch Progress
Czech Progress
Greek Progress
German Progress
Russian Progress
Chinese Progress
Galician Progress
Basque Progress
Catalan Progress

Contribute!

Add or update the app translations using Poedit.

Developer note: use npm run gettext to extract the labels from the code.

Documentation

cd docs
make html
firefox _build/html/index.html

Package

For building all platforms packages:

npm run build
Target OS Development OS Output files
GNU/Linux GNU/Linux (linux32,linux64).zip, (linux32,linux64).AppImage
Windows GNU/Linux (win32,win64).zip, (win32,win64).exe
Mac OS Mac OS (osx32,osx64).zip, osx64.dmg

For testing development build only linux 64 packages:

npm run buildLinux64
Target OS Development OS Output files
GNU/Linux GNU/Linux linux64.zip, linux64.AppImage

Apio configuration

Apio backend is configured in the app/package.json file:

  • apio.min: minimum version (>=)
  • apio.max: maximum version (<)
  • apio.extras: list of external Python programmers (blackiceprog, tinyfpgab)
  • apio.external: load an external Apio package instead of the default one (e.g. /path/to/my/apio)
  • apio.branch: install Apio from the repository branch instead of PyPI.

An external Apio package can be also set on runtime using the ICESTUDIO_APIO environment variable.

Troubleshooting

If you get this error npm ERR! peerinvalid The package grunt@1.0.1 does not satisfy its siblings' peerDependencies requirements!, try to update your nodejs or execute:

npm update -g

More information

Roadmap

There is a Wishlist in the wiki with the features proposed by the Community. If you want to contribute with new features and ideas write in the Google Group.

We use the GitHub issues to track the work and schedule our new features and improvements.

Development Team

Contributors

Version Contributors
0.5 Carlos Venegas Arrabé, Juan González (Obijuan), Zakary Kamal Ismail, Sam
0.4 Carlos Venegas Arrabé, Elektor.Labs, Piotr Esden-Tempski, Miodrag Milanović, raTmole, Luca Cristaldi
0.3 Luke Valenty, Lorea-Aldabaldetreku, Carlos Díaz, Martoni, Xoan Sampaiño, Unai, Francisco Sayas, Pascal Cotret, Juan Jose Luna Espinosa, Salvador E. Tropea, redbeard, Eladio Delgado, Philipp van Kempen
0.2 Tomás Calvo, Juan González (Obijuan), Carlos Díaz, Xoan Sampaiño, Salvador E. Tropea, Democrito, Martoni, Pascal Cotret
0.1 Miguel Sánchez de León Peque

Credits

  • FPGAwars community has developed this project in a voluntary and altruistic way since 02/2017.

  • BQ sponsored this project from 02/2016 to 02/2017. Thanks

License

Licensed under GPL 2.0 and Creative Commons Attribution-ShareAlike 4.0 International License.