Project IceStorm: open-source toolchain for Lattice iCE40 FPGAs(clifford.at)
clifford.at
Project IceStorm: open-source toolchain for Lattice iCE40 FPGAs
http://www.clifford.at/icestorm/
14 comments
I was led to this work because of the fomu [1]. Also, if you're familiar with the Precursor [2] you'll realize the second, smaller fpga inside is the iCE40 as well (which makes sense, the same people responsible for tomu/fomu are involved with the precursor).
[1] https://tomu.im/fomu.html
[2] https://www.crowdsupply.com/sutajio-kosagi/precursor
[1] https://tomu.im/fomu.html
[2] https://www.crowdsupply.com/sutajio-kosagi/precursor
Despite the last entry on the linked page being in 2018, the source repository shows that it is an active project.
https://github.com/YosysHQ/icestorm
From memory (simple?) VHDL is supported by using gHDL as a synthesis engine, the output of which can feed into the yosys/icestorm tool chain?
https://ghdl.github.io/ghdl/using/Synthesis.html
https://github.com/ghdl/ghdl-yosys-plugin
https://github.com/YosysHQ/icestorm
From memory (simple?) VHDL is supported by using gHDL as a synthesis engine, the output of which can feed into the yosys/icestorm tool chain?
https://ghdl.github.io/ghdl/using/Synthesis.html
https://github.com/ghdl/ghdl-yosys-plugin
Seems this page hasn't been updated in a while. People interested in open source FPGA toolchains might be better off starting at https://symbiflow.github.io/ which is the umbrella project (of which icestorm is a part), and is more up to date.
The current project is known as SymbiFlow[1][2], it includes IceStorm and many other things.
[1] https://symbiflow.github.io/
[2] https://github.com/SymbiFlow/
[1] https://symbiflow.github.io/
[2] https://github.com/SymbiFlow/
Around 15 years ago, the micro controller world was as proprietary as the FPGA is today. Arduino won. We're fighting the same battle this time and I hope we'll win again.
The experience of a toolchain actually working correctly and not crashing all the time will be a disorienting experience for people coming from the proprietary FPGA toolchains.
I've been following the IceStorm project for a while and it's some really impressive work. Now if only we could get a decent open source SystemVerilog simulator to go along with it. As someone who works in the ASIC design world, the thing that makes my side projects die out is usually the state of the open source simulation tools. I have tried to use both Verilator and Icarus, and both have so many limitations and quirks beyond what I'm used to with the commercial tools gave up on them.
I keep telling myself I need to dig into their source code and start fixing problems, but going from user to developer on these kinds of tools is a big jump.
I keep telling myself I need to dig into their source code and start fixing problems, but going from user to developer on these kinds of tools is a big jump.
Claire Wolf is fucking brilliant!
P.S. formal verification is like crack when you get your first try, be wary...
P.S. formal verification is like crack when you get your first try, be wary...
She really is a marvelous hacker! Great to see how far she's taken IceStorm, but my favourite project of hers is still OpenSCAD .. some kind of madness went on there, that turned beautiful.
I learned the FPGA ropes by making (from scratch, reinventing many wheels) a fast interface between dbus (TI calculator link port) and a standard serial port in Verilog. It is dramatically faster than every other "link cable" available.[1]
Thanks to IceStorm/yosys/nextpnr, I never had to touch a proprietary tool to do this.
There's now very cheap, OSHW development boards to get started with[2].
[1] https://github.com/rvalles/dbus_ti_link_uart_verilog
[2] https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards
Thanks to IceStorm/yosys/nextpnr, I never had to touch a proprietary tool to do this.
There's now very cheap, OSHW development boards to get started with[2].
[1] https://github.com/rvalles/dbus_ti_link_uart_verilog
[2] https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards
I played around with Risc-V on this platform. Super easy and fun.
It's fantastic having an open-source toolchain! It's why I chose the Lattice iCE40, and perhaps what got me over the line to even try FPGA development; the closed proprietary tools are very off-putting to new starters. I had previously dabbled with a Xilinx FPGA dev board, but spent most of my time battling the giant Xilinx ISE toolchain.
Big thanks to Claire Wolf for creating IceStorm and making FPGA dev more accessible to software engineering types like me.
Aside (cc: dang?) I think http://bygone.clairexen.net/icestorm/ is the newer/better canonical URL for IceStorm, since the creator changed their name, as linked to from their projects page at https://www.clairexen.net/projects and mentioned at the bottom of the current http://www.clifford.at/icestorm/ page.