ICEBlaster: A Drag’n’Drop Bitstream Loader For ICE40

ByErma F. Brown

Jul 12, 2022 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

The iCE40 sequence of FPGAs will get a truthful little bit of coverage on these internet pages, mostly thanks to its accessibility (thanks to massive endeavours in reverse engineering and open device chains) and very likely also owing to Lattice Semiconductors’ perspective to open up supply in general. Although these devices are modest and somewhat limited, you simply cannot genuinely conquer them for a 1st foray into the matter. They’re a great deal beefy adequate for lots of of the more simple FPGA applications. [TinLethax] above on Hackaday.IO has a great deal of experience with the gadgets, and has extra an additional tool to our collective iCE40 arsenal, specifically iCEBlaster, a USB mass storage unit (MSC) fashion bootloader for drag-n-drop bitstream loading. The days of needing focused unique programmers are starting up to be numbered, with a lot of chips now presenting a USB mass storage device to the host in purchase to upload the firmware picture.

FPGAs don’t tend to function this way, needing a device-specific bitstream loading on start-up, which (unless they have OTP memory) is commonly the work of an external configuration memory. iCEBlaster (a enjoy on the Xilinx ByteBlaster programmer, possibly?) runs on the STM32F4xx sequence equipment at the very least, but ought to be very easily transportable to some others. The idea is fairly clear-cut — dragging a new bitstream file on to the storage gadget initiates an FPGA target reset, which in change will allow the STM32 to ship the bitstream above to the iCE40 via the SPI interface. Practically nothing much more than that.

If you have been wanting to get into the iCE40, this guideline could be a good starting up level, and each discovering encounter requires a superior task to drive it, how about managing Doom on a softcore RISC-V?

Supply connection