Good comments all, thanks for the input, and I welcome the questions as well... might result in something useful for all of us after all.
My little experience (feel free to correct me where I'm wrong):
- Symbiflow is a superset of Yosis, nextpnr for Lattice FPGAs and VPR for Xilinx routing. Project Trellis and X-Ray are the bitstream generators.
- At this stage it is possible to generate a bitstream and load it onto the FPGAs using JTAG (I'm using the Arty-7 board JTAG). I have not yet figured out how to load it in flash! But I think that's a matter of time.
- Some Lattice FPGAs are supported. As of December 2019 I'd say most of the functions and blocks are supported
- Xilinx FPGAs, I believe Ultrascale and Artix are well supported (bar the DSP blocks I believe), not sure about Spartan 7. There was less support for older devices.
- Quicklogic FPGAs are completely open source and work together with Symbiflow.
- For me, the best way to get started was to go to the
https://symbiflow-examples.readthedocs.io/en/latest/. Less technical details, but more of a how to get started page. Really helpful. All projects I've tried have generated bitstreams.
- All these tools run on Linux, apparently Windows support is a bit meh...
Like I said, I'm missing a way to permanently flash the bitstream, a decent-ish editor (I'll try VS-Code just for kicks), and a way to figure out how to write firmware once the controller is on the FPGA and where to store it. It's a long term project for me, so I'm taking it a step at a time.
There are a bunch of good videos on YouTube where Tim "Mithro" Ansell explain the concept of Symbiflow and how far it has gone. Last one was from 2019, I haven't seen any updates yet. And yes, the Symbiflow main page seems a bit difficult to navigate. Seems to be made more for software developers that actual users.
Cheers,
Alberto