FPGA on FreeBSD
Welcome to the FPGA on FreeBSD WIKI! You will find resources, information, hints and references that should be useful to enthusiasts and developers of Field Programmable Gate Array (FPGA) devices.
Vendors
Below you will find list of FPGA vendors:
Intel (acquired Altera) / Intel at GitHub
Open-Source-Cores
List below presents Open-Source-Hardware IP Cores that you can implement on your own FPGA devices:
https://riscv.org/RISC-V is a free and open ISA enabling a new era of processor innovation through open standard collaboration.The RISC-V ISA delivers a new level of free, extensible software and hardware freedom on architecture, paving the way for the next 50 years of computing design and innovation.
Open-Source-Hardware
CrowdSupply is the hub for Open-Source-Hardware devices.
TOMU, FOMU and the QUOMU are tiny programmable FPGA devices that fits inside a USB port that is compatible with a fully open source chain and capable of running Python on a RISC-V core or the whole RTOS like ZEPHYR RTOS.
TinyFPGA boards are a new series of low-cost, open-source FPGA boards in a tiny form factor. Solder on pins for use in a breadboard or PCB socket; or solder connectors, wires, and components directly onto the board.
iCEBreaker is the OpenSource iCE40 FPGA development board designed for teachers and students.
https://www.crowdsupply.com/qwerty-embedded-design/beaglewire is a completely open source FPGA development board. Unlike most other FPGA dev boards, the BeagleWire’s hardware, software, and FPGA toolchain are completely open source. The BeagleWire is a Beaglebone compatible cape based on the Lattice iCE40HX FPGA.
Spartan Edge Accelerator Board is the OpenSource Xilinx Spartan-7 and ESP32 multimedia development kit.
MicroSemi HiFive Unleashed Expansion Board adds PCIe root port capability to the HiFive Unleashed board, enabling you to create a RISC-V PC. Use it to add HDD’s, SSDs, audio cards, network adapters, and/or graphics cards. You can port your Linux distro to this platform along with all of your favorite packages. Accelerate software development with an out-of-the-box solution.
SDK
Open-Source
List below presents Open-Source projects that are not yet ported to FreeBSD but stands as strong alternative to closed-source vendor utilities:
SymbiFlow is a fully Open-Source toolchain for the development of FPGAs of multiple vendors. Currently, it targets the Xilinx 7-Series, Lattice iCE40, Lattice ECP5 FPGAs, QuickLogic EOS S3 and is gradually being expanded to provide a comprehensive end-to-end FPGA synthesis flow.
Project X-Ray documents the Xilinx 7-Series FPGA architecture to enable development of open-source tools. Our goal is to provide sufficient information to develop a free and open Verilog to bitstream toolchain for these devices.
Project ICE Storm aims at documenting the bitstream format of Lattice iCE40 FPGAs and providing simple tools for analyzing and creating bitstream files.
Project Trellis enables a fully open-source flow for ECP5 FPGAs using Yosys for Verilog synthesis and nextpnr for place and route. Project Trellis itself provides the device database and tools for bitstream creation.
YoSysHQ is the new home for the team maintaining Yosys and the related Open Source EDA projects.
Closed-Source
List below presents closed-source vendor license restricted utilities that may be also used for free in a restricted manner. These utilities are provided for Windows and Linux but does not fully work on FreeBSD using Linux Compatibility Layer. It may provide useful shell utilities though:
Xilinx Vivado is now the unified installer for all known Xilinx devices and uilities (inluding historical ISE). It requires over 50GB+ of disk space as it contains all utilities, compilers, libraries, Python and Java runtime. Installer and Shell utilities run on FreeBSD but no GUI functionality works. Will not provide native build for FreeBSD.
Lattice Radiant is a set of tools for Certus-NX, CrossLink-NX, iCE40 UltraPlus devices. Installer does not work on FreeBSD. Will not provide native build for FreeBSD.
Lattice iCEcube2 is a set of tools for iCE40 UltraPlus, iCE40 Ultra/UltraLite, iCE40 LP/HX/LM devices. Installer and Shell utilities run on FreeBSD but no GUI functionality works. Will not provide native build for FreeBSD. This utility is obsoleted by Radiant.
Lattice Diamond is a set of tools for CrossLinkPlus, CrossLink, ECP5/ECP5-5G, LatticeECP3, Mach-NX, MachXO3D, MachXO3, MachXO2, LatticeXP2 devices. Installer and Shell utilities run on FreeBSD but no GUI functionality works. Will not provide native build for FreeBSD.
Projects
/FreeBSD_Xilinx historical page dedicated to running Linux Xilinx ISE on FreeBSD.