UCLA engineer Ryan Jacobs has designed a cloud-based development platform for FPGAs known as WebFPGA, which allows users to rapidly program compatible FPGA boards using a toolchain that incorporates the WebUSB API. All that’s needed for programming is a modern browser, such as Chrome or Opera; however, those are the only two supported at this point, but is expected to expand to others in the future.
“We aim to completely revamp the digital logic development experience. Our cloud-based toolchain performs synthesis on our backend, forwarding the logs and final bitstream to the client for flashing. Local CPU expenditure is zero. WebFPGA is a remote wrapper around these powerful and complex toolchains. Simply feed it your hardware description in Verilog source files and about a minute later it will return a synthesized bitstream, ready for flashing! (VHDL will be supported in the future).”
The WebFPGA platform includes a standalone “FPGA device” development board outfitted with a Lattice iCE40UP5K that packs 5280 logic cells, 1Mb of SRAM, 120Kb of Block RAM, hardened SPI/I2C macros, a 10KHz and 48MHz oscillator, and 39 IOs (32 accessible). It also features an STM32F04 series MCU with 32K Flash/6K RAM, 16Mb shared Flash, a WebUSB interface, UART, SPI, I2C, a NeoPixel RGB LED, a single-color LED, a precision clock oscillator, a user-defined button, and a reset button.
Jacobs is currently crowdfunding the WebFPGA board on Kickstarter with pledges starting at $29 , and $59 for a kit version that includes several add-on extras — an audio DAC, LED matrix board, joystick and switch array board, 7-segmented display, and an RGB LED strip board.