What I found really interesting about the TinyFPGA B2 board is that they managed to avoid the USB tax (no FTDI or other USB chip) while still supporting USB bootstrapping: they have a minimal USB core in the ICE40 FPGA instead!
So they boot a USB enabled bitstream that checks whether or not a USB host is connected. If not, they use the WARMBOOT feature of the ICE40 to boot a different bitstream with the actual design. Otherwise they have a very simple protocol to flash the SPI PROM over USB.
It’s not nearly as flexible, of course, because you can’t use that USB core in your design without the cost of all the logic elements, and you still pay the SPI flash tax, but I love how clever it is.
They have a TinyFPGA BX now on crowdfunding.com. I ordered one, because you can never have enough FPGA and microcontroller boards.