The Borg (scrambled acronym for Bring yer Own GRaphics) project aims to establish the complete foundational workflow for an open-source GPU using entirely free and open Electronic Design Automation (EDA) tools. Recognizing that full GPU development is highly complex, the initiative capitalizes on recent advances in low-cost chip manufacturing to make individual tape-outs feasible for small teams. The initial, focused objective is to successfully design, verify, and manufacture a tiny floating-point unit (FPU)—the central component of modern graphics processors—by validating every step of the pipeline, from high-level design and FPGA prototyping to the final RTL-to-GDS-flow. This strategic focus proves the viability of an open-source manufacturing and development pathway for future graphics hardware.
The prototype based on Firesim can be found in the pre-NLnet repository.
This is a tiny floating point peripheral within the TinyQV SOC.
git clone --recurse-submodules git@github.com:gonsolo/borg_tinyqv.gitcd borg_tinyqvmake nix_peripheral_test
This runs tests of the Borg peripheral at the Scala/Chisel and cocotb levels.
Milestone 1b: Add cocotb tests for the FPU unit and integrate it into TinyQV, a small RISC-V processor written for Tinytapeout.
make nix_tt_test
This runs tests of the actual SOC at the cocotb level.
cd fpgamake burn- In another terminal:
tio -b 115200 /dev/ttyACM1 make run