Difference between revisions of "ICE40HX1K-EVB"

(Hardware connection between OLIMEXINO-32U4 and iCE40HX1K-EVB)
(Add iceprogduino to IceStorm)
Line 100: Line 100:
 
====Add iceprogduino to IceStorm====
 
====Add iceprogduino to IceStorm====
  
Copy iceprogduino folder from GitHub [https://github.com/OLIMEX/iCE40HX1K-EVB/programmer programmer] to icestorm and build it
+
Copy iceprogduino folder from GitHub [https://github.com/OLIMEX/iCE40HX1K-EVB/tree/master/programmer programmer] to icestorm and build it
  
 
     cd icestorm/iceprogduino
 
     cd icestorm/iceprogduino

Revision as of 01:16, 31 January 2017

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!


Hardware connection between OLIMEXINO-32U4 and iCE40HX1K-EVB

It is a pretty straight-forward - use a 10-pin UEXT compatible cable between the two boards (like CABLE-IDC10-15cm). However, also make sure that the switching button of OLIMEXINO-32U4 is set to position 3.3V!

The signals at the PGM1 connector of iCE40HX1K-EVB are at 3.3V DC! If you use a 5V-only board instead of OLIMEXINO-32U4 you need to drive all SPI signals to 3.3V DC externally. Else there might be a short-circuit or the connection would be unsuccessful.

Add iceprogduino to IceStorm

Copy iceprogduino folder from GitHub programmer to icestorm and build it

   cd icestorm/iceprogduino
   make clean
   make
   make install

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