Difference between revisions of "ICE40HX1K-EVB"

(Add iceprogduino to IceStorm)
(Make LED blink with IceStorm)
Line 108: Line 108:
 
     cd icestorm/examples/ice40hx1k-evb
 
     cd icestorm/examples/ice40hx1k-evb
 
     make
 
     make
     sudo ../../iceprogduino/iceprogduino example.bin
+
     make prog
  
 
LED1 and LED2 should start blink which means the code is successfully loaded
 
LED1 and LED2 should start blink which means the code is successfully loaded

Revision as of 04:25, 30 June 2016

ICE40HX1K-EVB.jpg

Documents

Product Selection Guilde

iCE40 Family Handbook

iCE40 datasheet

Hardware

GitHub repository with the hardware files

iCE40HX1K-EVB programming connector

ICE40PGM.jpg

iCE40HX1K-EVB 34-pin bus connector

ICE40BUS.jpg

Software

Get started under Linux

To develop with iCE40HX1K-EVB you need:

   iCE40HX1K-EVB
   OLIMEXINO-32U4 as programmer (or any other Arduino compatible board)
   IDC10-15cm cable to connect iCE40HX1K-EVB with OLIMEXINO-32U4
   SY0605E 5V power supply adapter
   USB-MINI cable
   optional but recommended USB-ISO


Installing Icestorm FOSS tools for iCE40

First we need to install the tools necessary to build Icestorm:

   sudo apt-get install build-essential clang bison flex libreadline-dev \
                    gawk tcl-dev libffi-dev git mercurial graphviz   \
                    xdot pkg-config python python3 libftdi-dev

Installing the IceStorm Tools (icepack, icebox, iceprog, icetime, chip databases):

   git clone https://github.com/cliffordwolf/icestorm.git icestorm
   cd icestorm
   make -j$(nproc)
   sudo make install

Installing Arachne-PNR (the place&route tool):

   git clone https://github.com/cseed/arachne-pnr.git arachne-pnr
   cd arachne-pnr
   make -j$(nproc)
   sudo make install

Installing Yosys (Verilog synthesis):

   git clone https://github.com/cliffordwolf/yosys.git yosys
   cd yosys
   make -j$(nproc)
   sudo make install

The Arachne-PNR build converts the IceStorm text chip databases into the arachne-pnr binary chip databases. Always rebuild Arachne-PNR after updating your IceStorm installation.

Notes for Archlinux: just install icestorm-git, arachne-pnr-git and yosys-git from the Arch User Repository (no need to follow the install instructions above).


Preparing OLIMEXINO-32U4 as programmer

Download latest Arduino IDE we recommend you to use the one from Arduino.cc current revision is 1.6.9.

Copy iceprog.ino sketch from GitHub/iCE40HX1K-EVB/programmer/olimexino-32u4 firmware to examples folder.

Plug the USB cable to OLIMEXINO-32U4 and start the Arduino IDE

   cd arduino-1.6.9
   sudo ./arduino

From Tools select 'Arduino Leonardo' as board.

From same menu select the PORT where the board is attached it will be something like: '/dev/ttyACM0 (Arduino Leonardo)' or '/dev/ttyUSB0 (Arduino Leonardo)'

Open the iceprog.ino sketch

From menu Sketch-Include library-Manage libraries check if you have SPI and SPIFlash libraries installed if not install them.

Compile and Upload the sketch.

If everything complete without error now you have OLIMEXINO-32U4 set as iCE40HX1K-EVB programmer!


Add iceprogduino to IceStorm

Copy iceprogduino folder from GitHub programmer to icestorm and build it

   cd icestorm/iceprogduino
   make clean
   make
   sudo cp iceprogduino /usr/local/bin

Make LED blink with IceStorm

Copy from GitHub ice40hx1k-evb to icestorm/examples then

   cd icestorm/examples/ice40hx1k-evb
   make
   make prog

LED1 and LED2 should start blink which means the code is successfully loaded

Get started under Windows

Projects

Under construction

FAQ

Under construction