Skip to content
Juan Gonzalez-Gomez edited this page Jul 8, 2021 · 1 revision

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

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 [email protected] 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

Getting started

Collections

  • Default: Icestudio Default Collection

Stable

Development

  • IceBoards: blocks and examples for the diferent FPGA boards
  • IceComp: Comparators
  • IceArith: Integer arithmetics
  • IceCounter: Counters
  • IceSignals: 1-bit signal managment
  • IcePLL: PLLs
  • IceLEDOscope: Measuring signals
  • IceLEDs: Displaying on LEDs
  • IceHearts: Timming signal generation
  • IceInputs: 1-bit inputs
  • IceRok: Block probes for Icestudio => Sigrok integration (with Pulseview GUI)
  • IceMachines: Working with Machines (simple state machines with a standar interface)
  • IceSerial: Serial Asynchronous communications
  • IceMem: Working with Memories
  • IceMeasure: Measuring cycles and time in your circuits, very easily
  • IceStack: Working with stacks
  • IceFlash: Read from spi serial flash memories
  • IceBus: Accesing and sharing simple buses
  • IceLCD: Components and controllers for LCDs
  • IceUnary: Working with unary numbers
  • IceCrystal: Drive displays from Open Source FPGAs
  • ice-chips-verilog: IceChips is a library of all common discrete logic devices in Verilog
  • ArithmeticBlocks: FPGA signed and unsigned integer operations, 16, 24 and 32 bits, + - * / sqrt min max compare etc.
  • iceSynth: Audio synthesis
  • icebreaker: Blocks and examples for the icebreaker OpenFPGA board
  • Jedi: blocks of the FPGA Jedi hardware Academy
  • LOVE-FPGA: Hardware elements and examples for the LOVE-FPGA project (Linking Of Virtual Electronics to FPGAs)
  • Stdio: Standard Input-Output in different devices
  • CT11: Ejemplos del cuaderno ténico 11: Señales del sistema y Medición con el LEDOscopio
  • Generic: Icestudio Generic Collection
  • Logic: Icestudio Logic Collection
  • IceInterface: Serial, SPI, I2C... (TODO)

Testbenches

Developers

Contribute

HELP

Release history

Clone this wiki locally