FPGA Builds
RadBuild models FPGA work as graph systems. A project can contain one FPGA system or an FPGA system that feeds Linux, firmware, software, package, and deployment systems.
RadBuild 0.2.2-beta.1 supports both vendor and open-source FPGA flows:
fpga.vivadothrough Xilinx Vivado.fpga.litexthrough the existing LiteX provider path.fpga.ecp5through OSS CAD Suite, currently focused on the Colorlight i9
ECP5 45F template.
Minimal Vivado System
{
"radbuild_schema": "2.0",
"radbuild_version": "0.2.2-beta.1",
"project_name": "example-fpga",
"systems": [
{
"id": "vivado",
"type": "fpga.vivado",
"provider": "vivado",
"depends_on": [],
"config": {
"project_name": "example_hw",
"part_number": "xc7a35tcsg324-1",
"version": "2024.1"
}
}
],
"connections": [],
"artifacts": [],
"deploy": [],
"packages": {}
}
Commands
radbuild project validate --settings settings.json
radbuild graph --settings settings.json --json
radbuild build fpga --settings settings.json --dry-run --json-events
Expected dry-run output:
{"event":"build_started","systems":1}
{"event":"system_planned","system":"vivado","type":"fpga.vivado"}
{"event":"build_finished","status":"dry-run"}
Generated Evidence
RadBuild writes build metadata under .radmeta/, including artifact manifests and JSON event streams suitable for IDE integration.
Minimal ECP5 System
The ECP5 provider uses OSS CAD Suite for GHDL/Yosys/nextpnr/ecppack. The first packaged template targets the Colorlight i9 v7.2:
radbuild project create ./workspace \
--non-interactive \
--template fpga-ecp5-colorlight-i9 \
--project-name colorlight-i9-smoke
radbuild project validate --settings ./workspace/colorlight-i9-smoke/settings.json
radbuild build fpga --settings ./workspace/colorlight-i9-smoke/settings.json --system colorlight-i9-ecp5
See ECP5 OSS CAD Suite Flow for setup and settings.