Software & Tools
Open FPGA Stack (OFS)
Customize unique FPGA-based boards and platforms with the Open FPGA Stack (OFS).
Overview
Open FPGA Stack (OFS) is a scalable, open-source hardware and software infrastructure delivered via git repositories that provides an efficient approach to customize your own unique acceleration platform. OFS is being used by Altera and select third-party platforms, featuring our Agilex® FPGAs, Stratix® 10 FPGAs, and future FPGA families.
Hardware developers can test OFS on the reference platforms before porting to their own boards. Application developers can use our third-party catalog of OFS-enabled boards to select an option and get started.
Access the Open Source Repositories on GitHub
OFS is the first complete hardware and software infrastructure that is fully open-sourced and comprises composable hardware code and upstreamed kernel code to enable a collaborative community of FPGA developers. All source code and technical documentation is open source in the OFS GitHub and enables development using the Agilex FPGA and Stratix 10 FPGA.
OFS Deployable Solutions
| Partner | Description |
|---|---|
| Hitek | Hitek Systems develops high-performance PCIe acceleration boards with Agilex 7 FPGAs. |
| SigmaX.ai | SigmaX.ai deploys a real-time data management solution using FPGA-based boards and fully open-source code. |
| SAP | SAP prototypes a containerized workload using OFS. |
| Flyslice | Flyslice offers high-performance FPGA acceleration cards developed using OFS. |
| EmbedWay | EmbedWay accelerates performance of traditional network security applications using OFS. |
| Artiza Networks | Artiza offers PCIe-based SmartNICs addressing vRAN, NFV, and MEC acceleration. |
How Does Open FPGA Stack (OFS) Make My Project Easier?
| Board Developers | Software Developers | Application Developers |
|---|---|---|
| Use the open source, modular infrastructure to quickly create application-specific FPGA Interface Managers (FIMs) tailored to the differentiated needs of their boards and target workloads. | Leverage upstreamed Linux kernel drivers along with our open-source Open Programmable Acceleration Engine (OPAE) software development kit to accelerate integration into common application frameworks, enabling cross-platform portability and hardware manage | Tap into a proven infrastructure and expanding ecosystem to achieve greater portability and return on investment for their workloads across a growing number of OFS-enabled platforms and workloads. |
OFS Features by Developer Role
| OFS Features | Board Developer | Software Developer | Application Developer |
|---|---|---|---|
| Inherit an ecosystem of OFS-based boards, workloads, and OS distributions | ✓ | ✓ | ✓ |
| Accelerate software development with industry-standard Arm Advanced Microcontroller Bus Architecture (AMBA*) AXI- and Avalon-compliant bus interfaces, workload examples, and simulation | ✓ | ✓ | |
| Accelerate workload development with industry-standard Arm AMBA AXI- and Avalon-compliant bus interfaces, workload examples, and simulation | ✓ | ✓ | |
| Accelerate your verification and validation with automated build scripts, a Unified Verification Methodology (UVM) environment and a suite of unit test cases | ✓ | ||
| Customize your FPGA design (FIM) with modular and composable source code | ✓ | ||
| Leverage best practices through reference board schematics, schematic layouts, board management, and security | ✓ | ✓ | |
| Get started quickly and choose from multiple OFS-based development boards and design entry methods (oneAPI) | ✓ | ✓ | ✓ |
Common Questions
The FIM provides platform interfaces and infrastructure. The workload implements application-specific acceleration using the platform's defined interfaces.
Port OFS when its modular infrastructure and software ecosystem fit the board. Check required interfaces and supported device resources first.
OFS uses Linux drivers for device access and OPAE software for application-facing management and acceleration integration.
Check PCIe enumeration, loaded drivers, programmed platform image and software compatibility before debugging the application workload.
Adapt to each board's supported platform interfaces and release. Source reuse does not guarantee an unchanged bitstream will run across devices.