There are also FPGA emulated versions.
56 karma · joined March 15, 2013
There are also FPGA emulated versions.
Think of it like OHS Park for silicon!
You provide a 20mm2 design in the open source GF180MCU technology and you get back 1,000 parts. You can used an existing template or build something completely yourself with either open source or proprietary tooling (no required pad ring or management CPU).
There are a huge number of designs from Tiny Tapeout which are all public - see https://tinytapeout.com/runs/
The designs are still more in the MCU size, but you have to start somewhere!
The Google open MPW program also had 10 runs with 40 projects published at http://foss-eda-tools.googlesource.com/third_party/shuttle/ -- All the submissions had to be open source and there were 1000+ of those. I did try pitching to multiple Google Research groups that continuing the open MPW funding would grow the available designs which have been manufactured and that was useful for AI training but didn't get any bites.
The now defunct Efabless also ran a number of challenges in this space which got pretty good results, see https://efabless.com/challenges
Also take a look at the Open Source EDA BOF from the DAC conference - https://open-source-eda-birds-of-a-feather.github.io/
- The Fomu (FPGA Tomu) - https://fomu.im/ and https://workshop.fomu.im/
- The Qomu (ARM+eFPGA Tomu) - https://tomu.im/qomu.html
- The Somu (Secure Tomu) - https://www.crowdsupply.com/solokeys/somu
The Fomu is also a great RISC-V MCU prototyping platform.
Many configurations of VexRISCV work fine without using the DSP blocks (and has been working for 2+ years), so not sure that is relevant.
You can generally do quite a bit of parallelism, see the quad-core LiteX+VexRISCV solution at <https://antmicro.com/blog/2020/05/multicore-vex-in-litex/>.
The best place to see what works is the F4PGA examples documentation at <https://f4pga-examples.readthedocs.io/en/latest/building-exa...>.
If you want to start with fully open source tools on a Xilinx 7 series FPGA the best option is the Digilent Arty A35T board <https://digilent.com/shop/arty-a7-artix-7-fpga-development-b...>.
The "new" FPGA companies like GowinSemi and RapidSilicon are also creating some pretty cool parts.
The interchange format includes a computer readable description of the FPGA which tells the tooling what is available inside the FPGA and how they can be connected.
Two examples that I have been loosely involved with; * Google's CFU playground which is all about profiling and adding small number of new OpCodes to build an accelerator for a specific ML model (http://cfu-playground.rtfd.io/). * The Fomu workshop (https://workshop.fomu.im) which walks though treating an FPGA like an embedded MCU where you can then modify the MCU!
I'd be interested in paying for the service but not willing to run closed source software locally and then send all my traffic to it.
On the developer tooling side, there is https://github.com/google/verible for linting, code formatting and code indexing.
On the actual compilation side with there are https://github.com/alainmarcel/Surelog and https://github.com/alainmarcel/UHDM which are then being coupled with open source tools like Yosys to allow targeting Xilinx 7 Series and Lattice ECP5 FPGA ICs with fully open source flows using fully open source FPGA tools like symbiflow.github.io
Some friends at Antmicro developed a little tool called "tuttest" (https://github.com/antmicro/tuttest) designed to enable you to run your code examples on CI. It still needs a lot of work but we are starting to use it in a lot of places. The tool in the future could potentially use a docable compatible metadata for the best of both worlds!
Doing plastics is well outside my skill set, so it was awesome to see him do that! xobs posted about the case here -> https://www.crowdsupply.com/sutajio-kosagi/tomu/updates/fina...
IIRC GnuK uses the chopstx library which has already been ported (see https://github.com/im-tomu/chopstx). Not sure what else would need to be done?