The target of our getting started guide here is the Lattice Ice40 Field Programmable Gate array (FPGA) chip on your myStorm board. An FPGA chip is a re-programmable piece of silicon hardware, it can be reconfigured or programmed to a logic circuit of your own design, There are several ways of achieving this but underneath it will require some tools, it is also a good idea to learn Verilog.
In order to reprogram the FPGA chip on your BlackIce board you will need to install IceStorm tools from Clifford Wolf either directly or via one of the supported packages. You have a number of choices to install the required tools via one of the following options:
- Manually install IceStorm according to the manual instructions.
- Install PlatformIo and create an IceStorm project which will download the required tools.
- Install IceStudio and use this to create your FPGA design.
Once you have the tools installed you can begin to create your hardware design. if you wish to use Verilog in order to design your hardware you might benefit from our basic Verilog Intro alternatively there are many other sources of information for learning Verilog the internet.
In order to create your design you will need some basic files, the best thing to do is download the an example and use that as a template to develop your design. The examples may differ based on the board in use, I will use the blink from BlackIce examples example. You will need at least one Verilog file describing your design along with a PCF file which describes your myStorm board. It is likely you will also need a makefile to automate your design build and synthesis, there is one included to 'make' your life easier e.g.
Once you have designed your project and used the tools to create you FPGA bit image file you will need to upload it. We are assuming you have the bootloader installed on your myStorm board so lets use it to synthesise (load and run) you design.
In order to monitor and communicate with your myStorm board you will need to connect it up via either a USB cable (BlackIce) or a Usb to serial device (Original SDK). Once this is done it will appear to the operating system as a usb device e.g. /dev/ttyUSB0 or /dev/ttyacm0. This device can provide feedback about your myStorm board and allow new designs to be uploaded.
To optionally monitor messages from the myStorm board issue the following in a dedicated terminal:
> cat /dev/ttyUSB0
If you press reset on the board it should greet you with it's status.
in another terminal you can then upload a new design image simply as follows:
> make upload
> cat chip.bin >/dev/ttyUSB0
You should see an appropriate response in the other terminal
This command assumes that:
1. Your design binary is called chip.bin
2. Your myStorm communication device appears as /dev/USB0
Your particular situation may vary by device and operating system.
If you get stuck please check the Forum as there are more documents and further support.