Lecture: SymbiFlow - Finally the GCC of FPGAs!
A fully FOSS, Verilog to bitstream, timing driven, cross FPGA, usable toolchain.
The SymbiFlow project aims to be the "GCC of FPGAs" - a fully open source toolchain supporting, multiple FPGAs from different vendors. Allowing compilation from Verilog to bitstream without touching vendor provided tools, it includes support for large modern FPGAs like the Lattice ECP5 and Xilinx 7 series. These FPGAs can be used for things previously out of reach of FOSS tools, things like high resolution video and many gigabit networking. We have also documented the FPGA bitstreams to allow other new tools and a process for replicating this effort on new types of FPGAs!
The SymbiFlow project aims to be the "GCC of FPGAs" - a fully open source toolchain supporting multiple FPGAs from multiple different vendors. FPGAs have been around since 1980s but most have previously require getting giant closed source proprietary black boxes from the FPGA vendor (10 gigabytes or more!). Thanks to SymbiFlow this is no longer the case!
Like the previous IceStorm efforts, SymbiFlow includes both documentation of FPGA bitstreams and a workingtoolchain for compiling Verilog into these bitstreams. Unlike previous efforts, this new toolchain supports industry standard timing driven place, and route and significantly larger designs. This makes SymbiFlow a big change over the previous Project IceStorm effort and enables support for large, modern FPGAs that can be used for things like high resolution video and many gigabit networking.
This presentation will give you an update on the current status of the project. What currently works, the future roadmap and how you can help with the project and how to expand the number of supported FPGAs even further.
Currently SymbiFlow is supporting the Lattice iCE40 plus two modern, capable and popular FPGAs architectures - the Lattice ECP5 and Xilinx 7 Series. The project has also gone to an effort to provide a well documented process for understanding FPGA bitstreams. This provides a clear pathway for new contributors to extend the tooling to support even more FPGAs!
Come find out about how a small group are changing the world of FPGA development!
Due to their reconfigurable nature, FPGAs make hardware problems into software problems and enable anyone to building custom integrated circuits. This means you could create your ideal microcontroller, not what some manufacturer thinks you want. You can have the exact right set of peripherals including as many SPI, I2C or CAN as you want!
Previously developing for FPGAs has require getting giant closed source proprietary black boxes from the FPGA vendor (10 gigabytes or more!). This has strongly hampered their adoption and reduced them to niche use cases. However, with the ending of Moore's law and things like RISC-V, FPGAs have a strong role to play in enabling open source communities to participate in the explosion of new hardware design. They also enable us to apply the high speed of innovation and security we expect from an open source software.
Tim 'mithro' Ansell is the founder of TimVideos.He is known for having to many projects including hardware like the HDMI2USB.tv, I'm Tomu and many more! Through this frustration with FPGA toolchains while developing these projects he ended up being heavily involved with the development of the SymbiFlow project.