JavaScript HTML CSS NSIS Other
Clone or download
Latest commit 69c3a1d Jul 28, 2018

README.md

Build Status Version License Documentation Status

Visual editor for open FPGAs. Built on top of the Icestorm project using Apio.

Graphic design -> Verilog, PCF -> Bistream -> FPGA

Supported boards

Board name GNU/Linux Windows Mac OS
Alhambra II
IceZUM Alhambra
Kéfir I iCE40-HX4K
Nandland Go board
iCE40-HX8K Breakout Board
iCEstick Evaluation Kit
icoBOARD 1.0    *    *    *
BlackIce
BlackIce II
TinyFPGA B2

* Use with Raspberry Pi

Installation

Check the Documentation for more information.

Development

Install Python 2.7 and Node.js.

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
Galician Progress
French Progress
Chinese Progress
Catalan Progress
Basque 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

npm run dist
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

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.develop: install Apio from the repository 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.

Authors

Contributors

Version Constributors
0.3 Lorea-Aldabaldetreku, Carlos Díaz, Martoni, Xoan Sampaiño, Unai, Francisco Sayas, Pascal Cotret, Juan Jose Luna Espinosa, Salvador E. Tropea, redbeard
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.